Bug #71931 [Com]: Soap cache_wsdl WSDL_CACHE_MEMORY option on CLI
| From: | dominic at varspool dot com | Date: | Tue, 04 Oct 2016 23:49:04 +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-204459@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: dominic at varspool 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:
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
Previous Comments:
------------------------------------------------------------------------
[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