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
 [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

Add a Patch

Pull Requests

Add a Pull Request

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-2024 The PHP Group
All rights reserved.
Last updated: Wed May 08 22:01:32 2024 UTC