Bug #71931 [Com]: Soap cache_wsdl WSDL_CACHE_MEMORY option on CLI
| From: | fedoreyev at gmail dot com | Date: | Thu, 20 Oct 2016 07:00:24 +0000 |
| Subject: | Bug #71931 [Com]: Soap cache_wsdl WSDL_CACHE_MEMORY option on CLI | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-204930@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=71931&edit=1
ID: 71931
Comment by: fedoreyev at gmail dot com
Reported by: nikspijkerman at gmail dot com
Summary: Soap cache_wsdl WSDL_CACHE_MEMORY option on CLI
Status: Open
Type: Bug
Package: SOAP related
Operating System: Ubuntu 14.04
PHP Version: 7.0.4
Block user comment: N
Private report: N
New Comment:
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-80.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /opt/php-7.1.0d/bin/php...done.
warning: core file may not match specified executable file.
[New LWP 21224]
Missing separate debuginfo for /lib64/libmysqlclient.so.18
Try: yum --enablerepo='*debug*' install
/usr/lib/debug/.build-id/97/92a5f335292ffd1eca1fefeb50672acaae2e07.debug
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/opt/php-7.1.0d/bin/php /home/vlru/adventure/app/console_test yading
--env=dr'.
Program terminated with signal 11, Segmentation fault.
#0 0x0000000000a2464d in zend_string_release (s=0x7f4ceb3be9b0) at
/usr/local/src/php-7.1.0RC4/Zend/zend_string.h:270
270 if (!ZSTR_IS_INTERNED(s)) {
Missing separate debuginfos, use: debuginfo-install cyrus-sasl-lib-2.1.26-20.el7_2.x86_64
freetype-2.4.11-11.el7.x86_64 glibc-2.17-106.el7_2.8.x86_64 keyutils-libs-1.5.8-3.el7.x86_64
krb5-libs-1.13.2-12.el7_2.x86_64 libcom_err-1.42.9-7.el7.x86_64 libcurl-7.29.0-25.el7.centos.x86_64
libgcc-4.8.5-4.el7.x86_64 libgcrypt-1.5.3-12.el7_1.1.x86_64 libgpg-error-1.12-3.el7.x86_64
libidn-1.28-4.el7.x86_64 libjpeg-turbo-1.2.90-5.el7.x86_64 libmcrypt-2.5.8-13.el7.x86_64
libpng-1.5.13-7.el7_2.x86_64 libselinux-2.2.2-6.el7.x86_64 libssh2-1.4.3-10.el7_2.1.x86_64
libstdc++-4.8.5-4.el7.x86_64 libtidy-0.99.0-31.20091203.el7.x86_64 libxml2-2.9.1-6.el7_2.3.x86_64
libxslt-1.1.28-5.el7.x86_64 nspr-4.11.0-1.el7_2.x86_64 nss-3.21.0-9.el7_2.x86_64
nss-softokn-freebl-3.16.2.3-14.2.el7_2.x86_64 nss-util-3.21.0-2.2.el7_2.x86_64
openldap-2.4.40-9.el7_2.x86_64 openssl-libs-1.0.1e-51.el7_2.5.x86_64 pcre-8.32-15.el7_2.1.x86_64
xz-libs-5.1.2-12alpha.el7.x86_64 zlib-1.2.7-15.el7.x86_64
(gdb) bt
#0 0x0000000000a2464d in zend_string_release (s=0x7f4ceb3be9b0) at
/usr/local/src/php-7.1.0RC4/Zend/zend_string.h:270
#1 0x0000000000a287af in zend_hash_destroy (ht=0x1bbd2f0) at
/usr/local/src/php-7.1.0RC4/Zend/zend_hash.c:1251
#2 0x00000000007e3727 in delete_type_persistent (zv=0x1b8eb18) at
/usr/local/src/php-7.1.0RC4/ext/soap/php_schema.c:2459
#3 0x0000000000a28714 in zend_hash_destroy (ht=0x1b8da00) at
/usr/local/src/php-7.1.0RC4/Zend/zend_hash.c:1238
#4 0x00000000007f1a17 in delete_psdl_int (p=0x1be5340) at
/usr/local/src/php-7.1.0RC4/ext/soap/php_sdl.c:3130
#5 0x00000000007f1ad7 in delete_psdl (zv=0x1b8d430) at
/usr/local/src/php-7.1.0RC4/ext/soap/php_sdl.c:3150
#6 0x0000000000a287ea in zend_hash_destroy (ht=0x1b00000) at
/usr/local/src/php-7.1.0RC4/Zend/zend_hash.c:1257
#7 0x00000000007b3963 in zm_shutdown_soap (type=1, module_number=33) at
/usr/local/src/php-7.1.0RC4/ext/soap/soap.c:598
#8 0x0000000000a1dc9c in module_destructor (module=0x19866d0) at
/usr/local/src/php-7.1.0RC4/Zend/zend_API.c:2499
#9 0x0000000000a12021 in module_destructor_zval (zv=0x7ffd2f850270) at
/usr/local/src/php-7.1.0RC4/Zend/zend.c:632
#10 0x0000000000a27dfd in _zend_hash_del_el_ex (ht=0x1444dc0 <module_registry>, idx=32,
p=0x19ba5a0, prev=0x0) at /usr/local/src/php-7.1.0RC4/Zend/zend_hash.c:1000
#11 0x0000000000a27ec8 in _zend_hash_del_el (ht=0x1444dc0 <module_registry>, idx=32,
p=0x19ba5a0) at /usr/local/src/php-7.1.0RC4/Zend/zend_hash.c:1023
#12 0x0000000000a291b5 in zend_hash_graceful_reverse_destroy (ht=0x1444dc0 <module_registry>)
at /usr/local/src/php-7.1.0RC4/Zend/zend_hash.c:1479
#13 0x0000000000a1bc57 in zend_destroy_modules () at
/usr/local/src/php-7.1.0RC4/Zend/zend_API.c:1978
#14 0x0000000000a1268d in zend_shutdown () at /usr/local/src/php-7.1.0RC4/Zend/zend.c:860
#15 0x0000000000984084 in php_module_shutdown () at /usr/local/src/php-7.1.0RC4/main/main.c:2401
#16 0x0000000000af4610 in main (argc=4, argv=0x197cb30) at
/usr/local/src/php-7.1.0RC4/sapi/cli/php_cli.c:1393
Previous Comments:
------------------------------------------------------------------------
[2016-10-04 23:49:03] dominic at varspool dot com
Sorry, more symbols:
#0 zend_hash_destroy (ht=0x55555656c0f0) at
/build/php7.0-j_qgKJ/php7.0-7.0.11/Zend/zend_hash.c:1278
#1 0x00007fffe7e81f51 in delete_type_persistent (zv=<optimized out>) at
/build/php7.0-j_qgKJ/php7.0-7.0.11/ext/soap/php_schema.c:2459
#2 0x00005555557b9ead in zend_hash_destroy (ht=0x5555563500f0) at
/build/php7.0-j_qgKJ/php7.0-7.0.11/Zend/zend_hash.c:1265
#3 0x00007fffe7e89401 in delete_psdl_int (p=<optimized out>) at
/build/php7.0-j_qgKJ/php7.0-7.0.11/ext/soap/php_sdl.c:3130
#4 0x00007fffe7e8946f in delete_psdl (zv=0x555556627c60) at
/build/php7.0-j_qgKJ/php7.0-7.0.11/ext/soap/php_sdl.c:3150
#5 0x00005555557b9da2 in zend_hash_destroy (ht=0x555556351320) at
/build/php7.0-j_qgKJ/php7.0-7.0.11/Zend/zend_hash.c:1276
#6 0x00007fffe7e59f0b in zm_shutdown_soap (type=<optimized out>, module_number=41) at
/build/php7.0-j_qgKJ/php7.0-7.0.11/ext/soap/soap.c:598
#7 0x00005555557affa3 in module_destructor (module=module@entry=0x555555c27430) at
/build/php7.0-j_qgKJ/php7.0-7.0.11/Zend/zend_API.c:2505
#8 0x00005555557a8a4c in module_destructor_zval (zv=<optimized out>) at
/build/php7.0-j_qgKJ/php7.0-7.0.11/Zend/zend.c:615
#9 0x00005555557ba918 in _zend_hash_del_el_ex (prev=<optimized out>, p=<optimized out>,
idx=<optimized out>, ht=<optimized out>) at
/build/php7.0-j_qgKJ/php7.0-7.0.11/Zend/zend_hash.c:1026
#10 _zend_hash_del_el (p=0x555555c1c550, idx=40, ht=0x555555b87860 <module_registry>) at
/build/php7.0-j_qgKJ/php7.0-7.0.11/Zend/zend_hash.c:1050
#11 zend_hash_graceful_reverse_destroy (ht=ht@entry=0x555555b87860 <module_registry>) at
/build/php7.0-j_qgKJ/php7.0-7.0.11/Zend/zend_hash.c:1502
#12 0x00005555557ae39c in zend_destroy_modules () at
/build/php7.0-j_qgKJ/php7.0-7.0.11/Zend/zend_API.c:1984
#13 0x00005555557a9a15 in zend_shutdown () at /build/php7.0-j_qgKJ/php7.0-7.0.11/Zend/zend.c:840
#14 0x000055555574d20b in php_module_shutdown () at
/build/php7.0-j_qgKJ/php7.0-7.0.11/main/main.c:2362
#15 0x000055555563cb36 in main (argc=7, argv=0x555555b8ad20) at
/build/php7.0-j_qgKJ/php7.0-7.0.11/sapi/cli/php_cli.c:1359
------------------------------------------------------------------------
[2016-10-04 23:45:53] dominic at varspool dot com
Still present in 7.0.11
Seen this in Ondrej Sury's builds, but also in the Docker library images
(https://hub.docker.com/_/php/) which are completely different, so it's unlikely to be related
to packaging.
Here's a bt with debugging symbols against 7.0.11
Program received signal SIGSEGV, Segmentation fault.
0x00005555557b9dab in zend_hash_destroy ()
(gdb) bt
#0 0x00005555557b9dab in zend_hash_destroy ()
#1 0x00007fffe7e81f51 in delete_type_persistent (zv=<optimized out>) at
/build/php7.0-j_qgKJ/php7.0-7.0.11/ext/soap/php_schema.c:2459
#2 0x00005555557b9ead in zend_hash_destroy ()
#3 0x00007fffe7e89401 in delete_psdl_int (p=<optimized out>) at
/build/php7.0-j_qgKJ/php7.0-7.0.11/ext/soap/php_sdl.c:3130
#4 0x00007fffe7e8946f in delete_psdl (zv=0x555556f0fc90) at
/build/php7.0-j_qgKJ/php7.0-7.0.11/ext/soap/php_sdl.c:3150
#5 0x00005555557b9da2 in zend_hash_destroy ()
#6 0x00007fffe7e59f0b in zm_shutdown_soap (type=<optimized out>, module_number=41) at
/build/php7.0-j_qgKJ/php7.0-7.0.11/ext/soap/soap.c:598
#7 0x00005555557affa3 in module_destructor ()
#8 0x00005555557a8a4c in ?? ()
#9 0x00005555557ba918 in zend_hash_graceful_reverse_destroy ()
#10 0x00005555557a9a15 in zend_shutdown ()
#11 0x000055555574d20b in php_module_shutdown ()
#12 0x000055555563cb36 in main ()
------------------------------------------------------------------------
[2016-05-19 09:12:17] johan-php at localhost dot nl
It's still there in 7.0.6 (Ubuntu 16.04).
------------------------------------------------------------------------
[2016-04-11 18:03:12] colin at mollenhour dot com
I have an almost identical segfault backtrace in a project not related to Symphony. I removed the
option for WSDL_CACHE_BOTH and will see if it resolved the issue but either way seems to be a bug in
the SOAP module.
PHP 7.0.5 - Ubuntu 14.04 - ondrej/php build
------------------------------------------------------------------------
[2016-03-31 10:34:30] nikspijkerman at gmail dot com
Description:
------------
Using the SoapClient option cache_wsdl: WSDL_CACHE_MEMORY and/or WSDL_CACHE_BOTH from the Symfony
2.8 Console causes a segmentation fault. Using WSDL_CACHE_DISK does not throw an error.
Simply executing the script from a plain PHP file does not seem to reproduce the fault.
[New LWP 29769]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `php app/console provider:generate_dfp_services'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f91f03700db in zend_hash_destroy ()
(gdb) bt
#0 0x00007f91f03700db in zend_hash_destroy ()
#1 0x00007f91dfaa7f31 in delete_type_persistent () from /usr/lib/php/20151012/soap.so
#2 0x00007f91f03701dd in zend_hash_destroy ()
#3 0x00007f91dfaaf3e1 in ?? () from /usr/lib/php/20151012/soap.so
#4 0x00007f91dfaaf44f in ?? () from /usr/lib/php/20151012/soap.so
#5 0x00007f91f03700d2 in zend_hash_destroy ()
#6 0x00007f91dfa7ff0b in zm_shutdown_soap () from /usr/lib/php/20151012/soap.so
#7 0x00007f91f0366313 in module_destructor ()
#8 0x00007f91f035eedc in ?? ()
#9 0x00007f91f0370c48 in zend_hash_graceful_reverse_destroy ()
#10 0x00007f91f035fea5 in zend_shutdown ()
#11 0x00007f91f0303f6b in php_module_shutdown ()
#12 0x00007f91f01f4486 in main ()
Test script:
---------------
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
class MySoapClientCommand extends ContainerAwareCommand
{
protected function configure()
{
$this->setName('app:mysoapclient');
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$wsdl = 'https://ads.google.com/apis/ads/publisher/v201502/ActivityService?wsdl';
$client = new \SoapClient($wsdl, ['cache_wsdl' => WSDL_CACHE_MEMORY]);
}
}
Then from the CLI:
$ php app/console app:mysoapclient
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=71931&edit=1