ID: 26286
Comment by: dmitri at elista dot org
Reported By: igg10 at alu dot ua dot es
Status: No Feedback
Bug Type: Apache2 related
Operating System: Windows 2000
PHP Version: 4.3.4
New Comment:
I also ran across this apache crash. The log file record was the same
as in the first message. Here is how it happened. I run apache2 with
php 4.3.2 under windows 2000. The crash itself occured when I made a
request to MSSQL database selecting a field of type DECIMAL(38). As far
as I understand it means a number 38 digits long taking 17 bytes to be
stored.
PHP's manual says "The size of a float is platform-dependent, although
a maximum of ~1.8e308 with a precision of roughly 14 decimal digits is
a common value (that's 64 bit IEEE format)." So I figured I could try
to convert the number into a smaller number. And it helped! I rewrote
the SQL request as follows
SELECT CONVERT(DECIMAL(15,2), [Decimal38]) FROM ...
I don't think cutting the number down is such a big deal as it is
extremely seldom that we deal with such bug numbers in the real life.
38 digits or 15 - make no difference :)
Previous Comments:
------------------------------------------------------------------------
[2004-09-05 20:09:00] nuwp at mail dot com
In my case, this happens when I turn off the cookies in Mozilla for the
site I am developing. The PHP scripts then use some classes stored in
$_SESSION[] during the requests. So if the cookies are not allowed,
session does not work, and then the Apache crashes.
------------------------------------------------------------------------
[2004-08-30 23:17:11] ajvdhek at dds dot nl
Exact same bug for me... Win XP pro + XAMMP 1.4.6 (Apache/2.0.50
(Win32) mod_ssl/2.0.50 OpenSSL/0.9.7c PHP/5.0.1 MySQL 4.0.20a-nt)
------------------------------------------------------------------------
[2004-07-05 16:23:19] adam dot phillips at orange dot net
Continuing from my post above, I tried replacing the switch statement
with if () {} elseif ... and still got the error so it appears it is
not the switch statement
------------------------------------------------------------------------
[2004-07-05 16:01:24] adam dot phillips at orange dot net
I experienced the same problem on 2 systems - Win2k with Apache
2.0.48/PHP 4.3.4 and Red Hat Linux with Apache 1.3.29 and PHP 4.3.5.
So far as i can tell, the cause of the error is a switch statement. I
have a function withian a class module declared as follows:
function getsales($scope="", $returnasobjects=false) {
}
Inside this function is a switch statment based on $scope.
There are four cases. The first three perform different functions
which all return arrays and the fourth case (which is the default)
performs all 3 of the previous cases and merges the results into a
single array (I won't write out all the code since it all appears to
work outside of this switch statement. Please e-mail if needed). The
error occurs in the fourth case but originally the code was identical
to that of the first 3 'stuck together'. I have since tried a number
of alternatives none of which work. Most intriguing was when instead
of using default: for the fourth case i renamed it case "all". Then it
worked when called from another page but not when called from within the
same class module. I then renamed it "everything" and the opposite was
true. I then tried changed my function declaration to
function getsales($scope="all", $returnasobjects=false) {}
and it wouldn't work in either case. Similarly if i replaced "all"
with everything. The final bit of strangeness was that i tried using
the following code in the default case
return array_merge($this->getsales("case1"), $this->getsales("case2"),
$this->getsales("case3"))
which wouldn't work even tho each of the cases worked individually.
Each time i get the same error in my Apache Error Log
Parent: child process exited with status 3221225725 -- Restarting
------------------------------------------------------------------------
[2004-06-28 16:54:47] joker at localfoo dot info
The snippet posted by ''hakk at email dot it'' reproduces the
...Restarting... problem with the following packages also under
WinXP/SP1
(not tested under Win2000)
===HOST:
P3-1GHz/256MB Notebook
Windows XP/SP1
Apache 2.0.49
PHP 4.3.7 (php4apache2.dll)
with/without ZendOptimizer 2.5.1
===TESTED WITH:
PHP 4-win32-STABLE-200406272030
(PHP 4.3.8-dev as module)
PHP 5-win32-200406271830
(PHP5.0.0-dev as module)
===SNIP OD SYSLOG:
Ereignistyp: Informationen
Ereignisquelle: Application Popup
Ereigniskategorie: Keine
Ereigniskennung: 26
Datum: 28.06.2004
Zeit: 16:36:16
Benutzer: Nicht zutreffend
Computer: LT04
Beschreibung:
Anwendungspopup: apache.exe - Fehler in Anwendung: Die Anweisung in
"0x00000000" verweist auf Speicher in "0x00000000". Der Vorgang
"read" konnte nicht auf dem Speicher durchgef�hrt werden.
===END OF SNIP
This also occurs on some webapplications (e.g. mamboserver-cms,
mylansite). They RIP sometimes under several circumstances preferred
running with php as module. They work almost fine with PHP in CGI mode.
I also had a user reporting Error 128 instead of 3221225477
-----------------
[Referring: http://bugs.php.net/bug.php?id=26771]
The author of Bug 26771 has similar problems (...restarting...)
executing the 'tick'-script (see the mentioned BUG report and
http://nl.php.net/manual/en/control-structures.declare.php) crashes my
constellation without ANY log (Apache2 error) entry. It doesn't even
make the ...Restarting... log entry in Apache2 but this occurs on
several applications as well. So the 'tick'-script might be an
appropriate script for reproducing this error...
My host closed with the following syslog message when executing the
'tick':
===SNIP OF SYSLOG:
Ereignistyp: Informationen
Ereignisquelle: Application Popup
Ereigniskategorie: Keine
Ereigniskennung: 26
Datum: 28.06.2004
Zeit: 14:26:17
Benutzer: Nicht zutreffend
Computer: LT04
Beschreibung:
Anwendungspopup: apache.exe - Fehler in Anwendung: Die Anweisung in
"0x100c0afd" verweist auf Speicher in "0x00000000". Der Vorgang
"written" konnte nicht auf dem Speicher durchgef�hrt werden.
===END OF SNIP
Thx
Chris
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/26286
--
Edit this bug report at http://bugs.php.net/?id=26286&edit=1