From: arekm at pld-linux dot org Operating system: Linux PHP version: 5.1.2 PHP Bug Type: Session related Bug description: SOAP usage halts session
Description: ------------ Very long running SOAP query in one tab in web browser halts the same session on the server so nothing can be done in the same app (using the same session) in second tab of the browser. Reproduce code: --------------- <?php session_start(); $cmd = $_GET["cmd"]; if (isset($_SESSION["cnt"])) $_SESSION["cnt"]++; else $_SESSION["cnt"] = 0; switch ($cmd) { case "soap": $client = new SoapClient(NULL, array('location' => "http://www.nask.pl:1000" /* unreachable host */, 'uri' => "blah", 'encoding'=>'ISO-8859-2', 'trace' => true, 'exceptions' => false)); $response = $client->__soapCall("blah", array()); if (is_soap_fault($response)) echo "SOAP fault<br>"; break; case "disp": echo "DISPLAY ME " . $_SESSION["cnt"] . "<br>"; break; } ?> <a href="a.php?cmd=soap">soap</a> <a href="a.php?cmd=disp">disp</a> Expected result: ---------------- DISPLAY ME X where X increases without waiting for SOAP query to finish. Actual result: -------------- Browser waits for server reply and gets it only after soap query finishes. How to reproduce? 1) open http://somwhere/a.php?cmd=disp in two tabs of the same browser (so php session will be shared) ... where a.php is php script above 2) click disp several times, counter should increase 3) in second tab try click on soap (which will issue soap query to unreachable server/port so it will take long time) 4) back in first tab try to click on disp now at 4) browser will wait for server to reply until soap query finishes -- Edit bug report at http://bugs.php.net/?id=36142&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=36142&r=trysnapshot44 Try a CVS snapshot (PHP 5.1): http://bugs.php.net/fix.php?id=36142&r=trysnapshot51 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=36142&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=36142&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=36142&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=36142&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=36142&r=needscript Try newer version: http://bugs.php.net/fix.php?id=36142&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=36142&r=support Expected behavior: http://bugs.php.net/fix.php?id=36142&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=36142&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=36142&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=36142&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=36142&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=36142&r=dst IIS Stability: http://bugs.php.net/fix.php?id=36142&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=36142&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=36142&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=36142&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=36142&r=mysqlcfg