Bug #71931 [Com]: Soap cache_wsdl WSDL_CACHE_MEMORY option on CLI

From: Date: Tue, 04 Oct 2016 23:45:54 +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-204457@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: 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 () Previous Comments: ------------------------------------------------------------------------ [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

« previous php.bugs (#204457) next »