ID: 37171
User updated by: bishopx at quick dot cz
Reported By: bishopx at quick dot cz
-Status: Feedback
+Status: Open
Bug Type: cURL related
Operating System: win32
PHP Version: 5.1.3RC3
New Comment:
This is the call stack generated in VC8 using debug symbols for VC6, so
the info is incomplete. However, I was able to decipher from asm that it
crashes when reading the pointer curl_llist_element *e, the second
argument of Curl_llist_insert_next(), hence the error:
Unhandled exception at 0x013d0c78 (php_curl.dll) in httpd.exe:
0xC0000005: Access violation reading location 0x00000008.
> php_curl.dll!_Curl_llist_insert_next() + 0x48 bytes
php_curl.dll!_Curl_hash_add() + 0x71 bytes
php_curl.dll!_Curl_cache_addr() + 0x6b bytes
php_curl.dll!_Curl_addrinfo4_callback() + 0x82 bytes
php_curl.dll!_Curl_addrinfo4_callback() + 0x14 bytes
php_curl.dll!_Curl_getaddrinfo() + 0x2af bytes
ntdll.dll!7c91056d()
[Frames below may be incorrect and/or missing, no symbols loaded for
ntdll.dll]
kernel32.dll!7c80b50b()
ntdll.dll!7c91056d()
kernel32.dll!7c8399f3()
.. this looks like a thread created in php_curl.
I suggest to implement debug tracing like this one:
http://www.codeproject.com/debug/extendedtrace.asp
This would greatly improve the feedback from users, because there would
be no need for installing Visual Studio or compiling the source. Only 2
things are needed: pdb files and dbghelp.dll (a text file is
generated).
Previous Comments:
------------------------------------------------------------------------
[2006-04-22 20:30:57] [EMAIL PROTECTED]
Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32
Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.
------------------------------------------------------------------------
[2006-04-22 20:26:06] bishopx at quick dot cz
I already tried, crashing..
------------------------------------------------------------------------
[2006-04-22 19:58:02] [EMAIL PROTECTED]
Please try using this CVS snapshot:
http://snaps.php.net/php5.1-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.1-win32-latest.zip
------------------------------------------------------------------------
[2006-04-22 19:49:49] bishopx at quick dot cz
Description:
------------
php_curl.dll is the cause of frequent crashes when using curl_multi_*()
functions, especially curl*_close() and curl_multi_remove_handle().
However, even other functions sometimes cause a crash (I removed the
above ones). The situation in the latest snapshots remains the same.
It looks like a poor thread synchronisation.
Apache 2.2.x used.
Reproduce code:
---------------
This should work fine:
http://php.net/manual/en/function.curl-multi-exec.php#48813
..but you may have to increase the number of links in $connomains, or
change them to pictures.
Expected result:
----------------
The code doesn't crash the webserver.
Actual result:
--------------
The code often crashes the webserver (not always).
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=37171&edit=1