ID:               26332
 User updated by:  foxkill at gmx dot de
 Reported By:      foxkill at gmx dot de
-Status:           No Feedback
+Status:           Open
 Bug Type:         cURL related
 Operating System: Linux
-PHP Version:      5CVS-2003-11-20 (dev)
+PHP Version:      5.0.0RC1-dev
 New Comment:

You'll find the script to reproduce the error under:

http://www.secnow.de/websearch/websearch.txt



The script runs either in an endless loop or if it terminates it
prints:

Last leak repeated 2 times

/opt/local/src/lamp/php5-src/ext/curl/multi.c(62) :  Freeing 0x40291A34
(8 bytes), script=websearch.php

=== Total 4 memory leaks detected ===


Previous Comments:
------------------------------------------------------------------------

[2004-02-24 17:13:24] [EMAIL PROTECTED]

No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.



------------------------------------------------------------------------

[2004-02-20 04:52:21] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc.

If possible, make the script source available online and provide
an URL to it here. Try avoid embedding huge scripts into the report.



------------------------------------------------------------------------

[2003-11-20 09:48:05] foxkill at gmx dot de

Description:
------------
I try to use curl_multi_fdset() together with curl_multi_exec() in
php5. But this doesn't work.

I modelled my php code after the sample (multi-app.c) which is provided
by the curl-src package.

Reproduce code:
---------------
this is the code I use for php5 (three single curl handles were
added):



while (CURLM_CALL_MULTI_PERFORM == curl_multi_exec($m, $still_running))


  ;



while ($still_running) {

     $fd = curl_multi_select($m, 1);



     switch($fd) {

        case -1:

        break;



        case 0:

        default:

        while (CURLM_CALL_MULTI_PERFORM == curl_multi_exec($m,
$still_running))

          ;

    }

}

Expected result:
----------------
The code should behave like the multi-app.c sample. See
[curl-src]/docs/examples/multi-app.c.

Actual result:
--------------
The code runs in an endless loop. Because curl_multi_exec() (alias
curl_multi_perform()) needs to reference the variables readfds,
writefds which were set by a previous call to curl_multi_fdset(). But
these fdsets have gone out of scope. The C Code works because the
fdsets are still present on the stack. See man 3 curl_multi_fdset for
further details. curl --version gives:



curl 7.10.8 (i686-pc-linux-gnu) libcurl/7.10.8 OpenSSL/0.9.7c
zlib/1.1.4

Protocols: ftp gopher ldap http file https ftps

Features: SSL libz NTLM




------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=26332&edit=1

Reply via email to