Anonymous | Login | Signup for a new account | 10-08-2024 14:41 PDT |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | |||||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | |||||||
0006083 | [Quercus] | crash | always | 08-04-17 11:43 | 08-04-17 11:43 | |||||||
Reporter | michaelahlers | View Status | public | |||||||||
Assigned To | ||||||||||||
Priority | normal | Resolution | open | |||||||||
Status | new | Product Version | ||||||||||
Summary | 0006083: CurlMultiResource#execute Stuck in Infinite Loop | |||||||||||
Description |
When using curl_multi_exec, com.caucho.quercus.lib.curl.CurlMultiResource#execute is called in an infinite loop, apparently because _runningCount is never decremented as requests complete. This is easily reproducible with the following PHP script (using Guzzle) invoked using either QuercusEngine (or any other means): <?php $client = new \\Guzzle\\Http\\Client('https://caucho.com'); [^] $client->get('/')->send(); $client->get('/')->send(); ?> One request will succeed, but the script will always hang on subsequent requests. I found that adding this statement to com.caucho.quercus.lib.curl.CurlMultiResource#removeCurl (after _curlList.remove(curl)): if (isRemoved) { _runningCount--; } Reliably fixes the bug (however, I'm not sure what implications this might have besides). |
|||||||||||
Additional Information | ||||||||||||
Attached Files | ||||||||||||
|
There are no notes attached to this issue. |
Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
26 total queries executed. 24 unique queries executed. |