Edit report at https://bugs.php.net/bug.php?id=71129&edit=1
ID: 71129
Updated by: [email protected]
Reported by: maroszek at gmx dot net
Summary: Segmentation fault on ZTS Embed SAPI
-Status: Feedback
+Status: Closed
Type: Bug
Package: Reproducible crash
Operating System: OS X 11.11
PHP Version: 7.0.0
Block user comment: N
Private report: N
New Comment:
Automatic comment on behalf of ab
Revision: http://git.php.net/?p=php-src.git;a=commit;h=4c55669caa96f6202c2047a7baf6c5d5894d5fa7
Log: Partially fix bug #71129
Previous Comments:
------------------------------------------------------------------------
[2015-12-18 15:05:45] maroszek at gmx dot net
It seems to fix the segfault for Debian :)
But unfortunately this does not fix the problem on OS X.
If you look at the error message:
<b>Fatal error</b>: Maximum execution time of 30 seconds exceeded in <b>Unknown</b> on line <b>0</b><br />
This does seems more like a timing/signaling bug, doesn't it? The timeout should never be hit...
Do you have any chance to test this issue on OS X? Can i be of any further assistance?
------------------------------------------------------------------------
[2015-12-18 13:27:45] [email protected]
Thanks for the update. Yeah, now it works. Please check whether this fixes the issue on your side
diff --git a/Zend/zend.c b/Zend/zend.c
index ec520b8..e122b04 100644
--- a/Zend/zend.c
+++ b/Zend/zend.c
@@ -467,7 +467,7 @@ static void auto_global_copy_ctor(zval *zv) /* {{{ */
zend_auto_global *old_ag = (zend_auto_global *) Z_PTR_P(zv);
zend_auto_global *new_ag = pemalloc(sizeof(zend_auto_global), 1);
- new_ag->name = old_ag->name;
+ new_ag->name = zend_string_dup(old_ag->name, 0);
new_ag->auto_global_callback = old_ag->auto_global_callback;
new_ag->jit = old_ag->jit;
It namely didn't crash on my side, but after some debugging valgrind showed issues. This seems pretty matching with the recent bug #71115.
Thanks.
------------------------------------------------------------------------
[2015-12-18 12:04:33] maroszek at gmx dot net
Hi! Thanks for verifying! For Debian you need to change it a bit.
This should work:
g++ crash.cpp -Imain -ITSRM -IZend -I. --std=c++11 -Llibs -lphp7 -lxml2 -lresolv -ldl -pthread
------------------------------------------------------------------------
[2015-12-18 11:41:53] [email protected]
Thanks for the report. Currently the code you posted does not compile with gcc, what i have is
g++ crash.cpp -Imain -ITSRM -IZend -I. --std=c++11 -Llibs -lphp7 -lxml2 -lresolv
crash.cpp:95:1: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
};
^
crash.cpp:95:1: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
/usr/bin/ld: libs/libphp7.a(zend_API.o): undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libdl.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Same parameters as yours, Jessie 64-bit. PHP compiled with the options you gave. Could you please check?
Thanks.
------------------------------------------------------------------------
[2015-12-18 07:20:49] maroszek at gmx dot net
Can i provide any more details? Can you reproduce the example?
Thank you for your effort and time!
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=71129
--
Edit this bug report at https://bugs.php.net/bug.php?id=71129&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.