Summary: | www-apache/passenger-2.2.8 crash on rails request with seg fault in ApplicationPool server | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Scott <snoopdugiedog+gentoo> |
Component: | [OLD] Server | Assignee: | Apache Team - Bugzilla Reports <apache-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | hurikhan77+bgo, ruby |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
the 00_default_vhost.conf file
Passenger configuration The default include paludis info of passenger |
Description
Scott
2009-10-17 21:46:31 UTC
Created attachment 207430 [details]
the 00_default_vhost.conf file
The mpm section works with gem installation of passenger whether commented or not.
Created attachment 207432 [details]
Passenger configuration
The two commented lines at the top are the paths for the gem installation of passenger.
Created attachment 207434 [details]
The default include
No real changes from when I installed apache, but I did try giving the test dir it's own directory.
Could you also try this with passenger 2.2.7, which I just added to the tree? I've seen that the ebuild www-apache/passenger-2.2.7 still suffers from the same problem (exactly the same errors): [ pid=16521 file=ext/apache2/Hooks.cpp:725 time=2009-12-16 17:59:42.753 ]: Unexpected error in mod_passenger: The ApplicationPool server unexpectedly closed the connection while we're reading a response for the 'get' command. Backtrace: (backtrace support disabled during compile time) [Wed Dec 16 17:59:43 2009] [notice] child pid 16516 exit signal Segmentation fault (11) It worked for me too using the passenger ruby gem... My ebuild info: Portage 2.1.6.13 (!/usr/local/portage/profiles/default/linux/x86/2008.0/stepping-stone.ch/vserver, gcc-4.1.2, glibc-2.9_p20081201-r2, 2.6.22-vs2.2.0.7-gentoo x86_64) ================================================================= System uname: Linux-2.6.22-vs2.2.0.7-gentoo-x86_64-Intel-R-_Xeon-R-_CPU_5130_@_2.00GHz-with-gentoo-2.0.0 Timestamp of tree: Wed, 16 Dec 2009 15:15:02 +0000 app-shells/bash: 4.0_p35 dev-lang/python: 2.6.4 dev-python/pycrypto: 2.0.1-r8 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.2.5 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.63-r1 sys-devel/automake: 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O2 -pipe -msse2 -mmmx -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/eselect/postgresql /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=pentium4 -O2 -pipe -msse2 -mmmx -fomit-frame-pointer" DISTDIR="/var/tmp/distfiles" FEATURES="ccache distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox" GENTOO_MIRRORS="http://mirror.switch.ch/ftp/mirror/gentoo http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo" LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1" MAKEOPTS="-j5" PKGDIR="/usr/local/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://invalid-host-since-we-dont-sync-in-vservers/gentoo-portage" USE="acpi bash-completion berkdb bzip2 cli cracklib crypt cups cxx dri fortran gdbm iconv md5sum mmx modules mudflap ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session spl sse sse2 ssl sysfs unicode userlocales vim-syntax x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_default authn_file authz_default authz_groupfile authz_host authz_owner authz_user autoindex dir env imagemap include info log_config logio mime mime_magic negotiation rewrite setenvif status unique_id userdir usertrack" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa via vmware voodoo" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS Any further ideas? Thanx for further inspection Mike I've just added passenger 2.2.8 to the tree, perhaps that solves the issue, although nothing jumped out while reading the changelog. If that doesn't help then my next guess would be that the gem compiles the code with slightly different CFLAGS. We would need to compare them and/or use the ruby compilation flags to see if that makes a difference. Created attachment 215035 [details]
paludis info of passenger
Happens here too. Paludis info attached, if it is any help.
(In reply to comment #6) > If that doesn't help then my next guess would be that the gem compiles the code > with slightly different CFLAGS. We would need to compare them and/or use the > ruby compilation flags to see if that makes a difference. The ruby ebuild does two things with CFLAGS: remove -fomit-frame-pointer (but Samu, you don't seem to have that set), and it adds -fno-strict-aliasing. Could you try to compile and install passenger via the ebuild with this added? Adding "append-flags -fno-strict-aliasing" at the top of src_compile() should be fine. Adding append-flags and filter-flags as suggested does not help. Last known good version is 2.2.4 for me. Maybe one should do a bisect on the original source? (In reply to comment #9) > Adding append-flags and filter-flags as suggested does not help. Last known > good version is 2.2.4 for me. Maybe one should do a bisect on the original > source? Others have reported that installing the gem directly did work for them. Is that also the case for you? I've just added passenger 2.2.9 to the tree, so getting feedback on that would be useful. (In reply to comment #10) > (In reply to comment #9) > > Adding append-flags and filter-flags as suggested does not help. Last known > > good version is 2.2.4 for me. Maybe one should do a bisect on the original > > source? > > Others have reported that installing the gem directly did work for them. Is > that also the case for you? It's a production system so I don't want to pollute it with manually installed gems. But I soon have a pre-production system up and running to test with. > Others have reported that installing the gem directly did work for them. Is
> that also the case for you?
I cannot find the link where I got this information but I saw a report where someone found that dropping -O2 from the CFLAGS fixed it.
I also confirm that removing -O2 from the CFLAGS fixes the issues. Can we get an updated ebuild with "filter-flags -O2" ? (In reply to comment #14) > I also confirm that removing -O2 from the CFLAGS fixes the issues. > Can we get an updated ebuild with "filter-flags -O2" ? I suggest we'd better find out which flag or combination of flag the O2 optimization level activates for this bug to trigger and filter/explicitly disable that. If somebody feels like testing try adding -fno-strict-aliasing… On the other hand I only see three info blocks, and they all declare GCC 4.1… can somebody try with 4.3 and report back? (In reply to comment #16) > If somebody feels like testing try adding -fno-strict-aliasing… Both 2.2.8 and 2.2.9 already add -fno-strict-aliasing to the ebuild by default. Looking some more into the CFLAGS that ruby uses it seems that it adds -fPIC to the CFLAGS by default. Could you guys try that as well? If -fPIC was skipped for .so files, it would fail to build on amd64 and would produce a TEXTREL on x86. (In reply to comment #18) > If -fPIC was skipped for .so files, it would fail to build on amd64 and would > produce a TEXTREL on x86. Ahum, yes, it is already used to build passenger. Sorry. I've just added passenger 2.2.10 to CVS. I'm hopeful that this version may fix things: * Fixed some file descriptor passing problems, which previously could lead to mysterious crashes. unmasking passenger-2.2.10 did not do the trick (got the same error), however dropping -O3 from cflags did. www-servers/apache-2.2.14-r1 dev-ruby/rails-2.3.5 dev-lang/ruby-1.8.7_p249 www-apache/passenger-2.2.10 CFLAGS="-O3 -march=pentium3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CXXFLAGS="${CFLAGS}" MAKEOPTS="-j2" stable x86 system # ls -l /etc/make.profile lrwxrwxrwx 1 root root 51 Oct 22 15:03 /etc/make.profile -> /usr/portage/profiles/default/linux/x86/10.0/server Also (dunno if here is the right place to say it, but) this message: * Configuration file installed as * /etc/apache2/modules.d/30_mod_passenger-2.0.1.conf is wrong because configuration file is installed as /etc/apache2/modules.d/30_mod_passenger.conf (In reply to comment #21) > Also (dunno if here is the right place to say it, but) this message: > > * Configuration file installed as > * /etc/apache2/modules.d/30_mod_passenger-2.0.1.conf > > is wrong because configuration file is installed as > /etc/apache2/modules.d/30_mod_passenger.conf This appears to be a bug in the apache-module eclass using the source name instead of the installation file name. It's not something I can fix. It turned out I had only troublesome server as well. I've just upgraded it to passenger 2.2.15 and that finally seems to work correctly out of the box. Does this version also fix the issues others have had? (In reply to comment #22) > (In reply to comment #21) > > > Also (dunno if here is the right place to say it, but) this message: > > > > * Configuration file installed as > > * /etc/apache2/modules.d/30_mod_passenger-2.0.1.conf > > > > is wrong because configuration file is installed as > > /etc/apache2/modules.d/30_mod_passenger.conf > > This appears to be a bug in the apache-module eclass using the source name > instead of the installation file name. It's not something I can fix. thanks for spotting it. i have fixed it in the eclass. I'm closing this bug as fixed since 2.2.15 fixed things for me and there was no further feedback. If you still have issues, please upgrade to passenger-3.0.7 first before reporting. |