php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #15940 Segmentation fault (11)
Submitted: 2002-03-07 15:07 UTC Modified: 2002-05-28 00:00 UTC
Votes:11
Avg. Score:4.7 ± 0.6
Reproduced:9 of 9 (100.0%)
Same Version:7 (77.8%)
Same OS:4 (44.4%)
From: uwe dot kolsch at wax dot co dot uk Assigned:
Status: No Feedback Package: Apache related
PHP Version: 4.1.2 OS: Linux
Private report: No CVE-ID:
Have you experienced this issue?
Rate the importance of this bug to you:

 [2002-03-07 15:07 UTC] uwe dot kolsch at wax dot co dot uk
There seems to be a bug in PHP 4.1.2. Being not an expert in this kind of stuff I can only report the symptoms. We are running the site for quite a time without any problems (4.0.6 compiled with configure --with-apache=../apache_1.3.23 --enable-track-vars --with-interbase=/opt/interbase --enable-trans-id). After upgrading to 4.1.2 the output of PHP did occasionally - not always - create only parts of the expected output. The apache error log showed "child pid 8354 exit signal Segmentation fault (11)" for about every 20 sec. The site has quite a high load with about 80 kByte/s at the time of watching this. Switching back to 4.0.6 made the problem disappear. On a other server with almost exactly the same config the problem does not occur. The only difference between the two is that the load is lower (between 1 and 4 kBytes/s) and that Interbase is not used by any PHP script on the server but support is compiled in and interbase is running.   

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-03-08 04:28 UTC] artur at lunar dot com dot pl
I have the sam problem (PHP 4.1.2 & Apache 1.3.23)
I'm intalling a new server so I'm the only one testing it but i still get Segmentation fault if I use Interbase.
 [2002-03-08 06:18 UTC] sander@php.net
To properly diagnose this bug, we need a backtrace to see what is
happening behind the scenes. To find out how to generate a backtrace,
please read http://bugs.php.net/bugs-generating-backtrace.php

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open".


 [2002-03-08 08:23 UTC] office at lunar dot com dot pl
[root@trex dev]# gdb /usr/sbin/httpd
GNU gdb Red Hat Linux 7.x (5.0rh-15) (MI_OUT)
Copyright 2001 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...
(gdb) run -X
Starting program: /usr/sbin/httpd -X

Program received signal SIGSEGV, Segmentation fault.
0x40430c7c in memcpy () from /lib/i686/libc.so.6
(gdb) bt
#0  0x40430c7c in memcpy () from /lib/i686/libc.so.6
#1  0x00000000 in __strtol_internal (nptr=0x0, endptr=0x0, base=165, group=128)

--------------------

PHP was compiled with:

./configure --without-mysql --with-imap --with-imap-ssl --with-interbase --with-pgsql --with-kerberos --with-gettext --with-xml --with-apache=../apache_1.3.23/ --enable-track-vars --enable-debug
 [2002-03-13 04:03 UTC] s dot waight at gold dot ac dot uk
I found that if you pass the wrong type of object to ibase_free_result or ibase_free_query you cause the Apache child running the PHP script to segfault.  So, for example, if I create a query object and then later pass it to ibase_free_result I guarantee that the Apache child segfaults.  Maybe an object check should take place inside the ibase_free_result to see that it was actually passed a result rather than a query object.

Like one of the other people reporting this bug, the page renders to a point and then (I guess when Apache dies) no more of the document is returned.

I spent a week trying to solve this problem and it manifests itself in 4.1.1 and 4.1.2.

I'm running Red Hat 7.2 with Apache 1.3.20.  PHP was built using a very long set of options - if they are required please e-mail me and I will send them.  I'm running PHP as an Apache module without the CGI option.
 [2002-03-13 06:12 UTC] uwe dot kolsch at wax dot co dot uk
I should mention that the problems occurs even if there is no call to Interbase at all. In our case we saw it happen in an index.php file which gets some session values and sets some constants base on the environment. It then creates html/javascript to open a new browser window. This didn't happen as the rendering ended inmidst the javascript code. Only after this is Interbase involved.
 [2002-03-19 06:41 UTC] albert at xs4all dot nl
Had the same problems as described in first post in this thread. We tried an older apache, 1.3.20. This doesn't help, same problems occur: the stopping of php-parsing in the middle or end of an echo-command, and the exited on signal 11 message in var/log/messages.

Our php 4.1.2 configuration:
'./configure' '--with-mysql=/usr/local' '--with-postgres=/usr/local/pgsql' '--with-gnu-ld' '--with-libz' '--with-bz2' '--with-gdbm' '--with-ndbm' '--with-gd' '--with-openssl' '--with-mm' '--enable-sysvsem' '--enable-sysvshm' '--with-mhash' '--with-mcrypt' '--with-apache=../apache_1.3.20'

We tried an older version of Apache, because this seemed the only difference to another server where no exited-on-signal-11-messages were found in the /var/log/messages-file.

Didn't look at the difference in load though, shall ask our administrators about this.
 [2002-03-19 10:04 UTC] albert at xs4all dot nl
Check out bug-report #14529, talking about propably the same problems there
 [2002-04-11 02:18 UTC] gregor at intelicom dot si
It happens here also. I tried with several apache version, but the error is the same. I have to restart apache on hourly basis. With 4.06 it worked for months.
 [2002-04-27 01:42 UTC] jddavis at triad dot rr dot com
I've started experiencing something similar since I upgraded to 4.1.2.

The segfaults kept occuring during a POST operations, after enabling debug and rebuilding my rpms I then noticed the following messages in the apache error_log:

Unknown(0) : Warning - POST Content-Length of 75 bytes exceeds the limit of 16 bytes.

This left me scratching my head until I skimmed through php.ini and found the setting for post_max_size=16


comparison with another working php server that uses an older php.ini file this var was set to 8M.


this has affected two of my servers at the same time.  The only commonality that I have is that I use ZendIDE and recently updated from 2.0.0 to 2.0.1 on both machines.

The third machine (working) has no Zend installations on it.
 [2002-04-27 11:11 UTC] sniper@php.net
Does this happen with PHP 4.2.0 ?

 [2002-05-28 00:00 UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Thu Apr 17 18:02:13 2014 UTC