Bug #67828 [Fbk->NoF]: ReflectionProperty->getValue() causes segfault

From: Date: Sun, 18 Nov 2018 22:38:10 +0000
Subject: Bug #67828 [Fbk->NoF]: ReflectionProperty->getValue() causes segfault
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-218023@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=67828&edit=1 ID: 67828 Updated by: cmb@php.net Reported by: kshitijparajuli at gmail dot com Summary: ReflectionProperty->getValue() causes segfault -Status: Feedback +Status: No Feedback Type: Bug Package: Reflection related Operating System: Fedora 19 PHP Version: 5.5.15 Block user comment: N Private report: N New Comment: No feedback was provided. The bug is being suspended because we assume that you are no longer experiencing the problem. If this is not the case and you are able to provide the information that was requested earlier, please do so and change the status of the bug back to "Re-Opened". Thank you. Previous Comments: ------------------------------------------------------------------------ [2018-09-29 17:21:27] nikic@php.net Do crashes of this type still occur in recent PHP versions (PHP 7)? ------------------------------------------------------------------------ [2015-12-03 08:32:30] jasonpl at swiftnetworks dot com dot au I am running into a similar problem with doctrine and the reflection package as well. Again the code base is proprietary and again the reproduce steps appear to be long (but rather reproducible! which is both annoying and good) Environment: PHP 5.6.16-1+deb.sury.org~trusty+1 (cli) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies Linux swiftdesk8 3.13.0-68-generic #111-Ubuntu SMP Fri Nov 6 18:17:06 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux Description: Running PHPUnit I will get this crash as it is trying to populate the testing database. I have traced this particular crash back to a call against \ReflectionProperty::getDeclaringClass() ... after its 15892 call (note, the previous 15891 calls worked fine) Line 132 of doctrine/annotations/lib/Doctrine/Common/Annotations/FileCacheReader.php Doctrine Annotations v1.2.7 (https://api.github.com/repos/doctrine/annotations/zipball/f25c8aab83e0c3e976fd7d19875f198ccf2f7535) ------------------------------------------------------------------------ [2014-08-14 05:51:43] datibbaw@php.net Could you run the trace again without loading xdebug? ------------------------------------------------------------------------ [2014-08-12 13:33:01] kshitijparajuli at gmail dot com Description: ------------ Environment: Linux dev1 3.9.9-302.fc19.x86_64 #1 SMP Sat Jul 6 13:41:07 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux Fedora release 19 (Schrödinger’s Cat) PHP 5.5.14 (cli) (built: Jul 16 2014 11:41:07) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans Doctrine Command Line Interface version 2.3.6-DEV ClassMetadataInfo.php of doctrine calls ReflectionProperty->getValue() which causes a segfault. The reproducing steps are long and contain proprietary code. Unfortunately I have not been able to come up with something simpler. I was hoping the least this bug would do is return a result when someone searches for this bug. I will update if I find reproduction steps. Here is the phpinfo: http://pastebin.com/LnDRz8KG Expected result: ---------------- No segfault Actual result: -------------- strace: --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0xc4f1053d11} --- +++ killed by SIGSEGV ++ /var/log/messages: Aug 12 08:39:01 dev1 kernel: [62152.629221] php[3539]: segfault at f434172bd1 ip 00007ff432c3aae9 sp 00007fffa060b1b0 error 4 in php[7ff4329e7000+38c000] gdb: (gdb) bt #0 0x00007f8c8f5ceae9 in zend_std_read_property () #1 0x00007f8c8f5b61d7 in zend_read_property () #2 0x00007f8c8f4ab66e in zim_reflection_property_getValue () #3 0x00007f8c8f59a4ab in dtrace_execute_internal () #4 0x00007f8c8abb9a46 in xdebug_execute_internal () from /usr/lib64/php/modules/xdebug.so #5 0x00007f8c8f65a895 in zend_do_fcall_common_helper_SPEC () #6 0x00007f8c8f5d45c8 in execute_ex () #7 0x00007f8c8f59a3a9 in dtrace_execute_ex () #8 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #9 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #10 0x00007f8c8f5d45c8 in execute_ex () #11 0x00007f8c8f59a3a9 in dtrace_execute_ex () #12 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #13 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #14 0x00007f8c8f5d45c8 in execute_ex () #15 0x00007f8c8f59a3a9 in dtrace_execute_ex () #16 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #17 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #18 0x00007f8c8f5d45c8 in execute_ex () #19 0x00007f8c8f59a3a9 in dtrace_execute_ex () #20 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #21 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #22 0x00007f8c8f5d45c8 in execute_ex () #23 0x00007f8c8f59a3a9 in dtrace_execute_ex () #24 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #25 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #26 0x00007f8c8f5d45c8 in execute_ex () #27 0x00007f8c8f59a3a9 in dtrace_execute_ex () #28 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #29 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #30 0x00007f8c8f5d45c8 in execute_ex () #31 0x00007f8c8f59a3a9 in dtrace_execute_ex () #32 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #33 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #34 0x00007f8c8f5d45c8 in execute_ex () #35 0x00007f8c8f59a3a9 in dtrace_execute_ex () #36 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #37 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #38 0x00007f8c8f5d45c8 in execute_ex () #39 0x00007f8c8f59a3a9 in dtrace_execute_ex () #40 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #41 0x00007f8c8f659852 in ZEND_INCLUDE_OR_EVAL_SPEC_VAR_HANDLER () #42 0x00007f8c8f5d45c8 in execute_ex () #43 0x00007f8c8f59a3a9 in dtrace_execute_ex () #44 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #45 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #46 0x00007f8c8f5d45c8 in execute_ex () #47 0x00007f8c8f59a3a9 in dtrace_execute_ex () #48 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #49 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #50 0x00007f8c8f5d45c8 in execute_ex () #51 0x00007f8c8f59a3a9 in dtrace_execute_ex () #52 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so ---Type <return> to continue, or q <return> to quit--- #53 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #54 0x00007f8c8f5d45c8 in execute_ex () #55 0x00007f8c8f59a3a9 in dtrace_execute_ex () #56 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #57 0x00007f8c8f659852 in ZEND_INCLUDE_OR_EVAL_SPEC_VAR_HANDLER () #58 0x00007f8c8f5d45c8 in execute_ex () #59 0x00007f8c8f59a3a9 in dtrace_execute_ex () #60 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #61 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #62 0x00007f8c8f5d45c8 in execute_ex () #63 0x00007f8c8f59a3a9 in dtrace_execute_ex () #64 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #65 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #66 0x00007f8c8f5d45c8 in execute_ex () #67 0x00007f8c8f59a3a9 in dtrace_execute_ex () #68 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #69 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #70 0x00007f8c8f5d45c8 in execute_ex () #71 0x00007f8c8f59a3a9 in dtrace_execute_ex () #72 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #73 0x00007f8c8f659852 in ZEND_INCLUDE_OR_EVAL_SPEC_VAR_HANDLER () #74 0x00007f8c8f5d45c8 in execute_ex () #75 0x00007f8c8f59a3a9 in dtrace_execute_ex () #76 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #77 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #78 0x00007f8c8f5d45c8 in execute_ex () #79 0x00007f8c8f59a3a9 in dtrace_execute_ex () #80 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #81 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #82 0x00007f8c8f5d45c8 in execute_ex () #83 0x00007f8c8f59a3a9 in dtrace_execute_ex () #84 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #85 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #86 0x00007f8c8f5d45c8 in execute_ex () #87 0x00007f8c8f59a3a9 in dtrace_execute_ex () #88 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #89 0x00007f8c8f659852 in ZEND_INCLUDE_OR_EVAL_SPEC_VAR_HANDLER () #90 0x00007f8c8f5d45c8 in execute_ex () #91 0x00007f8c8f59a3a9 in dtrace_execute_ex () #92 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #93 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #94 0x00007f8c8f5d45c8 in execute_ex () #95 0x00007f8c8f59a3a9 in dtrace_execute_ex () #96 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #97 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #98 0x00007f8c8f5d45c8 in execute_ex () #99 0x00007f8c8f59a3a9 in dtrace_execute_ex () #100 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #101 0x00007f8c8f65aee0 in zend_do_fcall_common_helper_SPEC () #102 0x00007f8c8f5d45c8 in execute_ex () #103 0x00007f8c8f59a3a9 in dtrace_execute_ex () #104 0x00007f8c8abb8fcc in xdebug_execute_ex () from /usr/lib64/php/modules/xdebug.so #105 0x00007f8c8f5abed0 in zend_execute_scripts () ---Type <return> to continue, or q <return> to quit--- #106 0x00007f8c8f54bc65 in php_execute_script () #107 0x00007f8c8f65c8a8 in do_cli () #108 0x00007f8c8f436420 in main () xdebug trace: 54.4457 16731856 -> Tekelec\DVAT\Service\TagService->createTag() /home/vagrant/dvat/library/Tekelec/DVAT/Service/TagService.php:51 54.4457 16731856 -> Doctrine\ORM\EntityManager->merge() /home/vagrant/dvat/library/Tekelec/DVAT/Service/TagService.php:28 54.4457 16731904 -> is_object() /home/vagrant/dvat/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php:632 54.4457 16731856 -> Doctrine\ORM\EntityManager->errorIfClosed() /home/vagrant/dvat/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php:636 54.4457 16731856 -> Doctrine\ORM\UnitOfWork->merge() /home/vagrant/dvat/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php:638 54.4458 16731992 -> Doctrine\ORM\UnitOfWork->doMerge() /home/vagrant/dvat/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:1701 54.4458 16732136 -> spl_object_hash() /home/vagrant/dvat/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:1744 54.4458 16732448 -> get_class() /home/vagrant/dvat/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:1752 54.4458 16732496 -> Doctrine\ORM\EntityManager->getClassMetadata() /home/vagrant/dvat/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:1752 54.4458 16732496 -> Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->getMetadataFor() /home/vagrant/dvat/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php:268 54.4458 16732448 -> Doctrine\ORM\UnitOfWork->getEntityState() /home/vagrant/dvat/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:1760 54.4458 16732496 -> spl_object_hash() /home/vagrant/dvat/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:1367 54.4458 16732400 -> Doctrine\ORM\Mapping\ClassMetadataInfo->getIdentifierValues() /home/vagrant/dvat/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:1766 54.4458 16732448 -> ReflectionProperty->getValue() /home/vagrant/dvat/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php:672 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=67828&edit=1

« previous php.bugs (#218023) next »