Deploying grails application to Heroku - grails

I'm trying to deploy Grails application to Heroku for the first time , and it's successfully deployed as per their log :
|Done creating WAR target/PatientBoards-0.1.war
-----> No server directory found. Adding webapp-runner 7.0.57.2 automatically.
-----> Discovering process types
Procfile declares types -> (none)
Default types for buildpack -> web
-----> Compressing... done, 132.4MB
-----> Launching... done, v5
https://patientboards.herokuapp.com/ deployed to Heroku
But when I go to https://patientboards.herokuapp.com the page is blank ! although i tried it locally and the application is working fine .
i found this in the log:
2015-11-24T23:22:38.752616+00:00 app[web.1]: INFO: Illegal access: this web application instance has been stopped already. Could not load net.sf.ehcache.store.disk.DiskStore$KeySet. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
2015-11-24T23:22:38.752617+00:00 app[web.1]: java.lang.IllegalStateException
2015-11-24T23:22:38.752618+00:00 app[web.1]: at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1612)
2015-11-24T23:22:38.752618+00:00 app[web.1]: at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
2015-11-24T23:22:38.752619+00:00 app[web.1]: at net.sf.ehcache.store.disk.DiskStore.keySet(DiskStore.java:610)
2015-11-24T23:22:38.752624+00:00 app[web.1]: at net.sf.ehcache.store.disk.DiskStorageFactory$DiskExpiryTask.run(DiskStorageFactory.java:817)
2015-11-24T23:22:38.752625+00:00 app[web.1]: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
2015-11-24T23:22:38.752647+00:00 app[web.1]: at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
2015-11-24T23:22:38.752648+00:00 app[web.1]: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
2015-11-24T23:22:38.752648+00:00 app[web.1]: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
2015-11-24T23:22:38.752649+00:00 app[web.1]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
2015-11-24T23:22:38.752649+00:00 app[web.1]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
2015-11-24T23:22:38.752650+00:00 app[web.1]: at java.lang.Thread.run(Thread.java:745)
2015-11-24T23:22:38.752651+00:00 app[web.1]:
2015-11-24T23:25:38.811300+00:00 app[web.1]: Nov 24, 2015 11:25:38 PM org.apache.catalina.loader.WebappClassLoader loadClass
2015-11-24T23:25:38.811307+00:00 app[web.1]: INFO: Illegal access: this web application instance has been stopped already. Could not load net.sf.ehcache.util.concurrent.ConcurrentHashMap$ValueIterator. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
2015-11-24T23:25:38.811309+00:00 app[web.1]: java.lang.IllegalStateException
2015-11-24T23:25:38.811310+00:00 app[web.1]: at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1612)
2015-11-24T23:25:38.811311+00:00 app[web.1]: at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
2015-11-24T23:25:38.811312+00:00 app[web.1]: at net.sf.ehcache.util.concurrent.ConcurrentHashMap$ValuesView.iterator(ConcurrentHashMap.java:3252)
2015-11-24T23:25:38.811312+00:00 app[web.1]: at net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl$1.run(ExtendedStatisticsImpl.java:104)
2015-11-24T23:25:38.811313+00:00 app[web.1]: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
2015-11-24T23:25:38.811314+00:00 app[web.1]: at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
2015-11-24T23:25:38.811315+00:00 app[web.1]: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
2015-11-24T23:25:38.811315+00:00 app[web.1]: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
2015-11-24T23:25:38.811316+00:00 app[web.1]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
2015-11-24T23:25:38.811317+00:00 app[web.1]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
2015-11-24T23:25:38.811318+00:00 app[web.1]: at java.lang.Thread.run(Thread.java:745)
2015-11-24T23:25:38.811319+00:00 app[web.1]:
2015-11-24T23:27:24.541959+00:00 heroku[router]: at=info method=GET path="/" host=patientboards.herokuapp.com request_id=264982a9-7c89-492d-bf01-0aa72639cd75 fwd="176.61.71.119" dyno=web.1 connect=0ms service=28ms status=404 bytes=128
Am I missing something ?
Thanks

Related

How to fix "Client Request Interrupted" error in Heroku (with a rails app)?

I deployed my rails app on Heroku.
When I try to create a new profile, my app crashes. My logs display a Client Request Interrupted error. You can see my logs below.
I searched this error on heroku dev center: https://devcenter.heroku.com/changelog-items/662
On this page (https://devcenter.heroku.com/changelog-items/662):
It said : "This error will be logged if the client socket was closed either in the middle of the request or before a response could be returned."
Then
"This error condition caused an H18 to be logged and the sock field could be used to differentiate between what are now H18 and H27 errors. "
H18 - Server Request Interrupted
The backend socket, belonging to your app’s web process was closed before the backend returned an HTTP response.
2019-02-05T15:53:19.905345+00:00 app[web.1]: bundler: failed to load command: puma (/app/vendor/bundle/ruby/2.5.0/bin/puma)
2019-02-05T15:53:19.905399+00:00 app[web.1]: SignalException: SIGTERM
2019-02-05T15:53:19.905401+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/launcher.rb:398:in `block in setup_signals'
2019-02-05T15:53:19.905406+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/single.rb:115:in `join'
2019-02-05T15:53:19.905407+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/single.rb:115:in `run'
2019-02-05T15:53:19.905409+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/launcher.rb:184:in `run'
2019-02-05T15:53:19.905410+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/cli.rb:78:in `run'
2019-02-05T15:53:19.905412+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/puma-3.12.0/bin/puma:10:in `<top (required)>'
2019-02-05T15:53:19.905414+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/bin/puma:23:in `load'
2019-02-05T15:53:19.905415+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/bin/puma:23:in `<top (required)>'
2019-02-05T21:33:39.526627+00:00 heroku[web.1]: Unidling
2019-02-05T21:33:53.579585+00:00 app[web.1]: Puma starting in single mode...
2019-02-05T21:33:53.579631+00:00 app[web.1]: * Version 3.12.0 (ruby 2.5.3-p105), codename: Llamas in Pajamas
2019-02-05T21:33:53.579632+00:00 app[web.1]: * Min threads: 5, max threads: 5
2019-02-05T21:33:53.579634+00:00 app[web.1]: * Environment: production
2019-02-05T21:34:00.063370+00:00 heroku[web.1]: State changed from starting to up
2019-02-05T21:33:59.640588+00:00 app[web.1]: * Listening on tcp://0.0.0.0:11397
2019-02-05T21:33:59.642173+00:00 app[web.1]: Use Ctrl-C to stop
2019-02-05T21:34:02.204235+00:00 heroku[router]: sock=client at=warning code=H27 desc="Client Request Interrupted" method=GET path="/" host=agora-challenge.herokuapp.com request_id=9d994b8b-eff4-4088-b2be-a42b14fec708 fwd="209.17.96.226" dyno=web.1 connect=1ms service=119ms status=499 bytes= protocol=https
The important part to notice is the sock=client which means that the request was interrupted at the request of the client:
2019-02-05T21:34:02.204235+00:00 heroku[router]: sock=client at=warning code=H27 desc="Client Request Interrupted" method=GET path="/" host=agora-challenge.herokuapp.com request_id=9d994b8b-eff4-4088-b2be-a42b14fec708 fwd="209.17.96.226" dyno=web.1 connect=1ms service=119ms status=499 bytes= protocol=https
I didn't understand either Heroku dev center explanations nor previous Stack Overflow questions.
Thanks a lot for your answers.

not getting what heroku logs are saying

I have deployed app on Heroku but app is not working( I got this message on browser "We're sorry, but something went wrong. If you are the application owner check the logs for more information.") when I checked log I found below message.Can anyone tell me what is the meaning of it?
Stopping all processes with SIGTERM
2018-01-20T10:54:29.710117+00:00 app[web.1]: - Gracefully stopping, waiting for requests to finish
2018-01-20T10:54:29.710722+00:00 app[web.1]: === puma shutdown: 2018-01-20 10:54:29 +0000 ===
2018-01-20T10:54:29.710724+00:00 app[web.1]: - Goodbye!
2018-01-20T10:54:29.710881+00:00 app[web.1]: Exiting
2018-01-20T10:54:29.837650+00:00 heroku[web.1]: Process exited with status 143
2018-01-20T10:54:39.660402+00:00 heroku[web.1]: Starting process with command `bin/rails server -p 38017 -e production`
2018-01-20T10:54:45.686497+00:00 app[web.1]: DEPRECATION WARNING: `config.serve_static_files` is deprecated and will be removed in Rails 5.1.
2018-01-20T10:54:45.686528+00:00 app[web.1]: Please use `config.public_file_server.enabled = true` instead.
2018-01-20T10:54:45.686586+00:00 app[web.1]: (called from block in <top (required)> at /app/config/environments/production.rb:6)
2018-01-20T10:54:47.277792+00:00 app[web.1]: => Booting Puma
2018-01-20T10:54:47.277810+00:00 app[web.1]: => Rails 5.0.6 application starting in production on http://0.0.0.0:38017
2018-01-20T10:54:47.277812+00:00 app[web.1]: => Run `rails server -h` for more startup options
2018-01-20T10:54:47.277818+00:00 app[web.1]: * Version 3.10.0 (ruby 2.3.4-p301), codename: Russell's Teapot
2018-01-20T10:54:47.277813+00:00 app[web.1]: Puma starting in single mode...
2018-01-20T10:54:47.277819+00:00 app[web.1]: * Min threads: 0, max threads: 16
2018-01-20T10:54:47.277908+00:00 app[web.1]: * Listening on tcp://0.0.0.0:38017
2018-01-20T10:54:47.277820+00:00 app[web.1]: * Environment: production
2018-01-20T10:54:47.278132+00:00 app[web.1]: Use Ctrl-C to stop
2018-01-20T10:54:47.817688+00:00 heroku[web.1]: State changed from starting to up
2018-01-20T10:56:14.896122+00:00 heroku[router]: at=info method=GET path="/" host=salty-peak-94323.herokuapp.com request_id=85b8c594-2d92-4e76-9060-01caf2307a44 fwd="45.115.104.19" dyno=web.1 connect=0ms service=268ms status=500 bytes=1735 protocol=https
2018-01-20T10:59:49.774607+00:00 heroku[router]: at=info method=GET path="/" host=salty-peak-94323.herokuapp.com request_id=d60e4280-6d74-42ff-93e4-5a47dcc3bc93 fwd="45.115.104.19" dyno=web.1 connect=0ms service=41ms status=500 bytes=1735 protocol=https
The logs says DEPRECATION WARNING: config.serve_static_files is deprecated and will be removed in Rails 5.1, Please use config.public_file_server.enabled = true instead, So try to change this to what it is saying, Although i believe it is just a warning and it should not break your app but i found a related question to this one, Here it is, Hope it helps

Heroku rails installation stopped working after month

I set up this super simple rails app about 5 month ago and it worked until lately.
But today i noticed im getting this error: "We're sorry, but something went wrong. If you are the application owner check the logs for more information."
I checked the heroku logs but i dont see any errors appart from what i assume is the daily restart:
2017-02-11T01:37:52.624288+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=url.herokuapp.com request_id=918be0b7-bf45-4111-97b8-d95450dd3507 fwd="126.7.114.122" dyno=web.1 connect=0ms service=4ms status=200 bytes=228
2017-02-11T01:38:45.926088+00:00 heroku[web.1]: Restarting
2017-02-11T01:38:45.927276+00:00 heroku[web.1]: State changed from up to starting
2017-02-11T01:38:46.437082+00:00 app[web.1]: [2017-02-11 01:38:46] FATAL SignalException: SIGTERM
2017-02-11T01:38:46.437099+00:00 app[web.1]: /app/vendor/ruby-2.2.4/lib/ruby/2.2.0/webrick/server.rb:174:in `select'
2017-02-11T01:38:46.437100+00:00 app[web.1]: /app/vendor/ruby-2.2.4/lib/ruby/2.2.0/webrick/server.rb:174:in `block in start'
2017-02-11T01:38:46.437101+00:00 app[web.1]: /app/vendor/ruby-2.2.4/lib/ruby/2.2.0/webrick/server.rb:32:in `start'
2017-02-11T01:38:46.437102+00:00 app[web.1]: /app/vendor/ruby-2.2.4/lib/ruby/2.2.0/webrick/server.rb:162:in `start'
2017-02-11T01:38:46.437103+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/rack-1.6.4/lib/rack/handler/webrick.rb:34:in `run'
2017-02-11T01:38:46.437103+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/rack-1.6.4/lib/rack/server.rb:286:in `start'
2017-02-11T01:38:46.437104+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/commands/server.rb:80:in `start'
2017-02-11T01:38:46.437105+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:80:in `block in server'
2017-02-11T01:38:46.437105+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:75:in `tap'
2017-02-11T01:38:46.437106+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:75:in `server'
2017-02-11T01:38:46.437106+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
2017-02-11T01:38:46.437107+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/commands.rb:17:in `<top (required)>'
2017-02-11T01:38:46.437108+00:00 app[web.1]: bin/rails:9:in `require'
2017-02-11T01:38:46.437109+00:00 app[web.1]: bin/rails:9:in `<main>'
2017-02-11T01:38:46.437176+00:00 app[web.1]: [2017-02-11 01:38:46] INFO going to shutdown ...
2017-02-11T01:38:46.437226+00:00 app[web.1]: [2017-02-11 01:38:46] INFO WEBrick::HTTPServer#start done.
I also took a look at my production.log file but it's weirdly empty.
I'm at a loss regarding how to trouble shoot this. any suggestion?
So, it turned out it wasnt actually related to the environment.
I ran the site on my machine with the prod env and was able to find an access_token was expired which error wasnt caught correctly causing the 500 error.
I fixed it and redeployed the site. it works now.

Completed 500 Internal Server Error on heroku devise sign up

Keep getting this error when trying to sign up on live Rails app. The log also shows this:
2015-06-15T00:13:57.424501+00:00 heroku[router]: at=info method=POST path="/users" host=viral-blocmarks.herokuapp.com request_id=9e9de849-e0fa-40d2-b9a9-d69b605bb55d fwd="71.163.107.55" dyno=web.1 connect=1ms service=105ms status=500 bytes=1754
The app runs fine in development mode, sign up and sign in without problems. Looked at the versions of my databases in local and remote heroku, and they are out of sync. Heroku version is this (heroku run rake db:version):
20150614012934
Local version is this (rake db:version):
20150614160654
I tried to sync them using
heroku run rake db:migrate
But they don't sync, maybe because there is no difference. Anyway, I would appreciate some help since the answers to similar posts don't seem to work for me.
I ran the following, but it didn't help:
heroku run rake db:reset
Went to the live app, and was NOT able to sign up. Got the logs, which had the same error
Completed 500 Internal Server Error in 707ms (ActiveRecord: 10.0ms)
2015-06-15T02:55:49.697158+00:00 app[web.1]: vendor/bundle/ruby/2.0.0/gems/actionpack-4.2.1/lib/action_dispatch/middleware/static.rb:113:in `call'
2015-06-15T02:55:49.697160+00:00 app[web.1]: vendor/bundle/ruby/2.0.0/gems/rack-1.6.1/lib/rack/sendfile.rb:113:in `call'
2015-06-15T02:55:49.697163+00:00 app[web.1]: vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/application.rb:164:in `call'
2015-06-15T02:55:49.697161+00:00 app[web.1]: vendor/bundle/ruby/2.0.0/gems/railties-4.2.1/lib/rails/engine.rb:518:in `call'
2015-06-15T02:55:49.697165+00:00 app[web.1]: vendor/bundle/ruby/2.0.0/gems/rack-1.6.1/lib/rack/lock.rb:17:in `call'
2015-06-15T02:55:49.697166+00:00 app[web.1]: vendor/bundle/ruby/2.0.0/gems/rack-1.6.1/lib/rack/content_length.rb:15:in `call'
2015-06-15T02:55:49.697168+00:00 app[web.1]: vendor/bundle/ruby/2.0.0/gems/rack-1.6.1/lib/rack/handler/webrick.rb:89:in `service'
2015-06-15T02:55:49.697171+00:00 app[web.1]: vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
2015-06-15T02:55:49.697169+00:00 app[web.1]: vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
2015-06-15T02:55:49.697172+00:00 app[web.1]: vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'
found the error. I didn't modify my setup_mail.rb for production:
if Rails.env.development? || Rails.env.production?
Once I added the OR clause, and then deployed, email sign up, confirmation and sign in all worked fine.

Rails facebook Iframe app error: InvalidAuthenticityToken

I get this error when I acccess my facebook iframe app:
The change you wanted was rejected.
Maybe you tried to change something you didn't have access to.
Heroku logs:
2011-06-05T08:30:41+00:00 app[web.1]: Started POST "/facebook/" for xxxx
03 at 2011-06-05 10:30:41 +0200
2011-06-05T08:30:41+00:00 heroku[router]: POST www.vinderhimlen.dk/facebook/ dyn
o=web.1 queue=0 wait=0ms service=39ms bytes=711
2011-06-05T08:30:41+00:00 app[web.1]:
2011-06-05T08:30:41+00:00 app[web.1]: ActionController::InvalidAuthenticityToken
(ActionController::InvalidAuthenticityToken):
2011-06-05T08:30:41+00:00 app[web.1]:
2011-06-05T08:30:41+00:00 app[web.1]:
2011-06-05T08:30:41+00:00 app[web.1]:
2011-06-05T08:30:45+00:00 heroku[web.1]: Stopping process with SIGTERM
2011-06-05T08:30:45+00:00 app[web.1]: >> Stopping ...
2011-06-05T08:30:45+00:00 heroku[web.1]: Process exited
Iceberg#ICEBERG-PC /c/rails/konkurranceportalen (master)
$
By default, Rails requires a token to be included as a hidden field with every POST.
This protects your app from Cross-Site Request Forgery.
See the Rails Request Forgery Protection documentation.
skip_before_filter :verify_authenticity_token may be useful for further debugging.

Resources