segfault in ini_lex() in 7.0.3

php.internals

Adam Baratz

10 years ago
I got a core dump with this output: Cannot access memory at address 0x9 Cannot access memory at address 0x1 #0 0x0000000000654a6d in ini_lex (ini_lval=0xd314c15417d73c46) at Zend/zend_ini_scanner.c:3724 #1 0x000000000067da19 in init_executor () at /wayfair/home/cmccoy/rpmbuild/BUILD/php-7.0.3/Zend/zend_execute_API.c:176 #2 0x0000000000669862 in zend_string_alloc (persistent=0, len=140720308486145) at /wayfair/home/cmccoy/rpmbuild/BUILD/php-7.0.3/Zend/zend_string.h:134 #3 zend_string_init (persistent=0, len=18446744069414584336, str=0x0) at /wayfair/home/cmccoy/rpmbuild/BUILD/php-7.0.3/Zend/zend_string.h:157 #4 zend_compile_dynamic_call (result=0x7f2afa13e8a0, name_node=0x7f0200000040, args_ast=0x67da19 <init_executor+499>) at /wayfair/home/cmccoy/rpmbuild/BUILD/php-7.0.3/Zend/zend_compile.c:2867 #5 0x0000000000671e99 in zend_compile_class_decl (ast=0x7f2afa389910) at /wayfair/home/cmccoy/rpmbuild/BUILD/php-7.0.3/Zend/zend_compile.c:5262 #6 0x00000000006678ad in zend_compile_dim (result=0x7f2afa154268, ast=0x7f2afa154268, type=32554) at /wayfair/home/cmccoy/rpmbuild/BUILD/php-7.0.3/Zend/zend_compile.c:2301 #7 0x0000000000671d62 in zend_compile_class_decl (ast=0x7f2afa1f77c0) at /wayfair/home/cmccoy/rpmbuild/BUILD/php-7.0.3/Zend/zend_compile.c:5242 #8 0x000000000066b307 in zend_ast_get_list (ast=0x7f2af9eaf7e0) at /wayfair/home/cmccoy/rpmbuild/BUILD/php-7.0.3/Zend/zend_ast.h:221 #9 zend_compile_call (result=0x7f2af9e527e0, ast=0x7ffc412f7f50, type=32554) at /wayfair/home/cmccoy/rpmbuild/BUILD/php-7.0.3/Zend/zend_compile.c:3236 #10 0x0000000000671eda in zend_compile_class_decl (ast=0x7f2af9ea2a50) at /wayfair/home/cmccoy/rpmbuild/BUILD/php-7.0.3/Zend/zend_compile.c:5262 #11 0x0000000000671b11 in zend_compile_class_decl (ast=0x12de10) at /wayfair/home/cmccoy/rpmbuild/BUILD/php-7.0.3/Zend/zend_compile.c:5208 #12 0x0000000000671af3 in zend_string_release (s=0x0) at /wayfair/home/cmccoy/rpmbuild/BUILD/php-7.0.3/Zend/zend_string.h:271 #13 zend_compile_class_decl (ast=0x7f2b4e7ced50) at /wayfair/home/cmccoy/rpmbuild/BUILD/php-7.0.3/Zend/zend_compile.c:5207 #14 0x0000000000629310 in zendparse () at /wayfair/home/cmccoy/rpmbuild/BUILD/php-7.0.3/Zend/zend_language_parser.c:4357 #15 0x000000000067666e in zend_string_alloc (persistent=32554, len=32768) at /wayfair/home/cmccoy/rpmbuild/BUILD/php-7.0.3/Zend/zend_string.h:121 #16 zend_string_init (persistent=32764, len=0, str=0x10005d1a00 <Address 0x10005d1a00 out of bounds>) at /wayfair/home/cmccoy/rpmbuild/BUILD/php-7.0.3/Zend/zend_string.h:157 #17 zend_compile_shell_exec (result=0x0, ast=0x0) at /wayfair/home/cmccoy/rpmbuild/BUILD/php-7.0.3/Zend/zend_compile.c:6438 #18 0x00007f2b47e8e202 in ?? () #19 0x00007ffc412f92f8 in ?? () #20 0x0000000000000000 in ?? () I found this bug which sounds a little similar, though it appears to have been fixed: https://bugs.php.net/bug.php?id=70748 Does anyone have any suggestions for how to debug? Thanks, Adam

Will Fitch

10 years ago
On Wed, Mar 9, 2016, at 01:28 PM, Adam Baratz wrote:
> I got a core dump with this output:
Can you provide the INI (minus secure info) and script that generates this?

Adam Baratz

10 years ago
> > Can you provide the INI (minus secure info) and script that generates > this?
Unfortunately, I haven't been able to isolate what's causing this. It seems to occur on "complex enough" pages. Which could mean one of the (many) extensions involved isn't playing nice with PHP7, which I'll look into separately. ZIP of the INI files is here: https://drive.google.com/file/d/0B6sRKna1qL1IamxmN3lOT3Y2WDA/view?usp=sharing

Will Fitch

10 years ago
On Wed, Mar 9, 2016, at 03:51 PM, Adam Baratz wrote:
>> Can you provide the INI (minus secure info) and script that generates >>
this?
> > Unfortunately, I haven't been able to isolate what's causing this. It > seems to occur on "complex enough" pages. Which could mean one of the > (many) extensions involved isn't playing nice with PHP7, which I'll > look into separately.
If you haven't already done so, please file a bug report.  The files uploaded aren't very helpful in terms of diagnosing the issue.

Adam Baratz

10 years ago
> > If you haven't already done so, please file a bug report. The files > uploaded aren't very helpful in terms of diagnosing the issue. >
I've dug a little deeper into this. Haven't isolated exactly where the problem's coming from, but I know enough to say the segfault I shared is a side effect of the actual problem.