php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #49465 Soap Segmentation fault with ./configure --with-curlwrappers
Submitted: 2009-09-04 10:10 UTC Modified: 2009-09-04 16:10 UTC
From: xavier at jvweb dot fr Assigned:
Status: Closed Package: cURL related
PHP Version: 5.3.0 OS: ubuntu hardy amd64
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: xavier at jvweb dot fr
New email:
PHP Version: OS:

 

 [2009-09-04 10:10 UTC] xavier at jvweb dot fr
Description:
------------
A wsdl load via the SoapClient object generate a segmentation fault with curl wrappers enabled

Reproduce code:
---------------
<?php
ini_set("soap.wsdl_cache",0);

$s = new SoapClient("http://api.zanox.com/wsdl"); 

print_r($s->__getFunctions());
?>


./configure \
--prefix=/usr \
--disable-all \
--enable-soap \
--enable-libxml \
--with-curl \
--with-curlwrappers \



gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.2 --program-suffix=-4.2 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.2.4 (Ubuntu 4.2.4-1ubuntu4)


Expected result:
----------------
Starting program: /usr/src/php/php-5.3.0/sapi/cli/php do.php
[Thread debugging using libthread_db enabled]
[New Thread 0x7f1f1691d700 (LWP 9050)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f1f1691d700 (LWP 9050)]
0x00007f1f15c0cb3c in ?? () from /usr/lib/libcurl.so.4
(gdb) bt
#0  0x00007f1f15c0cb3c in ?? () from /usr/lib/libcurl.so.4
#1  0x00007f1f15c0d853 in ?? () from /usr/lib/libcurl.so.4
#2  0x00007f1f15c18d89 in ?? () from /usr/lib/libcurl.so.4
#3  0x00007f1f15c2a989 in ?? () from /usr/lib/libcurl.so.4
#4  0x00007f1f15c2b01b in curl_multi_perform () from /usr/lib/libcurl.so.4
#5  0x000000000048f61d in php_curl_stream_read (stream=0xb81910, buf=0xb82df0 "", count=8192) at /usr/src/php/php-5.3.0/ext/curl/streams.c:184
#6  0x00000000005e3640 in php_stream_fill_read_buffer (stream=0xb81910, size=4000) at /usr/src/php/php-5.3.0/main/streams/streams.c:562
#7  0x00000000005e3809 in _php_stream_read (stream=0xb81910, buf=0xbbc100 "", size=4000) at /usr/src/php/php-5.3.0/main/streams/streams.c:605
#8  0x00000000004605d6 in php_libxml_streams_IO_read (context=0xb81910, buffer=0xbbc100 "", len=4000) at /usr/src/php/php-5.3.0/ext/libxml/libxml.c:337
#9  0x00007f1f143d5dff in xmlParserInputBufferGrow () from /usr/lib/libxml2.so.2
#10 0x00007f1f143aeced in xmlParserInputGrow () from /usr/lib/libxml2.so.2
#11 0x00007f1f143b3392 in ?? () from /usr/lib/libxml2.so.2
#12 0x00007f1f143c59fd in xmlParseDocument () from /usr/lib/libxml2.so.2
#13 0x0000000000506093 in soap_xmlParseFile (filename=0xb80798 "http://api.zanox.com/wsdl") at /usr/src/php/php-5.3.0/ext/soap/php_xml.c:100
#14 0x00000000004ebb30 in load_wsdl_ex (this_ptr=0xb7ea80, struri=0xb80798 "http://api.zanox.com/wsdl", ctx=0x7fffffff98d0, include=0)
    at /usr/src/php/php-5.3.0/ext/soap/php_sdl.c:240
#15 0x00000000004eddbc in load_wsdl (this_ptr=0xb7ea80, struri=0xb80798 "http://api.zanox.com/wsdl") at /usr/src/php/php-5.3.0/ext/soap/php_sdl.c:654
#16 0x0000000000504f45 in get_sdl (this_ptr=0xb7ea80, uri=0xb80798 "http://api.zanox.com/wsdl", cache_wsdl=0) at /usr/src/php/php-5.3.0/ext/soap/php_sdl.c:3227
#17 0x00000000004aa2f8 in zim_SoapClient_SoapClient (ht=1, return_value=0xb7f8b8, return_value_ptr=0x0, this_ptr=0xb7ea80, return_value_used=0)
    at /usr/src/php/php-5.3.0/ext/soap/soap.c:2671
#18 0x000000000066adc4 in zend_do_fcall_common_helper_SPEC (execute_data=0x7f1f1680c090) at /usr/src/php/php-5.3.0/Zend/zend_vm_execute.h:313
#19 0x000000000066bba8 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7f1f1680c090) at /usr/src/php/php-5.3.0/Zend/zend_vm_execute.h:422
#20 0x000000000066a018 in execute (op_array=0xb7f710) at /usr/src/php/php-5.3.0/Zend/zend_vm_execute.h:104
#21 0x000000000063b268 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /usr/src/php/php-5.3.0/Zend/zend.c:1188
#22 0x00000000005c9994 in php_execute_script (primary_file=0x7fffffffd7e0) at /usr/src/php/php-5.3.0/main/main.c:2196
#23 0x000000000071e345 in main (argc=2, argv=0x7fffffffda48) at /usr/src/php/php-5.3.0/sapi/cli/php_cli.c:1188


Actual result:
--------------
Starting program: /usr/src/php/php-5.3.0/sapi/cli/php do.php
[Thread debugging using libthread_db enabled]
[New Thread 0x7f1f1691d700 (LWP 9050)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f1f1691d700 (LWP 9050)]
0x00007f1f15c0cb3c in ?? () from /usr/lib/libcurl.so.4
(gdb) bt
#0  0x00007f1f15c0cb3c in ?? () from /usr/lib/libcurl.so.4
#1  0x00007f1f15c0d853 in ?? () from /usr/lib/libcurl.so.4
#2  0x00007f1f15c18d89 in ?? () from /usr/lib/libcurl.so.4
#3  0x00007f1f15c2a989 in ?? () from /usr/lib/libcurl.so.4
#4  0x00007f1f15c2b01b in curl_multi_perform () from /usr/lib/libcurl.so.4
#5  0x000000000048f61d in php_curl_stream_read (stream=0xb81910, buf=0xb82df0 "", count=8192) at /usr/src/php/php-5.3.0/ext/curl/streams.c:184
#6  0x00000000005e3640 in php_stream_fill_read_buffer (stream=0xb81910, size=4000) at /usr/src/php/php-5.3.0/main/streams/streams.c:562
#7  0x00000000005e3809 in _php_stream_read (stream=0xb81910, buf=0xbbc100 "", size=4000) at /usr/src/php/php-5.3.0/main/streams/streams.c:605
#8  0x00000000004605d6 in php_libxml_streams_IO_read (context=0xb81910, buffer=0xbbc100 "", len=4000) at /usr/src/php/php-5.3.0/ext/libxml/libxml.c:337
#9  0x00007f1f143d5dff in xmlParserInputBufferGrow () from /usr/lib/libxml2.so.2
#10 0x00007f1f143aeced in xmlParserInputGrow () from /usr/lib/libxml2.so.2
#11 0x00007f1f143b3392 in ?? () from /usr/lib/libxml2.so.2
#12 0x00007f1f143c59fd in xmlParseDocument () from /usr/lib/libxml2.so.2
#13 0x0000000000506093 in soap_xmlParseFile (filename=0xb80798 "http://api.zanox.com/wsdl") at /usr/src/php/php-5.3.0/ext/soap/php_xml.c:100
#14 0x00000000004ebb30 in load_wsdl_ex (this_ptr=0xb7ea80, struri=0xb80798 "http://api.zanox.com/wsdl", ctx=0x7fffffff98d0, include=0)
    at /usr/src/php/php-5.3.0/ext/soap/php_sdl.c:240
#15 0x00000000004eddbc in load_wsdl (this_ptr=0xb7ea80, struri=0xb80798 "http://api.zanox.com/wsdl") at /usr/src/php/php-5.3.0/ext/soap/php_sdl.c:654
#16 0x0000000000504f45 in get_sdl (this_ptr=0xb7ea80, uri=0xb80798 "http://api.zanox.com/wsdl", cache_wsdl=0) at /usr/src/php/php-5.3.0/ext/soap/php_sdl.c:3227
#17 0x00000000004aa2f8 in zim_SoapClient_SoapClient (ht=1, return_value=0xb7f8b8, return_value_ptr=0x0, this_ptr=0xb7ea80, return_value_used=0)
    at /usr/src/php/php-5.3.0/ext/soap/soap.c:2671
#18 0x000000000066adc4 in zend_do_fcall_common_helper_SPEC (execute_data=0x7f1f1680c090) at /usr/src/php/php-5.3.0/Zend/zend_vm_execute.h:313
#19 0x000000000066bba8 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7f1f1680c090) at /usr/src/php/php-5.3.0/Zend/zend_vm_execute.h:422
#20 0x000000000066a018 in execute (op_array=0xb7f710) at /usr/src/php/php-5.3.0/Zend/zend_vm_execute.h:104
#21 0x000000000063b268 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /usr/src/php/php-5.3.0/Zend/zend.c:1188
#22 0x00000000005c9994 in php_execute_script (primary_file=0x7fffffffd7e0) at /usr/src/php/php-5.3.0/main/main.c:2196
#23 0x000000000071e345 in main (argc=2, argv=0x7fffffffda48) at /usr/src/php/php-5.3.0/sapi/cli/php_cli.c:1188


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2009-09-04 10:13 UTC] xavier at jvweb dot fr
oups, got midle click pb:
Actual result:
--------------
>__getFunctions());'
Array
(
    [0] => CreateAdspaceResponse CreateAdspace(CreateAdspace $CreateAdspace)
    [1] => CreateProgramApplicationResponse CreateProgramApplication(CreateProgramApplication $CreateProgramApplication)
    [2] => DeleteAdspaceResponse DeleteAdspace(DeleteAdspace $DeleteAdspace)
    [3] => DeleteProgramApplicationResponse DeleteProgramApplication(DeleteProgramApplication $DeleteProgramApplication)
    [4] => GetAccountsResponse GetAccounts(GetAccounts $GetAccounts)
    [5] => GetAdmediaResponse GetAdmedia(GetAdmedia $GetAdmedia)
    [6] => GetAdmediumResponse GetAdmedium(GetAdmedium $GetAdmedium)
    [7] => GetAdmediumCategoriesResponse GetAdmediumCategories(GetAdmediumCategories $GetAdmediumCategories)
    [8] => GetAdspaceResponse GetAdspace(GetAdspace $GetAdspace)
    [9] => GetAdspacesResponse GetAdspaces(GetAdspaces $GetAdspaces)
    [10] => GetBalancesResponse GetBalances(GetBalances $GetBalances)
    [11] => GetLeadsResponse GetLeads(GetLeads $GetLeads)
    [12] => GetPaymentsResponse GetPayments(GetPayments $GetPayments)
    [13] => GetProductResponse GetProduct(GetProduct $GetProduct)
    [14] => GetProductsResponse GetProducts(GetProducts $GetProducts)
    [15] => GetProfileResponse GetProfile(GetProfile $GetProfile)
    [16] => GetProgramResponse GetProgram(GetProgram $GetProgram)
    [17] => GetProgramCategoriesResponse GetProgramCategories(GetProgramCategories $GetProgramCategories)
    [18] => GetProgramPromotionsResponse GetProgramPromotions(GetProgramPromotions $GetProgramPromotions)
    [19] => GetProgramsResponse GetPrograms(GetPrograms $GetPrograms)
    [20] => GetSalesResponse GetSales(GetSales $GetSales)
    [21] => SearchProductsResponse SearchProducts(SearchProducts $SearchProducts)
    [22] => SearchProgramsResponse SearchPrograms(SearchPrograms $SearchPrograms)
    [23] => UpdateAdspaceResponse UpdateAdspace(UpdateAdspace $UpdateAdspace)
    [24] => UpdateProfileResponse UpdateProfile(UpdateProfile $UpdateProfile)
)
 [2009-09-04 10:19 UTC] xavier at jvweb dot fr
sorry i'm tired :|

Expected result:
----------------
Array
(
    [0] => CreateAdspaceResponse CreateAdspace(CreateAdspace $CreateAdspace)
    [1] => CreateProgramApplicationResponse CreateProgramApplication(CreateProgramApplication $CreateProgramApplication)
    [2] => DeleteAdspaceResponse DeleteAdspace(DeleteAdspace $DeleteAdspace)
    [3] => DeleteProgramApplicationResponse DeleteProgramApplication(DeleteProgramApplication $DeleteProgramApplication)
    [4] => GetAccountsResponse GetAccounts(GetAccounts $GetAccounts)
    [5] => GetAdmediaResponse GetAdmedia(GetAdmedia $GetAdmedia)
    [6] => GetAdmediumResponse GetAdmedium(GetAdmedium $GetAdmedium)
    [7] => GetAdmediumCategoriesResponse GetAdmediumCategories(GetAdmediumCategories $GetAdmediumCategories)
    [8] => GetAdspaceResponse GetAdspace(GetAdspace $GetAdspace)
    [9] => GetAdspacesResponse GetAdspaces(GetAdspaces $GetAdspaces)
    [10] => GetBalancesResponse GetBalances(GetBalances $GetBalances)
    [11] => GetLeadsResponse GetLeads(GetLeads $GetLeads)
    [12] => GetPaymentsResponse GetPayments(GetPayments $GetPayments)
    [13] => GetProductResponse GetProduct(GetProduct $GetProduct)
    [14] => GetProductsResponse GetProducts(GetProducts $GetProducts)
    [15] => GetProfileResponse GetProfile(GetProfile $GetProfile)
    [16] => GetProgramResponse GetProgram(GetProgram $GetProgram)
    [17] => GetProgramCategoriesResponse GetProgramCategories(GetProgramCategories $GetProgramCategories)
    [18] => GetProgramPromotionsResponse GetProgramPromotions(GetProgramPromotions $GetProgramPromotions)
    [19] => GetProgramsResponse GetPrograms(GetPrograms $GetPrograms)
    [20] => GetSalesResponse GetSales(GetSales $GetSales)
    [21] => SearchProductsResponse SearchProducts(SearchProducts $SearchProducts)
    [22] => SearchProgramsResponse SearchPrograms(SearchPrograms $SearchPrograms)
    [23] => UpdateAdspaceResponse UpdateAdspace(UpdateAdspace $UpdateAdspace)
    [24] => UpdateProfileResponse UpdateProfile(UpdateProfile $UpdateProfile)
)

Actual result:
--------------
Starting program: /usr/src/php/php-5.3.0/sapi/cli/php do.php
[Thread debugging using libthread_db enabled]
[New Thread 0x7f1f1691d700 (LWP 9050)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f1f1691d700 (LWP 9050)]
0x00007f1f15c0cb3c in ?? () from /usr/lib/libcurl.so.4
(gdb) bt
#0  0x00007f1f15c0cb3c in ?? () from /usr/lib/libcurl.so.4
#1  0x00007f1f15c0d853 in ?? () from /usr/lib/libcurl.so.4
#2  0x00007f1f15c18d89 in ?? () from /usr/lib/libcurl.so.4
#3  0x00007f1f15c2a989 in ?? () from /usr/lib/libcurl.so.4
#4  0x00007f1f15c2b01b in curl_multi_perform () from /usr/lib/libcurl.so.4
#5  0x000000000048f61d in php_curl_stream_read (stream=0xb81910, buf=0xb82df0 "", count=8192) at /usr/src/php/php-5.3.0/ext/curl/streams.c:184
#6  0x00000000005e3640 in php_stream_fill_read_buffer (stream=0xb81910, size=4000) at /usr/src/php/php-5.3.0/main/streams/streams.c:562
#7  0x00000000005e3809 in _php_stream_read (stream=0xb81910, buf=0xbbc100 "", size=4000) at /usr/src/php/php-5.3.0/main/streams/streams.c:605
#8  0x00000000004605d6 in php_libxml_streams_IO_read (context=0xb81910, buffer=0xbbc100 "", len=4000) at /usr/src/php/php-5.3.0/ext/libxml/libxml.c:337
#9  0x00007f1f143d5dff in xmlParserInputBufferGrow () from /usr/lib/libxml2.so.2
#10 0x00007f1f143aeced in xmlParserInputGrow () from /usr/lib/libxml2.so.2
#11 0x00007f1f143b3392 in ?? () from /usr/lib/libxml2.so.2
#12 0x00007f1f143c59fd in xmlParseDocument () from /usr/lib/libxml2.so.2
#13 0x0000000000506093 in soap_xmlParseFile (filename=0xb80798 "http://api.zanox.com/wsdl") at /usr/src/php/php-5.3.0/ext/soap/php_xml.c:100
#14 0x00000000004ebb30 in load_wsdl_ex (this_ptr=0xb7ea80, struri=0xb80798 "http://api.zanox.com/wsdl", ctx=0x7fffffff98d0, include=0)
    at /usr/src/php/php-5.3.0/ext/soap/php_sdl.c:240
#15 0x00000000004eddbc in load_wsdl (this_ptr=0xb7ea80, struri=0xb80798 "http://api.zanox.com/wsdl") at /usr/src/php/php-5.3.0/ext/soap/php_sdl.c:654
#16 0x0000000000504f45 in get_sdl (this_ptr=0xb7ea80, uri=0xb80798 "http://api.zanox.com/wsdl", cache_wsdl=0) at /usr/src/php/php-5.3.0/ext/soap/php_sdl.c:3227
#17 0x00000000004aa2f8 in zim_SoapClient_SoapClient (ht=1, return_value=0xb7f8b8, return_value_ptr=0x0, this_ptr=0xb7ea80, return_value_used=0)
    at /usr/src/php/php-5.3.0/ext/soap/soap.c:2671
#18 0x000000000066adc4 in zend_do_fcall_common_helper_SPEC (execute_data=0x7f1f1680c090) at /usr/src/php/php-5.3.0/Zend/zend_vm_execute.h:313
#19 0x000000000066bba8 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7f1f1680c090) at /usr/src/php/php-5.3.0/Zend/zend_vm_execute.h:422
#20 0x000000000066a018 in execute (op_array=0xb7f710) at /usr/src/php/php-5.3.0/Zend/zend_vm_execute.h:104
#21 0x000000000063b268 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /usr/src/php/php-5.3.0/Zend/zend.c:1188
#22 0x00000000005c9994 in php_execute_script (primary_file=0x7fffffffd7e0) at /usr/src/php/php-5.3.0/main/main.c:2196
#23 0x000000000071e345 in main (argc=2, argv=0x7fffffffda48) at /usr/src/php/php-5.3.0/sapi/cli/php_cli.c:1188
 [2009-09-04 11:23 UTC] jani@php.net
Please try using this snapshot:

  http://snaps.php.net/php5.3-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/


 [2009-09-04 12:08 UTC] xavier at jvweb dot fr
php5.3-200909041030 has solved this problem.

thanks a lot
 [2009-09-04 16:10 UTC] jani@php.net
Yes, I was quite sure it would since this was reported earlier few 
times..search helps a lot.. ;)
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Sat Jul 05 06:01:36 2025 UTC