مشكلة التحديث: المنتدى معطل

Hi,

I have a problem with last update. My forum is broken
I have this message on SSH.

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 2472 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
3d52a3f170f714bf580dcd30effbf9306fbf6e0ef1f786cf9dd4e326b066e6a4
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

Do you have idea where is the problem and how fixed ?

Thanks you very much

إعجابَين (2)

Could you scroll up and check for more specific errors, and see what it says?

إعجاب واحد (1)

Hi,

here is a pastebin of the whole process. There are obviously some errors with postgresql even if I am not sure that the problem comes from there

https://pastebin.com/nqLWDRAC

How did you install? What postgres are you using?

Caused by:
PG::InsufficientPrivilege: ERROR:  permission denied to create extension "unaccent"
HINT:  Must be superuser to create this extension.
إعجاب واحد (1)

I logged with root.
I can’t have better privileges :slight_smile:

I don’t know for postgres
“The program ‘pg_config’ can be found in the following packages:”

The forum is online.
I restart the server.

The first problem is fixed but i have a second.

I have this error “500 Internal Server Error” when i create or respond post

Do you have idea how fixed ?

Hi,

I found this error on the log file

 ActiveRecord::StatementInvalid (PG::InFailedSqlTransaction: ERROR: current transaction is aborted, commands ignored until end of transaction block ) app/models/post.rb:973:in `block in link_post_uplo 
ActiveRecord::StatementInvalid (PG::InFailedSqlTransaction: ERROR:  current transaction is aborted, commands ignored until end of transaction block
)
app/models/post.rb:973:in `block in link_post_uploads'
app/models/post.rb:972:in `link_post_uploads'
lib/post_creator.rb:217:in `block in create'
lib/post_creator.rb:409:in `block (2 levels) in transaction'
lib/post_creator.rb:408:in `block in transaction'
lib/distributed_mutex.rb:33:in `block in synchronize'
lib/distributed_mutex.rb:29:in `synchronize'
lib/distributed_mutex.rb:29:in `synchronize'
lib/distributed_mutex.rb:14:in `synchronize'
lib/post_creator.rb:407:in `transaction'
lib/post_creator.rb:205:in `create'
lib/new_post_manager.rb:285:in `perform_create_post'
lib/new_post_manager.rb:223:in `perform'
app/controllers/posts_controller.rb:193:in `create'
app/controllers/application_controller.rb:400:in `block in with_resolved_locale'
app/controllers/application_controller.rb:400:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:358:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:202:in `call'

Do you have idea what is the problem ?

Is this a standard install?

yes,

i use the forum since 6 years.

The last version installed is 2.9.0.beta3

Do you have any plugins installed? Maybe post your app.yml?

What is your postgres version? Just do launcher enter app and then type psql -V

إعجابَين (2)

Hi,

I test but the original problem is back

Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 2458 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
45d3621c802f025ef80ad34e77ec3318a48677b0de0134210120ef7690b6e6f4
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

I think there was a problem when updating it because there was not enough space on the hard disk. I freed up some space and now I have 67% elibre. However, there is an existing problem, but which one?

The program ‘psql’ is currently not installed.
do i have to install it?

Did you do

  launcher enter app

Before the psql command?

إعجاب واحد (1)

It’s same,
I try install but i have this message

E: The package libperl5.22 needs to be reinstalled, but I can't find an archive for it.

I have taken another look at your pastebin logfile. It says Postgres 10.
Are you sure this is a standard setup which has been installed according to discourse/INSTALL-cloud.md at main · discourse/discourse · GitHub ?

إعجاب واحد (1)

I’ve said it before, the forum has been around for many years and I’ve never had any major problems. Generally, a rebuild or update was enough to get everything going again.
Yes, it’s normal installation

My last attempt.

Can you please do

cd /var/discourse
./launcher enter app
psql -V

and copy this entirely into a reply, including the commands and output?

إعجاب واحد (1)
psql (PostgreSQL) 10.19 (Debian 10.19-1.pgdg110+1)

Ok, great. That’s a different result than last time.
So now please do the following

cd /var/discourse
git pull
./launcher rebuild app

and if you get errors please post the ENTIRE output, including your commands, in a reply (or on Pastebin)

إعجاب واحد (1)

Interestingly I’ve experienced either the same or similar error. Running on Discourse 2.9.0.beta2 and tried to update to ß3. I’ve disabled all plugins except docker_manager for ./launcher rebuild app. Running on an external PGSQL db at version:

$ psql --version
psql (PostgreSQL) 14.1 (Ubuntu 14.1-1.pgdg18.04+1)

I can restart the container via ./launcher restart app following the failure, but when replies return a 500 error.

The end error during rebuild/upgrade is:

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 658 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.

The actual meaningful errors above may be found here: https://p153.p0.n0.cdn.getcloudapp.com/items/jkuvPekN/feb38236-3b84-410e-8fac-d1864d02ba69.txt?v=eb1d15e029cb07a73300d8ec07318876

I’m having a hard time believing that this is an actual permission issue and I’m hesitant to give the Discourse DB use super user/root permission to pgsql.

Any further thoughts on what could be going on here with such a recent breakage?