|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2017-10-24 09:09 UTC] kalle@php.net
-Status: Open
+Status: Suspended
[2017-10-24 09:09 UTC] kalle@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Oct 30 20:00:01 2025 UTC |
Description: ------------ I'm actually using php 5.2.3 but the list only goes up to 5.2.1. Also using perl 5.8.8 from ports with all perl modules also from ports. Extension compiled as a shared object. No other shared Extensions loaded. Configure line is the standard php ports one: './configure' '--enable-versioning' '--with-layout=GNU' '--with-config-file-scan-dir=/usr/local/etc/php' '--disable-all' '--enable-libxml' '--with-libxml-dir=/usr/local' '--enable-reflection' '--program-prefix=' '--disable-cgi' '--with-apxs2=/usr/local/sbin/apxs' '--with-regex=php' '--with-zend-vm=CALL' '--prefix=/usr/local' When trying to create a perl object of class DNS::ZoneParse if a filename that does not exist, php segfaults. Reproduce code: --------------- <?php #If some_file.zone exists it works. If not, it segfaults. $zone_file = 'some_file.zone'; $perl = new Perl(); $perl->eval('use DNS::ZoneParse;'); global $zone_file; $zone = new Perl('DNS::ZoneParse', 'new', $zone_file); ?> Expected result: ---------------- Perl exception raised by class or an empty zone created or other graceful failure. Actual result: -------------- Segmentation fault (core dumped) drs# gdb /usr/local/bin/php php.core GNU gdb 6.1.1 [FreeBSD] <snip copyright> Core was generated by `php'. Program terminated with signal 11, Segmentation fault. <snip symbols> #0 0x28822125 in php_perl_get_class_name () from /usr/local/lib/php/20060613/perl.so (gdb) bt #0 0x28822125 in php_perl_get_class_name () from /usr/local/lib/php/20060613/perl.so #1 0x0814e4c0 in zend_get_object_classname () #2 0x0815d808 in zend_fetch_debug_backtrace () #3 0x08160604 in zend_default_exception_new_ex () #4 0x081606a6 in zend_default_exception_new () #5 0x0815014b in _object_and_properties_init () #6 0x08150182 in _object_init_ex () #7 0x08161b26 in zend_throw_exception () #8 0x08161bd7 in zend_throw_exception_ex () #9 0x28821a18 in php_perl_constructor_handler () from /usr/local/lib/php/20060613/perl.so #10 0x08169a4a in zend_do_fcall_common_helper_SPEC () #11 0x08169ee8 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER () #12 0x08169075 in execute () #13 0x0814ddf0 in zend_execute_scripts () #14 0x0810cd70 in php_execute_script () #15 0x081d449b in main ()