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 v6.0.21, ruby 3.3.1 with apache crashing. #2544

Closed hknaksu closed 6 months ago

hknaksu commented 6 months ago

Here's the error output. Reverted back to v6.0.19 which works fine.

[ pid=10226, timestamp=1715953756 ] Process aborted! signo=SIGSEGV(11), reason=SI_KERNEL, si_addr=0x0, randomSeed=1715953756
[ pid=10226 ] Crash log files will be dumped to /var/tmp/passenger-crash-log.1715953756.ECXdcg <--- ******* LOOK HERE FOR DETAILS!!! *******
[ pid=10226 ] Date and uname:
Fri May 17 09:49:16 EDT 2024
Linux 4.14.343-261.564.amzn2.x86_64 #1 SMP Tue May 7 02:23:34 UTC 2024 x86_64 x86_64
[ pid=10226 ] Phusion Passenger(R) version: 6.0.21
[ pid=10226 ] libc backtrace available!
--------------------------------------
[ pid=10226 ] Backtrace with 33 frames:
ERROR: cannot execute '/opt/ruby-3.3.1/bin/ruby "/opt/ruby-3.3.1/lib/ruby/gems/3.3.0/gems/passenger-6.0.21/src/helper-scripts/backtrace-sanitizer.rb"' for sanitizing the backtrace, writing to stderr directly...
Passenger core[0x57eab3]
Passenger core[0x57de08]
Passenger core[0x57f7eb]
Passenger core[0x580c83]
/lib64/libpthread.so.0(+0x118e0)[0x7f404d0fe8e0]
Passenger core[0x53d498]
Passenger core[0x66ac52]
Passenger core[0x6720ba]
Passenger core[0x671f89]
CamJN commented 6 months ago

There's not enough info in there to go on, is there anything in /var/tmp/passenger-crash-log.1715953756.ECXdcg that's useful?

CamJN commented 6 months ago

I'm guessing the problem is the change to src/ruby_supportlib/phusion_passenger/common_library.rb in https://github.com/phusion/passenger/commit/3ab8c9dfbc0e834a5750b95ef98156bd12f9a4eb can you check if the logic there detects your setup properly? ie sse2 should be disabled, but might not be if there's a problem

CamJN commented 6 months ago

it might be related to the ruby you have (the RbConfig might have unexpected values), how did you install the ruby at /opt/ruby-3.3.1?

hknaksu commented 6 months ago

it might be related to the ruby you have (the RbConfig might have unexpected values), how did you install the ruby at /opt/ruby-3.3.1?

New Install from source: ./configure --prefix=/opt/ruby-3.3.1 --with-jemalloc --enable-yjit make make install

hknaksu commented 6 months ago

/var/tmp/passenger-crash-log

sorry, I don't see any /var/tmp/passenger-crash-log* files?

CamJN commented 6 months ago

And what are the values of the checked RbConfig fields?

CamJN commented 6 months ago

/var/tmp/passenger-crash-log

sorry, I don't see any /var/tmp/passenger-crash-log* files?

They might have been deleted depending how you reverted to the older passenger version.

hknaksu commented 6 months ago

I'm guessing the problem is the change to src/ruby_supportlib/phusion_passenger/common_library.rb in 3ab8c9d can you check if the logic there detects your setup properly? ie sse2 should be disabled, but might not be if there's a problem

% ruby -e "puts RbConfig::CONFIG['host_os']"
linux

makes it -mno-sse2 disabled but it is enabled on previous version.

CamJN commented 6 months ago

Ok thanks, the "linux" vs "linux-gnu" distinction is the problem, I'll just check if the os contains linux instead of exact matches.

CamJN commented 6 months ago

the release with the fix is out now

hknaksu commented 6 months ago

the release with the fix is out now

confirmed fix on Amzn Linux 2!