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

Reply via email to