Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

image built from pack fails to run due to "worker mode not supported on jruby on this platform" #27

Open
lilacstella opened this issue Jun 13, 2024 · 2 comments
Labels

Comments

@lilacstella
Copy link
Contributor

After building an image with pack using the heroku-24 builder, the image cannot be ran because of worker mode being unsupported.

Image generated from pack build jruby-app --builder heroku/builder:24

$ docker run --rm -p 8080:3000 jruby-app
Picked up JAVA_TOOL_OPTIONS: -XX:MaxRAMPercentage=80.0 -Dfile.encoding=UTF-8
2024-06-13 17:18:05 +0000 [1] ERROR: worker mode not supported on jruby on this platform
@schneems
Copy link
Contributor

Thank you for reporting this issue. I don't know the root cause but will share some information

worker mode not supported on jruby on this platform

This error is coming from puma, the default webserver for Rails ($ rails server will use puma by default). Here's where the error is raised: https://github.com/puma/puma/blob/f027b319bcc72db27841d389d1efc6fc7d921634/lib/puma/launcher.rb#L87.

This is because JRuby uses the JVM and the java virtual machine does not support forking processes https://jukkaz.wordpress.com/2010/05/27/forking-a-jvm/ "Unfortunately Java doesn't support the concept of a fork (i.e. creating a copy of a running process)." I couldn't find a better quote explaining why, but what I've been told is that it's because the JVM targets many operating systems and not all of them support forking processes, notably windows (IIRC).

For reference I talk a bit about differences between processes and threads here https://www.schneems.com/2017/10/23/wtf-is-a-thread/.

Puma is a "hybrid" webserver meaning it can run multi process or multi threaded or a combination of multiple processes with multiple threads. So what's happening is that somehow there's config that's telling puma to boot multiple processes (known as "workers" in puma) and then that fails because JRuby doesn't support that feature.

Detour: Why processes and threads? Like python, Ruby has a global interpreter lock (GIL) or global VM lock GVL or acronym variation. This protects internal state because C is not inherently threadsafe (ruby/ruby or the matz ruby interpreter, MRI, is written in C). That means that only one thread of Ruby code can execute when not performing IO. In this case IO means a filesystem read or a network request (like to a database or another API). When that happens the GIL is released and another Ruby thread can execute. This is good for maximizing CPU utilization on a single CPU, but we want to be able to consume all resources. Since the GIL is per-process we can run up to N processes to fully saturate a machine.

Notably, JRuby doesn't have a GIL because it's source code is written in JVM bytecode which is threadsafe. That means it doesn't need processes in quite the same way that ruby/ruby needs processes. As a personal note processes are incredibly useful beyond this limitation, but that's not important.

The question is: Where is the config coming from that would cause puma to try to fork a process? It could be coming from our own config https://github.com/heroku/jruby-getting-started/blob/c5899119fea3270b9aa5fcff6d4abb3c60d522b3/config/puma.rb or it could be coming from the integration with $ rails server (this is the command the CNB uses to boot the app by default https://github.com/heroku/buildpacks-ruby/blob/6fdc19e874c02194bbd84063a83e8ca0870add23/buildpacks/ruby/src/steps/get_default_process.rs#L93-L95)

@schneems
Copy link
Contributor

As a note it works on the classic platform. On the classic platform it uses the puma command while the CNB uses bin/rails:

$ pack inspect myjrubyapp | grep web
  web (default)                     bash           -c bin/rails server        /workspace

Here's how to get it to fail on Heroku classic (but with a different error message)

$ heroku ps
=== web (Basic): bundle exec puma -C config/puma.rb (1)
web.1: up 2024/06/17 10:00:35 -0500 (~ 1h ago)

⛄️ 3.3.1 🚀 /private/tmp/150ca2015abd0c42ade576ee15691dc6/jruby-getting-started (main)
$ vim Procfile
⛄️ 3.3.1 🚀 /private/tmp/150ca2015abd0c42ade576ee15691dc6/jruby-getting-started (main)
$ git status
On branch main
Your branch is ahead of 'origin/main' by 1 commit.
  (use "git push" to publish your local commits)

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   Procfile

no changes added to commit (use "git add" and/or "git commit -a")
⛄️ 3.3.1 🚀 /private/tmp/150ca2015abd0c42ade576ee15691dc6/jruby-getting-started (main)
$ git add Procfile; git commit -m Procfile
[main 37d2dfa] Procfile
 1 file changed, 1 insertion(+), 1 deletion(-)
⛄️ 3.3.1 🚀 /private/tmp/150ca2015abd0c42ade576ee15691dc6/jruby-getting-started (main)
$ git push heroku
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 286 bytes | 286.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Updated 89 paths from 214ce84
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Building on the Heroku-22 stack
remote: -----> Using buildpack: heroku/ruby
remote: -----> Ruby app detected
remote:
remote:        ## Warning: Your app needs java
remote:
remote:        The Ruby buildpack determined your app needs java installed
remote:        we recommend you add the jvm buildpack to your application:
remote:
remote:          $ heroku buildpacks:add heroku/jvm --index=1
remote:
remote: -----> Installing Java
remote:
remote: -----> Downloading Buildpack: heroku/jvm
remote: -----> Detected Framework: JVM Common
remote:
remote:  !     WARNING: No OpenJDK version specified
remote:        Your application does not explicitly specify an OpenJDK
remote:        version. OpenJDK 1.8 will be installed.
remote:
remote:        This default version will change at some point. Your
remote:        application might fail to build with the new version. We
remote:        recommend explicitly setting the required OpenJDK version for
remote:        your application.
remote:
remote:        To set the OpenJDK version, add or edit the system.properties
remote:        file in the root directory of your application to contain:
remote:
remote:        java.runtime.version = 1.8
remote:
remote:
remote: -----> Installing OpenJDK 1.8... done
remote: -----> Installing bundler 2.4.22
remote: -----> Removing BUNDLED WITH version in the Gemfile.lock
remote: -----> Compiling Ruby/Rails
remote: -----> Using Ruby version: ruby-3.1.0-jruby-9.4.1.0
remote: -----> Installing dependencies using bundler 2.4.22
remote:        Running: BUNDLE_WITHOUT='development:test' BUNDLE_PATH=vendor/bundle BUNDLE_BIN=vendor/bundle/bin BUNDLE_DEPLOYMENT=1 bundle install -j4
remote:        Bundle complete! 13 Gemfile dependencies, 74 gems now installed.
remote:        Gems in the groups 'development' and 'test' were not installed.
remote:        Bundled gems are installed into `./vendor/bundle`
remote:        Bundle completed (7.62s)
remote:        Cleaning up the bundler cache.
remote:
remote: ###### WARNING:
remote:
remote:        Installing a default version (20.9.0) of Node.js.
remote:        This version is not pinned and can change over time, causing unexpected failures.
remote:
remote:        Heroku recommends placing the `heroku/nodejs` buildpack in front of
remote:        `heroku/ruby` to install a specific version of node:
remote:
remote:        https://devcenter.heroku.com/articles/ruby-support#node-js-support
remote:
remote: -----> Installing node-v20.9.0-linux-x64
remote: -----> Detecting rake tasks

remote: -----> Preparing app for Rails asset pipeline
remote:        Running: rake assets:precompile
remote:        Asset precompilation completed (15.25s)
remote:        Cleaning assets
remote:        Running: rake assets:clean
remote: -----> Detecting rails configuration
remote:
remote: ###### WARNING:
remote:
remote:        Installing a default version (20.9.0) of Node.js.
remote:        This version is not pinned and can change over time, causing unexpected failures.
remote:
remote:        Heroku recommends placing the `heroku/nodejs` buildpack in front of
remote:        `heroku/ruby` to install a specific version of node:
remote:
remote:        https://devcenter.heroku.com/articles/ruby-support#node-js-support
remote:
remote: ###### WARNING:
remote:
remote:        There is a more recent Ruby version available for you to use:
remote:
remote:
remote:
remote:        The latest version will include security and bug fixes. We always recommend
remote:        running the latest version of your minor release.
remote:
remote:        Please upgrade your Ruby version.
remote:
remote:        For all available Ruby versions see:
remote:          https://devcenter.heroku.com/articles/ruby-support#supported-runtimes
remote:
remote:
remote: -----> Discovering process types
remote:        Procfile declares types     -> web
remote:        Default types for buildpack -> console, rake
remote:
remote: -----> Compressing...
remote:        Done: 138.7M
remote: -----> Launching...
remote:        Released v5
remote:        https://serene-badlands-65663-2a3a8da4d325.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
To https://git.heroku.com/serene-badlands-65663.git
   79dc1ad..37d2dfa  main -> main
⛄️ 3.3.1 🚀 /private/tmp/150ca2015abd0c42ade576ee15691dc6/jruby-getting-started (main)
$
⛄️ 3.3.1 🚀 /private/tmp/150ca2015abd0c42ade576ee15691dc6/jruby-getting-started (main)
$ heroku open
⛄️ 3.3.1 🚀 /private/tmp/150ca2015abd0c42ade576ee15691dc6/jruby-getting-started (main)
$ heroku logs
2024-06-17T14:57:21.238513+00:00 app[api]: Release v1 created by user [email protected]
2024-06-17T14:57:21.238513+00:00 app[api]: Initial release by user [email protected]
2024-06-17T14:57:21.414770+00:00 app[api]: Enable Logplex by user [email protected]
2024-06-17T14:57:21.414770+00:00 app[api]: Release v2 created by user [email protected]
2024-06-17T14:57:26.000000+00:00 app[api]: Build started by user [email protected]
2024-06-17T15:00:16.585840+00:00 app[api]: Release v3 created by user [email protected]
2024-06-17T15:00:16.585840+00:00 app[api]: Set JRUBY_OPTS, LANG, RACK_ENV, RAILS_ENV, RAILS_LOG_TO_STDOUT, RAILS_SERVE_STATIC_FILES, SECRET_KEY_BASE config vars by user [email protected]
2024-06-17T15:00:16.947241+00:00 app[api]: Release v4 created by user [email protected]
2024-06-17T15:00:16.947241+00:00 app[api]: Deploy 79dc1ade by user [email protected]
2024-06-17T15:00:16.963117+00:00 app[api]: Scaled to console@0:Basic rake@0:Basic web@1:Basic by user [email protected]
2024-06-17T15:00:21.000000+00:00 app[api]: Build succeeded
2024-06-17T15:00:24.795299+00:00 heroku[web.1]: Starting process with command `bundle exec puma -C config/puma.rb`
2024-06-17T15:00:25.482984+00:00 app[web.1]: Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them.
2024-06-17T15:00:25.517976+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -XX:CICompilerCount=2 -Dfile.encoding=UTF-8
2024-06-17T15:00:29.504549+00:00 app[web.1]: Puma starting in single mode...
2024-06-17T15:00:29.505371+00:00 app[web.1]: * Puma version: 6.3.1 (jruby 9.4.1.0 - ruby 3.1.0) ("Mugi No Toki Itaru")
2024-06-17T15:00:29.505782+00:00 app[web.1]: *  Min threads: 5
2024-06-17T15:00:29.506140+00:00 app[web.1]: *  Max threads: 5
2024-06-17T15:00:29.506459+00:00 app[web.1]: *  Environment: production
2024-06-17T15:00:29.506955+00:00 app[web.1]: *          PID: 2
2024-06-17T15:00:34.652359+00:00 app[web.1]: * Listening on http://[::]:21183
2024-06-17T15:00:34.689905+00:00 app[web.1]: Use Ctrl-C to stop
2024-06-17T15:00:35.131823+00:00 heroku[web.1]: State changed from starting to up
2024-06-17T15:18:35.459235+00:00 app[web.1]: I, [2024-06-17T15:18:35.455581 #2]  INFO -- : [4868b260-9cd7-4dff-bc64-0b80834cf896] Started HEAD "/" for 217.182.175.162 at 2024-06-17 15:18:35 +0000
2024-06-17T15:18:35.477186+00:00 app[web.1]: I, [2024-06-17T15:18:35.476911 #2]  INFO -- : [4868b260-9cd7-4dff-bc64-0b80834cf896] Processing by WelcomeController#index as HTML
2024-06-17T15:18:35.767793+00:00 app[web.1]: I, [2024-06-17T15:18:35.767462 #2]  INFO -- : [4868b260-9cd7-4dff-bc64-0b80834cf896]   Rendered welcome/index.erb within layouts/application (Duration: 6.1ms | Allocations: 0)
2024-06-17T15:18:35.781674+00:00 app[web.1]: I, [2024-06-17T15:18:35.781151 #2]  INFO -- : [4868b260-9cd7-4dff-bc64-0b80834cf896]   Rendered layout layouts/application.html.erb (Duration: 22.2ms | Allocations: 0)
2024-06-17T15:18:35.783044+00:00 app[web.1]: I, [2024-06-17T15:18:35.782803 #2]  INFO -- : [4868b260-9cd7-4dff-bc64-0b80834cf896] Completed 200 OK in 305ms (Views: 33.3ms | Allocations: 0)
2024-06-17T15:18:35.826856+00:00 heroku[router]: at=info method=HEAD path="/" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=4868b260-9cd7-4dff-bc64-0b80834cf896 fwd="217.182.175.162" dyno=web.1 connect=0ms service=413ms status=200 bytes=1370 protocol=https
2024-06-17T15:24:34.314835+00:00 app[web.1]: I, [2024-06-17T15:24:34.314587 #2]  INFO -- : [4fdce719-5b11-4181-81b1-9503947f256a] Started GET "/" for 181.16.211.4 at 2024-06-17 15:24:34 +0000
2024-06-17T15:24:34.317958+00:00 app[web.1]: I, [2024-06-17T15:24:34.317717 #2]  INFO -- : [4fdce719-5b11-4181-81b1-9503947f256a] Processing by WelcomeController#index as HTML
2024-06-17T15:24:34.321937+00:00 app[web.1]: I, [2024-06-17T15:24:34.321761 #2]  INFO -- : [4fdce719-5b11-4181-81b1-9503947f256a]   Rendered welcome/index.erb within layouts/application (Duration: 0.4ms | Allocations: 0)
2024-06-17T15:24:34.325182+00:00 app[web.1]: I, [2024-06-17T15:24:34.325029 #2]  INFO -- : [4fdce719-5b11-4181-81b1-9503947f256a]   Rendered layout layouts/application.html.erb (Duration: 3.8ms | Allocations: 0)
2024-06-17T15:24:34.326187+00:00 app[web.1]: I, [2024-06-17T15:24:34.326043 #2]  INFO -- : [4fdce719-5b11-4181-81b1-9503947f256a] Completed 200 OK in 8ms (Views: 5.2ms | Allocations: 0)
2024-06-17T15:24:34.330408+00:00 heroku[router]: at=info method=GET path="/" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=4fdce719-5b11-4181-81b1-9503947f256a fwd="181.16.211.4" dyno=web.1 connect=1ms service=26ms status=200 bytes=8715 protocol=https
2024-06-17T15:24:36.004856+00:00 heroku[router]: at=info method=GET path="/assets/application-9ced36c9568ebfd1053e04ba411af767274dfcccd9807c0989f8bd17ca5e8f5b.js" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=ee10eec3-a692-4bab-b6f6-5a135c250a1d fwd="181.16.211.4" dyno=web.1 connect=0ms service=12ms status=200 bytes=101789 protocol=https
2024-06-17T15:24:36.009351+00:00 heroku[router]: at=info method=GET path="/assets/application-776d900b9840362472b5b6b4afb9b798c78d53098a77b289b8bfc22c6d241913.css" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=0b5e2610-c1b2-4811-a905-cc51c9bf9ec6 fwd="181.16.211.4" dyno=web.1 connect=0ms service=9ms status=200 bytes=450 protocol=https
2024-06-17T15:24:36.138843+00:00 heroku[router]: at=info method=GET path="/assets/lang-logo-b6c7c4b6a37e9c2425ca4d54561010c0719870ae325c849de398499f1ab098a9.png" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=7abddde9-8184-4494-bf29-b82fc35aa98e fwd="181.16.211.4" dyno=web.1 connect=0ms service=5ms status=200 bytes=4234 protocol=https
2024-06-17T15:26:00.013294+00:00 app[web.1]: I, [2024-06-17T15:26:00.012982 #2]  INFO -- : [08b355e1-8d2c-4f05-a48d-f453ae7b4bed] Started GET "/" for 172.58.61.34 at 2024-06-17 15:26:00 +0000
2024-06-17T15:26:00.016407+00:00 app[web.1]: I, [2024-06-17T15:26:00.016168 #2]  INFO -- : [08b355e1-8d2c-4f05-a48d-f453ae7b4bed] Processing by WelcomeController#index as HTML
2024-06-17T15:26:00.022301+00:00 app[web.1]: I, [2024-06-17T15:26:00.022084 #2]  INFO -- : [08b355e1-8d2c-4f05-a48d-f453ae7b4bed]   Rendered welcome/index.erb within layouts/application (Duration: 0.4ms | Allocations: 0)
2024-06-17T15:26:00.029087+00:00 app[web.1]: I, [2024-06-17T15:26:00.028841 #2]  INFO -- : [08b355e1-8d2c-4f05-a48d-f453ae7b4bed]   Rendered layout layouts/application.html.erb (Duration: 7.4ms | Allocations: 0)
2024-06-17T15:26:00.030783+00:00 app[web.1]: I, [2024-06-17T15:26:00.030130 #2]  INFO -- : [08b355e1-8d2c-4f05-a48d-f453ae7b4bed] Completed 200 OK in 13ms (Views: 9.2ms | Allocations: 0)
2024-06-17T15:26:00.039118+00:00 heroku[router]: at=info method=GET path="/" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=08b355e1-8d2c-4f05-a48d-f453ae7b4bed fwd="172.58.61.34" dyno=web.1 connect=0ms service=37ms status=200 bytes=8715 protocol=https
2024-06-17T15:26:00.188234+00:00 heroku[router]: at=info method=GET path="/assets/application-9ced36c9568ebfd1053e04ba411af767274dfcccd9807c0989f8bd17ca5e8f5b.js" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=d42e3988-ff66-45c2-8469-bba5cd6f13c9 fwd="172.58.61.34" dyno=web.1 connect=0ms service=8ms status=200 bytes=101789 protocol=https
2024-06-17T15:26:00.412320+00:00 heroku[router]: at=info method=GET path="/assets/application-776d900b9840362472b5b6b4afb9b798c78d53098a77b289b8bfc22c6d241913.css" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=2adbf54d-2938-48f7-9ed8-e7b809fd6716 fwd="172.58.61.34" dyno=web.1 connect=0ms service=4ms status=200 bytes=450 protocol=https
2024-06-17T15:26:00.565822+00:00 heroku[router]: at=info method=GET path="/assets/lang-logo-b6c7c4b6a37e9c2425ca4d54561010c0719870ae325c849de398499f1ab098a9.png" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=531702eb-2dee-4f11-bcb5-ac5713bab622 fwd="172.58.61.34" dyno=web.1 connect=0ms service=5ms status=200 bytes=4234 protocol=https
2024-06-17T16:43:02.431749+00:00 app[web.1]: I, [2024-06-17T16:43:02.430799 #2]  INFO -- : [df70458d-d05c-493c-8b16-f60ab7d08d64] Started GET "/" for 13.110.54.12 at 2024-06-17 16:43:02 +0000
2024-06-17T16:43:02.436225+00:00 app[web.1]: I, [2024-06-17T16:43:02.435970 #2]  INFO -- : [df70458d-d05c-493c-8b16-f60ab7d08d64] Processing by WelcomeController#index as HTML
2024-06-17T16:43:02.443885+00:00 app[web.1]: I, [2024-06-17T16:43:02.441955 #2]  INFO -- : [df70458d-d05c-493c-8b16-f60ab7d08d64]   Rendered welcome/index.erb within layouts/application (Duration: 1.6ms | Allocations: 0)
2024-06-17T16:43:02.451874+00:00 app[web.1]: I, [2024-06-17T16:43:02.451532 #2]  INFO -- : [df70458d-d05c-493c-8b16-f60ab7d08d64]   Rendered layout layouts/application.html.erb (Duration: 11.2ms | Allocations: 0)
2024-06-17T16:43:02.453409+00:00 app[web.1]: I, [2024-06-17T16:43:02.453189 #2]  INFO -- : [df70458d-d05c-493c-8b16-f60ab7d08d64] Completed 200 OK in 17ms (Views: 13.6ms | Allocations: 0)
2024-06-17T16:43:02.461669+00:00 heroku[router]: at=info method=GET path="/" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=df70458d-d05c-493c-8b16-f60ab7d08d64 fwd="13.110.54.12" dyno=web.1 connect=0ms service=42ms status=200 bytes=8729 protocol=https
2024-06-17T16:43:02.593224+00:00 heroku[router]: at=info method=GET path="/assets/application-9ced36c9568ebfd1053e04ba411af767274dfcccd9807c0989f8bd17ca5e8f5b.js" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=678ee25a-146f-4f3c-8abc-f0e5a5dfbf39 fwd="13.110.54.12" dyno=web.1 connect=0ms service=8ms status=200 bytes=101789 protocol=https
2024-06-17T16:43:02.793074+00:00 heroku[router]: at=info method=GET path="/assets/lang-logo-b6c7c4b6a37e9c2425ca4d54561010c0719870ae325c849de398499f1ab098a9.png" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=955cd49c-9491-4584-8294-80e71f8b2d0f fwd="13.110.54.12" dyno=web.1 connect=0ms service=4ms status=200 bytes=4234 protocol=https
2024-06-17T16:43:02.798711+00:00 heroku[router]: at=info method=GET path="/assets/application-776d900b9840362472b5b6b4afb9b798c78d53098a77b289b8bfc22c6d241913.css" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=b7a3dabf-00ff-47ee-a7a9-7d9d568afc2d fwd="13.110.54.12" dyno=web.1 connect=0ms service=12ms status=200 bytes=450 protocol=https
2024-06-17T16:43:03.144698+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=45074850-d9c7-4954-91ca-4e3645ce70d0 fwd="13.110.54.12" dyno=web.1 connect=0ms service=9ms status=200 bytes=143 protocol=https
2024-06-17T16:43:03.373533+00:00 app[web.1]: I, [2024-06-17T16:43:03.373231 #2]  INFO -- : [61fc3abf-c6b7-4bd5-8cbe-a25ea3b40184] Started GET "/" for 173.44.117.69 at 2024-06-17 16:43:03 +0000
2024-06-17T16:43:03.377599+00:00 app[web.1]: I, [2024-06-17T16:43:03.377293 #2]  INFO -- : [61fc3abf-c6b7-4bd5-8cbe-a25ea3b40184] Processing by WelcomeController#index as HTML
2024-06-17T16:43:03.384778+00:00 app[web.1]: I, [2024-06-17T16:43:03.383443 #2]  INFO -- : [61fc3abf-c6b7-4bd5-8cbe-a25ea3b40184]   Rendered welcome/index.erb within layouts/application (Duration: 0.8ms | Allocations: 0)
2024-06-17T16:43:03.391736+00:00 app[web.1]: I, [2024-06-17T16:43:03.390741 #2]  INFO -- : [61fc3abf-c6b7-4bd5-8cbe-a25ea3b40184]   Rendered layout layouts/application.html.erb (Duration: 9.0ms | Allocations: 0)
2024-06-17T16:43:03.392133+00:00 app[web.1]: I, [2024-06-17T16:43:03.391925 #2]  INFO -- : [61fc3abf-c6b7-4bd5-8cbe-a25ea3b40184] Completed 200 OK in 14ms (Views: 11.3ms | Allocations: 0)
2024-06-17T16:43:03.411606+00:00 heroku[router]: at=info method=GET path="/" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=61fc3abf-c6b7-4bd5-8cbe-a25ea3b40184 fwd="173.44.117.69" dyno=web.1 connect=0ms service=47ms status=200 bytes=8721 protocol=https
2024-06-17T16:43:04.165235+00:00 heroku[router]: at=info method=GET path="/assets/lang-logo-b6c7c4b6a37e9c2425ca4d54561010c0719870ae325c849de398499f1ab098a9.png" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=dbb8afb6-7122-49c5-9e7e-bfc70b72935e fwd="173.44.117.69" dyno=web.1 connect=0ms service=3ms status=200 bytes=4234 protocol=https
2024-06-17T16:43:04.173378+00:00 heroku[router]: at=info method=GET path="/assets/application-776d900b9840362472b5b6b4afb9b798c78d53098a77b289b8bfc22c6d241913.css" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=db8fa6ee-c2a3-4cbf-9030-0152a5e9ee33 fwd="173.44.117.69" dyno=web.1 connect=0ms service=5ms status=200 bytes=450 protocol=https
2024-06-17T16:43:04.256290+00:00 heroku[router]: at=info method=GET path="/assets/application-9ced36c9568ebfd1053e04ba411af767274dfcccd9807c0989f8bd17ca5e8f5b.js" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=a17a29c1-53f1-4878-a83b-88e66ab3b268 fwd="173.44.117.69" dyno=web.1 connect=0ms service=5ms status=200 bytes=101789 protocol=https
2024-06-17T16:43:10.173115+00:00 app[web.1]: I, [2024-06-17T16:43:10.172841 #2]  INFO -- : [65c0ecee-9767-4471-88cd-f3e9d08a91c5] Started GET "/" for 65.154.226.168 at 2024-06-17 16:43:10 +0000
2024-06-17T16:43:10.178253+00:00 app[web.1]: I, [2024-06-17T16:43:10.177922 #2]  INFO -- : [65c0ecee-9767-4471-88cd-f3e9d08a91c5] Processing by WelcomeController#index as HTML
2024-06-17T16:43:10.184818+00:00 app[web.1]: I, [2024-06-17T16:43:10.184530 #2]  INFO -- : [65c0ecee-9767-4471-88cd-f3e9d08a91c5]   Rendered welcome/index.erb within layouts/application (Duration: 0.6ms | Allocations: 0)
2024-06-17T16:43:10.194502+00:00 app[web.1]: I, [2024-06-17T16:43:10.194237 #2]  INFO -- : [65c0ecee-9767-4471-88cd-f3e9d08a91c5]   Rendered layout layouts/application.html.erb (Duration: 10.1ms | Allocations: 0)
2024-06-17T16:43:10.196860+00:00 app[web.1]: I, [2024-06-17T16:43:10.196641 #2]  INFO -- : [65c0ecee-9767-4471-88cd-f3e9d08a91c5] Completed 200 OK in 18ms (Views: 13.6ms | Allocations: 0)
2024-06-17T16:43:10.202239+00:00 heroku[router]: at=info method=GET path="/" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=65c0ecee-9767-4471-88cd-f3e9d08a91c5 fwd="65.154.226.168" dyno=web.1 connect=0ms service=37ms status=200 bytes=8721 protocol=http
2024-06-17T16:43:51.000000+00:00 app[api]: Build started by user [email protected]
2024-06-17T16:45:22.954316+00:00 app[api]: Deploy 37d2dfab by user [email protected]
2024-06-17T16:45:22.954316+00:00 app[api]: Release v5 created by user [email protected]
2024-06-17T16:45:23.156692+00:00 heroku[web.1]: Restarting
2024-06-17T16:45:23.205824+00:00 heroku[web.1]: State changed from up to starting
2024-06-17T16:45:23.886315+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2024-06-17T16:45:23.918044+00:00 app[web.1]: - Gracefully stopping, waiting for requests to finish
2024-06-17T16:45:23.927555+00:00 app[web.1]: - Gracefully stopping, waiting for requests to finish
2024-06-17T16:45:24.058207+00:00 heroku[web.1]: Process exited with status 143
2024-06-17T16:45:26.000000+00:00 app[api]: Build succeeded
2024-06-17T16:45:29.950591+00:00 heroku[web.1]: Starting process with command `bin/rails server`
2024-06-17T16:45:30.878884+00:00 app[web.1]: Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them.
2024-06-17T16:45:30.878946+00:00 app[web.1]: /bin/bash: line 1: bin/rails: No such file or directory
2024-06-17T16:45:30.944863+00:00 heroku[web.1]: Process exited with status 127
2024-06-17T16:45:30.973849+00:00 heroku[web.1]: State changed from starting to crashed
2024-06-17T16:45:30.976754+00:00 heroku[web.1]: State changed from crashed to starting
2024-06-17T16:45:36.577989+00:00 heroku[web.1]: Starting process with command `bin/rails server`
2024-06-17T16:45:37.224371+00:00 app[web.1]: Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them.
2024-06-17T16:45:37.224807+00:00 app[web.1]: /bin/bash: line 1: bin/rails: No such file or directory
2024-06-17T16:45:37.278374+00:00 heroku[web.1]: Process exited with status 127
2024-06-17T16:45:37.298441+00:00 heroku[web.1]: State changed from starting to crashed
2024-06-17T16:45:51.231060+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=serene-badlands-65663-2a3a8da4d325.herokuapp.com request_id=5061bb34-5b10-4cc3-9a25-d959d4e5d94e fwd="13.110.54.12" dyno= connect= service= status=503 bytes= protocol=https
⛄️ 3.3.1 🚀 /private/tmp/150ca2015abd0c42ade576ee15691dc6/jruby-getting-started (main)
$ cat Procfile
web: bin/rails server

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants