phusion / passenger

A fast and robust web server and application server for Ruby, Python and Node.js
https://www.phusionpassenger.com/
MIT License
5.01k stars 547 forks source link

Passenger 5.2.0 SEGSEGV(11) - Docker container running Alpine Linux 3.7 #2030

Open nater540 opened 6 years ago

nater540 commented 6 years ago

Issue report

Fill in as much as possible so that we can understand, find and fix the problem.

Are you sure this is a bug in Passenger? No

Question 1: What is the problem? SIGSEGV(11), reason=SI_KERNEL

Question 2: Passenger version and integration mode: Open source 5.2.0 standalone/nginx

Question 3: OS or Linux distro, platform (including version): Alpine 3.7

Question 4: Passenger installation method: [ ] RubyGems + Gemfile [ ] RubyGems, no Gemfile [ ] Phusion APT repo [ ] Phusion YUM repo [ ] OS X Homebrew [X] source tarball [ ] Other, please specify:

Question 5: Your app's programming language (including any version managers) and framework (including versions): Ruby 2.4.2 Rails 5.1.4

Question 6: Are you using a PaaS and/or containerization? If so which one? Docker 18.01.0-ce

Question 7: Anything else about your setup that we should know?

This is the head of the Passenger log file

[ N 2018-02-06 16:40:25.3740 14/T1 age/Wat/WatchdogMain.cpp:1252 ]: Starting Passenger watchdog...
[ N 2018-02-06 16:40:25.4056 17/T1 age/Cor/CoreMain.cpp:1242 ]: Starting Passenger core...
[ N 2018-02-06 16:40:25.4059 17/T1 age/Cor/CoreMain.cpp:252 ]: Passenger core running in multi-application mode.
[ N 2018-02-06 16:40:25.4244 17/T1 age/Cor/CoreMain.cpp:977 ]: Passenger core online, PID 17
App 55 stdout: 
[ pid=17, timestamp=1517935227 ] Process aborted! signo=SIGSEGV(11), reason=SI_KERNEL, si_addr=0x0, randomSeed=1517935225

And this is the end of the Passenger log file

[ W 2018-02-06 16:27:28.8642 14/T4 age/Wat/AgentWatcher.cpp:97 ]: Passenger core (pid=17) crashed with signal SIGSEGV, restarting it...
2018/02/06 16:27:28 [error] 38#0: *4 upstream prematurely closed connection while reading response header from upstream, client: 127.0.0.1, server: _, request: "HEAD / HTTP/1.1", upstream: "passenger:unix:/app/current/tmp/passenger.pnTbJGQ/agents.s/core:", host: "0.0.0.0"
[ N 2018-02-06 16:27:28.8808 86/T1 age/Cor/CoreMain.cpp:1242 ]: Starting Passenger core...
[ N 2018-02-06 16:27:28.8812 86/T1 age/Cor/CoreMain.cpp:252 ]: Passenger core running in multi-application mode.
[ N 2018-02-06 16:27:28.9032 86/T1 age/Cor/CoreMain.cpp:977 ]: Passenger core online, PID 86

Lastly, here are the relevant files (including the Passenger log with backtrace, Dockerfile, etc) https://gist.github.com/nater540/c22414d21bf22a990a474c93936b7c06

Also posted this issue on Stack => https://stackoverflow.com/questions/48648252/passenger-v5-2-0-inside-alpine-v3-7-docker-container-sigsegv11

CamJN commented 6 years ago

Would it be possible to get a backtrace from a non-stripped passenger w/ debug symbols for the libc equivalent alpine uses installed?