Summary: | php segfaults when running zoph | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Jonathan Sailor <jsailor> |
Component: | [OLD] Server | Assignee: | PHP Bugs <php-bugs> |
Status: | VERIFIED TEST-REQUEST | ||
Severity: | normal | CC: | chtekk, jsailor, stian |
Priority: | High | ||
Version: | 2005.0 | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
Log of gpg session
Log of segfaults with debugging |
Description
Jonathan Sailor
2005-07-17 09:43:30 UTC
I've been running gdb over apache to see exactly where the segfault occurs, and have gotten some interesting results. I've tried loading a few pages: - albums.php, user.php?_action=new, search.php (many times): crashes in "execute () from /etc/apache/extramodules/libphp4.so" (see attached gdb log) - import.php (many times): crashes in "vio_write () from /usr/X11R6/lib/libmysqlclient.so.12". When I run bt, gdb says, "Cannot access memory at address 0xbf7ffff0" after outputting line #0, the call to vio_write(). - import.php (only once): "net_write_command () from /usr/X11R6/lib/libmysqlclient.so.12". I didn't try bt for this crash, and I haven't seen it crash in net_write_command() since. Created attachment 63632 [details]
Log of gpg session
Please compile apache and mod_php / php with debugging: CFLAGS=-g CXXFLAGS=-g FEATURES=nostrip emerge your_packages_here -pipe does only change if gcc makes tempfiles when calling assembler, or to send the content through a pipe, this only affects the speed of compiling. -O2 should not be used when compiling with -g, since you will get inprecise line-numbers. php version? apache version? php use flags? apache use flags? emerge -pv mod_php apache (In reply to comment #3) > Please compile apache and mod_php / php with debugging: > > CFLAGS=-g CXXFLAGS=-g FEATURES=nostrip emerge your_packages_here Ok, I'm trying that. I'll have news on the results in a little bit. > -pipe does only change if gcc makes tempfiles when calling assembler, or to send > the content through a pipe, this only affects the speed of compiling. Right. > -O2 should not be used when compiling with -g, since you will get inprecise > line-numbers. Good to know. > php version? > apache version? > php use flags? > apache use flags? > > emerge -pv mod_php apache gentoo ~ # CFLAGS=-g CXXFLAGS=-g FEATURES=nostrip emerge -av apache mod_php These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] net-www/apache-1.3.33-r5 +pam (-selinux) +ssl 0 kB [ebuild R ] dev-php/mod_php-4.4.0 +X -apache2 +berkdb +crypt +curl -debug -doc -fdftk -firebird -flash -freetds +gd -gd-external +gdbm -gmp -hardenedphp +imap -informix +ipv6 +java +jpeg -kerberos -ldap -mcal -memlimit -mssql +mysql +nls -oci8 -odbc +pam +png -postgres -snmp +spell +ssl +tiff +truetype +xml2 -yaz 0 kB Total size of downloads: 0 kB Do you want me to merge these packages? [Yes/No] Ok. I finally got around to gdb'ing apache/mod_php with debugging (sorry about the delay), and I'm another heap of gpg. I tried to load albums.php twice and import.php once (on three seperate -X runs of apache); the gpg log shows the SIGSEGV and backtraces for each. Created attachment 65180 [details]
Log of segfaults with debugging
Hi, That backtrace doesn't include any PHP debugging symbols. You'll need to recompile PHP with the -g CFLAG and recreate the backtrace. The other thing to do is the switch from USE=gd to USE=gd-external, and see if that fixes it. Best regards, Stu Please try using dev-lang/php-4.4.0 and report back if it works now, much changed in the PHP support there and we'd like to know if this fixes it. More informations on transiting to dev-lang/php can be found on [1]. Best regards, CHTEKK. [1] http://forums.gentoo.org/viewtopic-t-377385.html See comment #8 When the new dev-lang/php finally went stable (or got mentioned in the GWN, at least) a few days ago, I upgraded. Instead of segfaulting, php complained about hitting an internal memory limit. Debugging revealed that a function in zoph was recursing infinitely. With the new PHP failing helpfully, with it now publicized, and with the original problem revealed to be a bug in zoph, I'm closing this bug. Thanks |