Edit report at https://bugs.php.net/bug.php?id=71163&edit=1
ID: 71163
Updated by: [email protected]
Reported by: bowersbros at gmail dot com
Summary: Segmentation Fault (cleanup_unfinished_calls)
Status: Assigned
Type: Bug
Package: *General Issues
Operating System: Ubuntu 14.04
PHP Version: 7.0.1
Assigned To: laruence
Block user comment: N
Private report: N
New Comment:
A simple reproduce script is:
<?php
function __autoload($name) {
eval ("class $name { public static function foo() {}}");
throw new Exception("boom");
}
function test2() {
try {
Test::foo();
} catch (Exception $e) {
}
}
function test() {
test2();
}
test();
and I've got fixes, but need more thinking... since there is not only one.. :)
Previous Comments:
------------------------------------------------------------------------
[2015-12-19 02:19:21] bowersbros at gmail dot com
Clarification:
I have two Virtual Machines running locally with PHP 7.0.1 and the github master branch (labelled as 7.1.0-dev)
Both of these machines are Ubuntu 14.04 based.
The 7.1.0-dev was compiled from source with _only_ --enable-debug configured. Nothing else.
The 7.0.1 was installed via https://launchpad.net/~ondrej/+archive/ubuntu/php-7.0
On the 7.1.0-dev the following commands cause the SegFault:
$ lithium/console/li3 test tests/cases/core/LibrariesTest.php
$ lithium/console/li3 test tests/cases/core
$ lithium/console/li3 test tests/cases
$ lithium/console/li3 test tests
--
On the 7.0.1 setup, the following commands cause the SegFault:
$ lithium/console/li3 test tests
The other commands from the 7.1.0-dev do not cause the SegFault.
However, the segmentation fault is caused by the same test case in the code.
As far as I can see, the cause is an include, but I cannot verify that for certain.
------------------------------------------------------------------------
[2015-12-19 01:44:43] bowersbros at gmail dot com
Description:
------------
When running the unit tests for the Lithium framework (Li3 - https://github.com/unionofrad/lithium), a segmentation fault occurs in one of the tests.
The error thrown is: php: /home/vagrant/php-src/Zend/zend_execute.c:2466: cleanup_unfinished_calls: Assertion `op_num' failed.
I have tried and failed to generate a core dump file, and run it through gdb.
This issue is present in 7.0.0 and 7.0.1, but not in 5.6.14 (not tested others)
It is also current in the current master branch on GitHub (labelled as 7.1.0-dev).
To recreate, clone https://github.com/alexbowers/lithium/tree/feature/alternative-string-fix and run the following command:
lithium/console/li3 test tests/cases/core/LibrariesTest.php
Sometimes this passes. I have two virtual machines locally, and on one this passes, on the other it doesn't.
When it does, running this command causes the SegFault:
lithium/console/li3 test tests
Test script:
---------------
https://github.com/alexbowers/lithium/tree/feature/alternative-string-fix
Expected result:
----------------
No Segmentation Fault (test may fail though)
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=71163&edit=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.