ID:               36626
 User updated by:  fcartegnie at nordnet dot fr
 Reported By:      fcartegnie at nordnet dot fr
 Status:           Open
 Bug Type:         Reproducible crash
 Operating System: Linux
 PHP Version:      4.4.2
 New Comment:

Well, as far as I've gone, I've fixed my php code.

I use a global class which handles mysql connections.(no reconnects
each time, but without persistent connexion)
The sigsev comes when I use the existing sql connection from inside the
uksort user_functions.

Creating a new class from there make it works :(


Previous Comments:
------------------------------------------------------------------------

[2006-03-06 13:39:06] fcartegnie at nordnet dot fr

no can't do sir :(
I can't isolate a subset of calls wich creates crash.
I'm only able to produce it with full data & code.

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

[2006-03-06 13:16:50] [EMAIL PROTECTED]

And don't forget to disable all zend_extensions like APC, Zend
Optimizer, IonCube etc. before that.

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

[2006-03-06 13:10:55] [EMAIL PROTECTED]

Don't send coredumps, they are useles. Please, provide a short
reproducable script - no more than 25 lines.

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

[2006-03-06 12:18:49] fcartegnie at nordnet dot fr

I can't give you the code, as it's more like thousand lines with
dependancies.
I sent you privately a core dump.

As far as I identified, it seems it's a running schema like this ->

uksort (data, function_a)

function_a(a,b) 
{
  return function_b(a) < function_b(b)
}

with 
function_b(x)
{
    (code)
    //in come cases
    include_once("morefunctions.inc.php");
}

commenting the include_once, let it work flawless.
Included functions are just sql code without uksort.
So this currently seems from include_once. Also debugging gives me that
the referenced user function is out of bounds.

The last lines of strace output:

rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
fcntl64(7, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
read(7, 0x8b84aa8, 8192)                = -1 EAGAIN (Resource
temporarily unavailable)
fcntl64(7, F_SETFL, O_RDWR)             = 0
write(7, "\1\0\0\0\1", 5)               = 5
shutdown(7, 2 /* send and receive */)   = 0
close(7)                                = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV (core dumped) +++

I don't have the error on Athlon/2.6.15. Error comes on a Xeon/2.6.12.
First I thought about a stat_64 flaw, but the include and the 2.6.15
trace shows the right next instructions are to load the file (the
included_once one).

include_once causes too much locking ?

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

[2006-03-06 11:33:56] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc.

If possible, make the script source available online and provide
an URL to it here. Try to avoid embedding huge scripts into the report.



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

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/36626

-- 
Edit this bug report at http://bugs.php.net/?id=36626&edit=1

Reply via email to