Update problem : Broken Forum

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 Likes

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

1 Like

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 Like

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 Likes

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 Like

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 Like

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 Like
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 Like

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?