ID: 50219 Updated by: pierr...@php.net Reported By: zedorg at gmail dot com -Status: Open +Status: Closed Bug Type: SOAP related Operating System: Any PHP Version: 5.3.0 Assigned To: pierrick New Comment:
This bug has been fixed in SVN. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2009-11-21 01:22:33] s...@php.net Automatic comment from SVN on behalf of pierrick Revision: http://svn.php.net/viewvc/?view=revision&revision=291104 Log: Fixed bug #50219 (soap call Segmentation fault on a redirected url). ------------------------------------------------------------------------ [2009-11-18 14:41:59] zedorg at gmail dot com Description: ------------ Making a soap call to an url which redirects, cause segfault in php. Can reproduce in the following systems and versions: php 5.3(win32bit), php 5.2.9(linux, debian 64bit), php 5.2.6(win32bit), Reproduce code: --------------- $s=new SoapClient('valid.wsdl',array('location'=>'http://www.horacero.com.mx','classmap'=>array('doAny'=>'DoAny'))); // passes $s->doAny(null) // segfault here Expected result: ---------------- throwing a SoapFault exception Actual result: -------------- php Segmentation fault Here is the last lines from strace output: ... socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3 connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("216.52.254.1")}, 28) = 0 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 poll([{fd=3, events=POLLOUT, revents=POLLOUT}], 1, 0) = 1 sendto(3, "\333\355\1\0\0\1\0\0\0\0\0\0\3www\10horacero\3com\2mx"..., 37, 0, NULL, 0) = 37 poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 5000) = 1 ioctl(3, FIONREAD, [136]) = 0 recvfrom(3, "\333\355\201\200\0\1\0\0\0\1\0\0\3www\10horacero\3com\2"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("216.52.254.1")}, [16]) = 136 close(3) = 0 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3 connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("216.52.254.1")}, 28) = 0 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 poll([{fd=3, events=POLLOUT, revents=POLLOUT}], 1, 0) = 1 sendto(3, "\271\315\1\0\0\1\0\0\0\0\0\0\3www\10horacero\3com\2mx"..., 48, 0, NULL, 0) = 48 poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 5000) = 1 ioctl(3, FIONREAD, [107]) = 0 recvfrom(3, "\271\315\201\200\0\1\0\0\0\1\0\0\3www\10horacero\3com\2"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("216.52.254.1")}, [16]) = 107 close(3) = 0 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3 connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("216.52.254.1")}, 28) = 0 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 poll([{fd=3, events=POLLOUT, revents=POLLOUT}], 1, 0) = 1 sendto(3, "\303a\1\0\0\1\0\0\0\0\0\0\3www\10horacero\3com\2mx"..., 37, 0, NULL, 0) = 37 poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 5000) = 1 ioctl(3, FIONREAD, [186]) = 0 recvfrom(3, "\303a\201\200\0\1\0\1\0\3\0\2\3www\10horacero\3com\2mx"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("216.52.254.1")}, [16]) = 186 close(3) = 0 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 connect(3, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("208.94.113.194")}, 16) = -1 EINPROGRESS (Operation now in progress) poll([{fd=3, events=POLLIN|POLLOUT|POLLERR|POLLHUP, revents=POLLOUT}], 1, 60000) = 1 getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 fcntl(3, F_SETFL, O_RDWR) = 0 sendto(3, "POST / HTTP/1.1\r\nHost: www.horac"..., 504, MSG_DONTWAIT, NULL, 0) = 504 poll([{fd=3, events=POLLIN|POLLERR|POLLHUP, revents=POLLIN}], 1, 60000) = 1 recvfrom(3, "HTTP/1.1 302 Object moved\r\nDate:"..., 8192, MSG_DONTWAIT, NULL, NULL) = 402 close(3) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- The url: www dot horacero dot com dot mx gives the following headers: HTTP/1.x 302 Object moved Date: Wed, 18 Nov 2009 14:36:10 GMT Location: portada/ Content-Length: 129 Content-Type: text/html Cache-Control: private ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=50219&edit=1