After Update, bootstrap failed due to missing Celluloid

Hi all,
I’ve noticed that Discourse isn’t starting again after trying to update via sudo ./launcher rebuild app. Before there was an 404 error for some module (I guess some ruby package), so I’ve decided to update via console. Now, my server has stopped working at all… :frowning:

Here are the last couple of lines:

HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=htmlentities,nokogumbo,bourne,redis-namespace,connection_pool,sinatra,slim,sprockets-sass,compass,rack-protection,shotgun,win32-process,simplecov-html,docile,lockfile,spork,libv8,ref,eventmachine-le,http_parser.rb,preforker,therubyracer,unf_ext,kgio,raindrops
HTTP 200 OK
Query List: ["celluloid-gems", "faraday-middleware"]
Query Gemcutter Dependency Endpoint API: celluloid-gems,faraday-middleware
HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=celluloid-gems,faraday-middleware
HTTP 200 OK
Query List: []
Fetching dependency metadata from https://rubygems.org/
Query List: ["celluloid-gems", "faraday-middleware"]
Query Gemcutter Dependency Endpoint API: celluloid-gems,faraday-middleware
HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=celluloid-gems,faraday-middleware
HTTP 200 OK
Query List: []
Could not find celluloid-0.16.1 in any of the sources

I, [2015-08-19T12:37:58.935297 #39]  INFO -- : Terminating async processes
I, [2015-08-19T12:37:58.935394 #39]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/9.3/bin/postmaster -D /etc/postgresql/9.3/main pid: 68
I, [2015-08-19T12:37:58.935554 #39]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 196
2015-08-19 12:37:58 UTC [68-2] LOG:  received fast shutdown request
2015-08-19 12:37:58 UTC [68-3] LOG:  aborting any active transactions
2015-08-19 12:37:58 UTC [75-2] LOG:  autovacuum launcher shutting down
2015-08-19 12:37:58 UTC [72-1] LOG:  shutting down
196:signal-handler (1439987878) Received SIGTERM scheduling shutdown...
2015-08-19 12:37:58 UTC [72-2] LOG:  database system is shut down
196:M 19 Aug 12:37:59.015 # User requested shutdown...
196:M 19 Aug 12:37:59.016 * Saving the final RDB snapshot before exiting.
196:M 19 Aug 12:37:59.154 * DB saved on disk
196:M 19 Aug 12:37:59.154 # Redis is now ready to exit, bye bye...


FAILED
--------------------
RuntimeError: cd /var/www/discourse && su discourse -c 'bundle install --deployment --verbose --without test --without development' failed with return #<Process::Status: pid 348 exit 7>
Location of failure: /pups/lib/pups/exec_command.rb:105:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle install --deployment --verbose --without test --without development'", "su discourse -c 'bundle exec rake db:migrate'", "su discourse -c 'bundle exec rake assets:precompile'"]}
e04a05fbeedb9c0f00f7e34db6cfd2cf3abda127943a44e673c46e67bc09fcf0
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one
ubuntu@ip-172-31-23-100:/var/discourse$ 

What did I wrong???

Any help is highly appreciated…

This might be related:

Seems to be the same, or a very similar error as the one reported a little while ago.

Thanks Stephanie!

Indeed, seems so. I’ve tried to rebuild discourse in the mean while about 5 times, but the error is still present. Let’s see who could fix it and why the new versions are necessary.

I’m receiving this exact same error. Any updates?

Yeah I’m seeing the exact same error when bootstrapping as well.

I’m quite sure the devs are already looking into it. Please be patient…

Same here but just to add a bit more info and maybe help people who now have their server down…

When, after the failure, I do:
# ./launcher start app
# ./launcher enter app

and then:
cd /var/www/discourse && su discourse -c ‘bundle install --deployment --verbose --without test --without development’

I am NOT getting the celluloid error anymore and my server goes up.

Same issue on a fresh Ubuntu 14.04 install.

When trying to apply @jessp01 suggestions, the following happens:

# ./launcher start app
+ /usr/bin/docker run -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=3 -e UNICORN_SIDEKIQS=1 -e RUBY_GC_MALLOC_LIMIT=40000000 -e RUBY_HEAP_MIN_SLOTS=800000 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e HOME=/root -e DISCOURSE_DEVELOPER_EMAILS=jivan.roquet@uptilab.com -e DISCOURSE_HOSTNAME=discuss.uptilab.com -e DISCOURSE_SMTP_ADDRESS=smtp.mandrillapp.com -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=jivan.roquet@uptilab.com -e DISCOURSE_SMTP_PASSWORD=Nufe6_2f9LsorzwLNP5v2g -h jeff-app -e DOCKER_HOST_IP=172.17.42.1 --name app -t -p 80:80 -p 2222:22 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log local_discourse/app /sbin/boot
Unable to find image 'local_discourse/app:latest' locally
Pulling repository docker.io/local_discourse/app
Error: image local_discourse/app:latest not found

# ./launcher enter app
Error response from daemon: no such id: app

cd /var/www/discourse && su discourse -c 'bundle install --deployment --verbose --without test --without development'
bash: cd: /var/www/discourse: No such file or directory

You are failing on the first command so no point trying the next two…
Maybe your image name is not ‘app’? how did you run the rebuild command? i.e, what was the last argument?
./launcher rebuild ?

@neil found out they yanked that gem from rubygems :frowning: Probably a security issue. We’re investigating…

4 Likes

I’ve changed our Gemfile.lock so it doesn’t reference the deleted 1.16.1 release, and bundler seems to work again.

https://github.com/discourse/discourse/commit/113e8d62bac17e65c93e5535af45d3a1d2879d86

5 Likes

I confirm that it solved my issue.

Thanks!