m6w6 / ext-http

Extended HTTP Support
BSD 2-Clause "Simplified" License
79 stars 22 forks source link

[3.2.0] segfault and build failure since curl 7.62 #84

Closed remicollet closed 5 years ago

remicollet commented 5 years ago

From Fedora QA https://apps.fedoraproject.org/koschei/package/php-pecl-http?collection=f30

libcurl-devel: 7.61.1-3.fc30 => 7.62.0-1.fc30

=====================================================================
FAILED TEST SUMMARY
---------------------------------------------------------------------
client configuration [tests/client008.phpt]
client pipelining [tests/client018.phpt]
client cookies [tests/client021.phpt]
=====================================================================
remicollet commented 5 years ago
TEST 18/201 [tests/client008.phpt]
Warning: preg_match(): Compilation failed: missing closing parenthesis at offset 6 in /builddir/build/BUILD/php-pecl-http-3.2.0/NTS/run-tests.php on line 2245
========DIFF========
002+ 
003+  ** ERROR: process timed out **
002- (?:R
003- R
004- R
005- )+Done
========DONE========
FAIL client configuration [tests/client008.phpt] 

TEST 18/201 [tests/client008.phpt]
Warning: preg_match(): Compilation failed: missing closing parenthesis at offset 6 in /builddir/build/BUILD/php-pecl-http-3.2.0/NTS/run-tests.php on line 2245
========DIFF========
002+ 
003+  ** ERROR: process timed out **
002- (?:R
003- R
004- R
005- )+Done
========DONE========
FAIL client configuration [tests/client008.phpt] 

TEST 31/201 [tests/client021.phpt]
========DIFF========
009+ 
010+ Termsig=11
009- counter=2;
010- counter=3;
011- counter=4;
012- counter=5;
013- counter=6;
014- counter=1;
015- counter=1;
016- counter=1;
017- counter=2;
018- counter=3;
019- counter=4;
020- counter=1;
021- counter=1;
022- counter=1;
023- ===DONE===
========DONE========
FAIL client cookies [tests/client021.phpt] 

And GDB backtrace for the segfault (sorry about missing info...)

(gdb) bt
#0  0x00007ffff725b078 in ?? () from /lib64/libcurl.so.4
#1  0x00007ffff725d03d in ?? () from /lib64/libcurl.so.4
#2  0x00007ffff72a87a2 in ?? () from /lib64/libcurl.so.4
#3  0x00007ffff72a8aad in curl_easy_setopt () from /lib64/libcurl.so.4
#4  0x00007ffff73aab71 in php_http_client_curl_handler_clear (handler=<optimized out>) at /builddir/build/BUILD/php-pecl-http-3.2.
   0/NTS/src/php_http_client_curl.c:2062
#5  0x00007ffff73aab99 in php_http_client_curl_handler_dtor (handler=0x7ffff74a6000) at /builddir/build/BUILD/php-pecl-http-3.2.0/
   NTS/src/php_http_client_curl.c:2068
#6  0x00005555557ece08 in zend_llist_del_element ()
#7  0x00007ffff73ac180 in php_http_client_curl_dequeue (h=0x7ffff747c6c0, enqueue=<optimized out>) at /builddir/build/BU
   ILD/php-pecl-http-3.2.0/NTS/src/php_http_client_curl.c:2244
#8  0x00007ffff73ac1e2 in php_http_client_curl_reset (h=0x7ffff747c6c0) at /builddir/build/BUILD/php-pecl-http-3.2.0/NTS/src/php_http_cl
   ient_curl.c:2259
#9  0x00007ffff73a7737 in php_http_client_reset (h=0x7ffff747c6c0) at /builddir/build/BUILD/php-pecl-http-3.2.0/NTS/src/php_http_client.
   c:307
#10 0x00007ffff73a775d in php_http_client_dtor (h=0x7ffff747c6c0) at /builddir/build/BUILD/php-pecl-http-3.2.0/NTS/src/php_http_client.c
   :211
#11 0x00007ffff73a77a5 in php_http_client_free (h=h@entry=0x7ffff746b700) at /builddir/build/BUILD/php-pecl-http-3.2.0/NTS/src/p
   hp_http_client.c:224
#12 0x00007ffff73a77f8 in php_http_client_object_free (object=0x7ffff746b7d0) at /builddir/build/BUILD/php-pecl-http-3.2.0/NTS/src/
   php_http_client.c:339
#13 0x000055555582ecfe in zend_objects_store_del ()
#14 0x0000555555877a81 in ?? ()
#15 0x000055555587c471 in execute_ex ()
#16 0x0000555555882c87 in zend_execute ()
#17 0x00005555557f93dc in zend_execute_scripts ()
#18 0x0000555555798d00 in php_execute_script ()
#19 0x000055555588523f in ?? ()
#20 0x0000555555662fba in ?? ()
#21 0x00007ffff76f2f33 in __libc_start_main () from /lib64/libc.so.6
#22 0x00005555556630be in _start ()
m6w6 commented 5 years ago

Thanks, see https://github.com/curl/curl/pull/3613

m6w6 commented 5 years ago

And now finally https://github.com/curl/curl/pull/3621

m6w6 commented 5 years ago

@remicollet Did it really segfault with curl-7.62? ... because the apparently offending commit https://github.com/curl/curl/commit/a52e46f3900fb02fd45423c35d970703978fe6ff was only included since 7.63?

m6w6 commented 5 years ago

7.62 works fine here locally, unfortunately the build.log on Koji https://koji.fedoraproject.org/koji/taskinfo?taskID=30601394 for the build after the 7.62 upgrade 404s

remicollet commented 5 years ago

curl 7.64 in Fedora now include the fix for upstream issue See: https://bugzilla.redhat.com/show_bug.cgi?id=1683676

So only failure is reported separately as bug #86 https://apps.fedoraproject.org/koschei/package/php-pecl-http?collection=f31