ID:               37083
 User updated by:  [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Feedback
+Status:           Open
 Bug Type:         SOAP related
 Operating System: Solaris 2.9
 PHP Version:      5CVS-2006-04-14 (snap)
 New Comment:

But your idea was good. I tried it with a CLI script that calls the
same code in a for loop:

[EMAIL PROTECTED]:~/test$ php test.php 
Loop: 0
Loop: 1
Illegal Instruction (core dumped)

Now i debug this...

(gdb) run test.php
Starting program: /pangaea/gnu/bin/php test.php
Loop: 0
Loop: 1

Program received signal SIGILL, Illegal instruction.
0x0071727c in ?? ()
(gdb) bt
#0  0x0071727c in ?? ()
#1  0x00717280 in ?? ()
Previous frame identical to this frame (corrupt stack?)
(gdb)

Compiling with/without --enable-debug does not show more info. But the
error is always SIGILL.

The code used for testing:
[EMAIL PROTECTED]:~/test$ cat test.php
<?php
for ($i=0; $i<20; $i++) {
 echo "Loop: ".$i."\n";
 $ws=new
SoapClient('http://ws.pangaea.de/ws/services/PangaVista?wsdl',array('encoding'=>'ISO-8859-1'));
 $ua='test/1.0';
 $sess=$ws->registerSession(NULL,$ua,'127.0.0.1',"PangaVista");
 $search=new stdClass();
 $search->queryString='grobe';
 $res=$ws->advSearch($sess,$search,0,10,'thumb');
}
?>


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

[2006-04-14 14:32:05] [EMAIL PROTECTED]

With CLI it works because CLI does not use the WSDL cache in memory
(after finishing the program it forgets its cache). The first call to
the webservice always works, even in the webserver.

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

[2006-04-14 14:29:25] [EMAIL PROTECTED]

Did you try to run the same code using CLI ?

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

[2006-04-14 13:31:21] [EMAIL PROTECTED]

When you read my mail you see that I CANNOT generate a backtrace
because:
a) the crash occurs on different locations (so I could send you about
20 different backtraces)
b) in most cases the stack is corrupt so no backtrace can be generated

If I had a backtrace I could fix it myself as I have done it in the
past. I know that the new caching code was submitted by andrei. I think
he knows what he has done. I would assign this bug to "andrei".

The error log shows in most cases the function name in which the crashs
occur.

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

[2006-04-14 13:25:25] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, 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 for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.

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

[2006-04-14 13:23:25] [EMAIL PROTECTED]

Description:
------------
Yesterday I tried the newest PHP 5.1 snapshot on my SunONE webserver (I
am the maintainer of the NSAPI SAPI code). This webserver is
multithreaded so your new WSDL caching code in ext/soap should work
great. But it doesn't.

The first call to a php script that uses SoapClient works correct
(everytime). Further requests to the same script crash the webserver
with SIGSERV, SIGBUS, SIGILL (illegal instruction!!!).

Because of the SIGILL I suspect that the caching code overwrites some
executale code.

The problem is that it happens at totally different locations, most
times there is not even a core dump available that can be analyzed
(stack is corrupt so no dump availabe). When I disable soap.wsdl-cache
completely, everything works again without any crash. I have seen that
with the new code no longer /tmp/wsdl-XXXXX files are generated. Is
there a possibility to switch 
to the older file-based caching code? For eaxample as enumeration in
the wsdl-cache php.ini configuration option? Is there any other
possibility to disable the wsdl cache code without undoing a lot of
soap patches? I want to update the webserver because of security 
reasons to latest snapshot.

Do you have similar problems with other webservers that are
multithreaded? Sorry that I cannot give more helpful information (the
crashes are totally different and the corefiles are mostly useless).

Reproduce code:
---------------
The first time after restart this code works without problems. Later
calls (when using the cashed WSDL) mostly crash:
$ws=new
SoapClient('http://ws.pangaea.de/ws/services/PangaVista?wsdl',array('encoding'=>'ISO-8859-1'));
$ua=isset($_SERVER['HTTP_USER_AGENT'])?$_SERVER['HTTP_USER_AGENT']:'nobrowser/0.0';
$sess=$ws->registerSession($this->session,$ua,$_SERVER['REMOTE_HOST'],"PangaVista");
$search=new stdClass();
$search->queryString='grobe';
$res=$ws->advSearch($sess,$search,$this->offset,$this->count,'thumb');
print_r($res);


Expected result:
----------------
No crash :)

Actual result:
--------------
All crashs from server log:

[13/Apr/2006:16:47:26] catastrophe (23690): CORE3260: Server crash
detected (signal SIGSEGV) 
[13/Apr/2006:16:47:26] info (23690): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:16:47:43] catastrophe (25142): CORE3260: Server crash
detected (signal SIGSEGV) 
[13/Apr/2006:16:47:43] info (25142): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:16:48:33] catastrophe (25149): CORE3260: Server crash
detected (signal SIGILL) 
[13/Apr/2006:16:48:33] info (25149): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:16:49:35] catastrophe (25237): CORE3260: Server crash
detected (signal SIGILL) 
[13/Apr/2006:16:49:35] info (25237): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:18:38:15] catastrophe ( 8381): CORE3260: Server crash
detected (signal SIGBUS) 
[13/Apr/2006:18:38:15] info ( 8381): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:18:38:15] info ( 8381): CORE3262: Crash occurred in
function master_to_xml from module /pangaea/webserver61/bin/libphp5.so

[13/Apr/2006:18:39:13] catastrophe (10615): CORE3260: Server crash
detected (signal SIGBUS) 
[13/Apr/2006:18:39:13] info (10615): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:18:39:13] info (10615): CORE3262: Crash occurred in
function master_to_xml from module /pangaea/webserver61/bin/libphp5.so

[13/Apr/2006:18:39:43] catastrophe (11680): CORE3260: Server crash
detected (signal SIGILL) 
[13/Apr/2006:18:39:43] info (11680): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:18:44:03] catastrophe (11702): CORE3260: Server crash
detected (signal SIGSEGV) 
[13/Apr/2006:18:44:03] info (11702): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:18:44:03] info (11702): CORE3262: Crash occurred in
function encode_reset_ns from module
/pangaea/webserver61/bin/libphp5.so 
[13/Apr/2006:18:45:48] catastrophe (11763): CORE3260: Server crash
detected (signal SIGSEGV) 
[13/Apr/2006:18:45:48] info (11763): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:18:45:59] catastrophe (11823): CORE3260: Server crash
detected (signal SIGSEGV) 
[13/Apr/2006:18:45:59] info (11823): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:18:59:50] catastrophe (12139): CORE3260: Server crash
detected (signal SIGILL) 
[13/Apr/2006:18:59:50] info (12139): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:19:00:26] catastrophe (12148): CORE3260: Server crash
detected (signal SIGSEGV) 
[13/Apr/2006:19:00:26] info (12148): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:19:02:17] catastrophe (12182): CORE3260: Server crash
detected (signal SIGSEGV) 
[13/Apr/2006:19:02:17] info (12182): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:19:02:17] info (12182): CORE3262: Crash occurred in
function strcmp from module /usr/lib/libc.so.1 
[13/Apr/2006:19:02:29] catastrophe (12214): CORE3260: Server crash
detected (signal SIGSEGV) 
[13/Apr/2006:19:02:29] info (12214): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:19:12:54] catastrophe (23547): CORE3260: Server crash
detected (signal SIGILL) 
[13/Apr/2006:19:12:54] info (23547): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:20:02:13] catastrophe ( 1965): CORE3260: Server crash
detected (signal SIGSEGV) 
[13/Apr/2006:20:02:13] info ( 1965): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:20:02:13] info ( 1965): CORE3262: Crash occurred in
function encode_reset_ns from module
/pangaea/webserver61/bin/libphp5.so 
[13/Apr/2006:20:04:37] catastrophe ( 3221): CORE3260: Server crash
detected (signal SIGSEGV) 
[13/Apr/2006:20:04:37] info ( 3221): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:20:04:37] info ( 3221): CORE3262: Crash occurred in
function whiteSpace_collapse from module
/pangaea/webserver61/bin/libphp5.so 
[13/Apr/2006:20:05:53] catastrophe ( 5772): CORE3260: Server crash
detected (signal SIGILL) 
[13/Apr/2006:20:05:53] info ( 5772): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:20:07:38] catastrophe ( 5845): CORE3260: Server crash
detected (signal SIGBUS) 
[13/Apr/2006:20:07:38] info ( 5845): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:20:07:38] info ( 5845): CORE3262: Crash occurred in
function master_to_xml from module /pangaea/webserver61/bin/libphp5.so

[13/Apr/2006:20:13:10] catastrophe ( 5916): CORE3260: Server crash
detected (signal SIGSEGV) 
[13/Apr/2006:20:13:10] info ( 5916): CORE3261: Crash occurred in NSAPI
SAF php5_execute 
[13/Apr/2006:20:13:10] info ( 5916): CORE3262: Crash occurred in
function whiteSpace_collapse from module
/pangaea/webserver61/bin/libphp5.so 



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


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

Reply via email to