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