From: david at jool dot nl
Operating system: winxp
PHP version: 5CVS-2006-02-14 (snap)
PHP Bug Type: SOAP related
Bug description: PHP crash when throwing exception and session persistence
Description:
------------
When using the soap extension to expose a certain class and setting the
persistence to SOAP_PERSISTENCE_SESSION, PHP crashes when I throw an
Exception.
Reproduce code:
---------------
<?php
class test1 {
function soapFunction($param) {
throw new Exception("something went wrong");
return "blaat aap: ". $param;
}
}
if($_GET["type"]=="server") {
$server = new SOAPServer(null, array("uri"=>
"http://some.example.uri/"));
$server->setClass("test1");
$server->setPersistence(SOAP_PERSISTENCE_SESSION);
$server->handle();
} else { //client
$client = new SOAPClient(null, array('location' =>
'http://'.$_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"].'?type=server',
'uri'=> 'http://some.example.uri/'));
$res = $client->__call("soapFunction", array("hey!"));
var_dump($res);
}
?>
Expected result:
----------------
Fatal error: Uncaught SoapFault exception: [Client] looks like we got no
XML document in f:\myweb\contentarea\tests\bug_exception.php:15 Stack
trace: #0 f:\myweb\contentarea\tests\bug_exception.php(15):
SoapClient->__call('soapFunction', Array) #1 {main} thrown in
f:\myweb\contentarea\tests\bug_exception.php on line 15
Actual result:
--------------
PHP / Apache crash
--
Edit bug report at http://bugs.php.net/?id=36388&edit=1
--
Try a CVS snapshot (PHP 4.4):
http://bugs.php.net/fix.php?id=36388&r=trysnapshot44
Try a CVS snapshot (PHP 5.1):
http://bugs.php.net/fix.php?id=36388&r=trysnapshot51
Try a CVS snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=36388&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=36388&r=fixedcvs
Fixed in release:
http://bugs.php.net/fix.php?id=36388&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=36388&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=36388&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=36388&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=36388&r=support
Expected behavior: http://bugs.php.net/fix.php?id=36388&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=36388&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=36388&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=36388&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=36388&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=36388&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=36388&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=36388&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=36388&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=36388&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=36388&r=mysqlcfg