Created
June 17, 2013 12:00
-
-
Save odoucet/5796378 to your computer and use it in GitHub Desktop.
Backtrace for gdb trace - test branch https://github.com/ircmaxell/php-src/tree/zval_mark_grey_tail_recursion
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#0 zend_objects_store_del_ref_by_handle_ex (handle=47, handlers=0x101b440) | |
at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects_API.c:183 | |
#1 0x000000000082eb43 in zend_objects_store_del_ref (zobject=0x1570d48) | |
at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects_API.c:173 | |
#2 0x00000000007f60f8 in _zval_dtor (zvalue=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_variables.h:35 | |
#3 i_zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_execute.h:81 | |
#4 _zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_execute_API.c:426 | |
#5 0x0000000000828cc7 in zend_object_std_dtor (object=0x2244070) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects.c:54 | |
#6 0x0000000000828cf9 in zend_objects_free_object_storage (object=0x2f) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects.c:137 | |
#7 0x000000000082eb1b in zend_objects_store_del_ref_by_handle_ex (handle=<optimized out>, handlers=<optimized out>) | |
at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects_API.c:221 | |
#8 0x000000000082eb43 in zend_objects_store_del_ref (zobject=0x2244180) | |
at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects_API.c:173 | |
#9 0x00000000007f60f8 in _zval_dtor (zvalue=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_variables.h:35 | |
#10 i_zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_execute.h:81 | |
#11 _zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_execute_API.c:426 | |
#12 0x0000000000828cc7 in zend_object_std_dtor (object=0x1570dd8) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects.c:54 | |
#13 0x0000000000828cf9 in zend_objects_free_object_storage (object=0x2f) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects.c:137 | |
#14 0x000000000082eb1b in zend_objects_store_del_ref_by_handle_ex (handle=<optimized out>, handlers=<optimized out>) | |
at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects_API.c:221 | |
#15 0x000000000082eb43 in zend_objects_store_del_ref (zobject=0x1570d48) | |
at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects_API.c:173 | |
#16 0x00000000007f60f8 in _zval_dtor (zvalue=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_variables.h:35 | |
#17 i_zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_execute.h:81 | |
#18 _zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_execute_API.c:426 | |
#19 0x0000000000828cc7 in zend_object_std_dtor (object=0x2244070) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects.c:54 | |
#20 0x0000000000828cf9 in zend_objects_free_object_storage (object=0x2f) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects.c:137 | |
#21 0x000000000082eb1b in zend_objects_store_del_ref_by_handle_ex (handle=<optimized out>, handlers=<optimized out>) | |
at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects_API.c:221 | |
#22 0x000000000082eb43 in zend_objects_store_del_ref (zobject=0x2244180) | |
at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects_API.c:173 | |
#23 0x00000000007f60f8 in _zval_dtor (zvalue=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_variables.h:35 | |
#24 i_zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_execute.h:81 | |
#25 _zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_execute_API.c:426 | |
#26 0x0000000000828cc7 in zend_object_std_dtor (object=0x1570dd8) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects.c:54 | |
#27 0x0000000000828cf9 in zend_objects_free_object_storage (object=0x2f) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects.c:137 | |
#28 0x000000000082eb1b in zend_objects_store_del_ref_by_handle_ex (handle=<optimized out>, handlers=<optimized out>) | |
at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects_API.c:221 | |
#29 0x000000000082eb43 in zend_objects_store_del_ref (zobject=0x1570d48) | |
at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects_API.c:173 | |
#30 0x00000000007f60f8 in _zval_dtor (zvalue=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_variables.h:35 | |
#31 i_zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_execute.h:81 | |
#32 _zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_execute_API.c:426 | |
#33 0x0000000000828cc7 in zend_object_std_dtor (object=0x2244070) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects.c:54 | |
#34 0x0000000000828cf9 in zend_objects_free_object_storage (object=0x2f) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects.c:137 | |
#35 0x000000000082eb1b in zend_objects_store_del_ref_by_handle_ex (handle=<optimized out>, handlers=<optimized out>) | |
at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects_API.c:221 | |
#36 0x000000000082eb43 in zend_objects_store_del_ref (zobject=0x2244180) | |
at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects_API.c:173 | |
#37 0x00000000007f60f8 in _zval_dtor (zvalue=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_variables.h:35 | |
#38 i_zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_execute.h:81 | |
#39 _zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_execute_API.c:426 | |
#40 0x0000000000828cc7 in zend_object_std_dtor (object=0x1570dd8) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects.c:54 | |
#41 0x0000000000828cf9 in zend_objects_free_object_storage (object=0x2f) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects.c:137 | |
#42 0x000000000082eb1b in zend_objects_store_del_ref_by_handle_ex (handle=<optimized out>, handlers=<optimized out>) | |
at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects_API.c:221 | |
#43 0x000000000082eb43 in zend_objects_store_del_ref (zobject=0x1570d48) | |
at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_objects_API.c:173 | |
#44 0x00000000007f60f8 in _zval_dtor (zvalue=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_variables.h:35 | |
#45 i_zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_execute.h:81 | |
#46 _zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-zval_mark_grey_tail_recursion/Zend/zend_execute_API.c:426 |
I've uploaded core dump and php binary here : https://www.dropbox.com/sh/0mmpv63jzqeu2d6/6lFFkceMR_
I've updated the patch to move the check up a bit in the GC... Can you try again (hopefully last time)...
0x0000000000824ee5 in zval_mark_grey (pz=0x13cab58) at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_gc.c:382
382 /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_gc.c: No such file or directory.
(gdb) bt
#0 0x0000000000824ee5 in zval_mark_grey (pz=0x13cab58) at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_gc.c:382
#1 0x0000000000824fd5 in zval_mark_grey (pz=0x13cab58) at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_gc.c:430
#2 0x0000000000825cad in gc_mark_roots () at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_gc.c:498
#3 gc_collect_cycles () at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_gc.c:788
#4 0x0000000000826090 in gc_zval_possible_root (zv=<optimized out>)
at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_gc.c:166
#5 0x00000000008130a0 in zend_hash_destroy (ht=0x42907c0) at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_hash.c:536
#6 0x00000000008049bd in _zval_dtor_func (zvalue=0x4595360)
at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_variables.c:45
#7 0x00000000007f61e8 in _zval_dtor (zvalue=<optimized out>)
at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_variables.h:35
#8 i_zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_execute.h:81
#9 _zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_execute_API.c:426
#10 0x00000000008130a0 in zend_hash_destroy (ht=0x428e1c0) at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_hash.c:536
#11 0x00000000008049bd in _zval_dtor_func (zvalue=0x4878988)
at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_variables.c:45
#12 0x00000000007f61e8 in _zval_dtor (zvalue=<optimized out>)
at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_variables.h:35
#13 i_zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_execute.h:81
#14 _zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_execute_API.c:426
#15 0x0000000000829127 in zend_object_std_dtor (object=0x1fe5b40)
at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_objects.c:54
#16 0x0000000000829159 in zend_objects_free_object_storage (object=0x13cab58)
at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_objects.c:137
#17 0x000000000082ef73 in zend_objects_store_del_ref_by_handle_ex (handle=<optimized out>, handlers=<optimized out>)
at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_objects_API.c:223
#18 0x000000000082ef93 in zend_objects_store_del_ref (zobject=0x3550ba8)
at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_objects_API.c:173
#19 0x00000000007f61e8 in _zval_dtor (zvalue=<optimized out>)
at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_variables.h:35
#20 i_zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_execute.h:81
#21 _zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_execute_API.c:426
#22 0x0000000000829127 in zend_object_std_dtor (object=0x1f985d0)
at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_objects.c:54
#23 0x0000000000829159 in zend_objects_free_object_storage (object=0x13cab58)
at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_objects.c:137
#24 0x000000000082eaa8 in zend_objects_store_free_object_storage (objects=0x103af60)
at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_objects_API.c:92
#25 0x00000000007f8df3 in shutdown_executor () at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend_execute_API.c:293
#26 0x0000000000805c92 in zend_deactivate () at /usr/src/build/php/php-src-invalidate_object_on_dtor/Zend/zend.c:939
#27 0x00000000007a523c in php_request_shutdown (dummy=<optimized out>)
at /usr/src/build/php/php-src-invalidate_object_on_dtor/main/main.c:1800
#28 0x00000000008b0d7c in main (argc=<optimized out>, argv=<optimized out>)
at /usr/src/build/php/php-src-invalidate_object_on_dtor/sapi/cgi/cgi_main.c:2501
With commit e5a9be2e49 :
Program received signal SIGSEGV, Segmentation fault.
0x000000000082c055 in zval_mark_grey (pz=0x13cb4e0) at /usr/src/build/php/php-src/Zend/zend_gc.c:382
(gdb) backtrace full
#0 0x000000000082c055 in zval_mark_grey (pz=0x13cb4e0) at /usr/src/build/php/php-src/Zend/zend_gc.c:382
p = 0x1398fc0
#1 0x000000000082c145 in zval_mark_grey (pz=0x13cb4e0) at /usr/src/build/php/php-src/Zend/zend_gc.c:430
p = 0x1398fc0
#2 0x000000000082ce1d in gc_mark_roots () at /usr/src/build/php/php-src/Zend/zend_gc.c:498
current = 0x7ffff7e73cd0
#3 gc_collect_cycles () at /usr/src/build/php/php-src/Zend/zend_gc.c:788
p = 0x1043ae0
q = <optimized out>
orig_free_list = <optimized out>
orig_next_to_free = <optimized out>
count = <optimized out>
#4 0x000000000082d200 in gc_zval_possible_root (zv=<optimized out>) at /usr/src/build/php/php-src/Zend/zend_gc.c:166
newRoot = 0x80006398d630
#5 0x000000000081a210 in zend_hash_destroy (ht=0x4298d60) at /usr/src/build/php/php-src/Zend/zend_hash.c:536
p = 0x52e48d8
#6 0x000000000080bb2d in _zval_dtor_func (zvalue=0x46e4448) at /usr/src/build/php/php-src/Zend/zend_variables.c:45
No locals.
#7 0x00000000007fd358 in _zval_dtor (zvalue=<optimized out>) at /usr/src/build/php/php-src/Zend/zend_variables.h:35
No locals.
#8 i_zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src/Zend/zend_execute.h:81
No locals.
#9 _zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src/Zend/zend_execute_API.c:426
No locals.
#10 0x000000000081a210 in zend_hash_destroy (ht=0x4296760) at /usr/src/build/php/php-src/Zend/zend_hash.c:536
p = 0x0
#11 0x000000000080bb2d in _zval_dtor_func (zvalue=0x4880d60) at /usr/src/build/php/php-src/Zend/zend_variables.c:45
No locals.
#12 0x00000000007fd358 in _zval_dtor (zvalue=<optimized out>) at /usr/src/build/php/php-src/Zend/zend_variables.h:35
No locals.
#13 i_zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src/Zend/zend_execute.h:81
No locals.
#14 _zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src/Zend/zend_execute_API.c:426
No locals.
#15 0x0000000000830297 in zend_object_std_dtor (object=0x1feeeb0) at /usr/src/build/php/php-src/Zend/zend_objects.c:54
i = 2
#16 0x00000000008302c9 in zend_objects_free_object_storage (object=0x13cb4e0) at /usr/src/build/php/php-src/Zend/zend_objects.c:137
No locals.
#17 0x00000000008360e3 in zend_objects_store_del_ref_by_handle_ex (handle=<optimized out>, handlers=<optimized out>)
at /usr/src/build/php/php-src/Zend/zend_objects_API.c:222
__orig_bailout = 0x7fffffffdc00
__bailout = {{__jmpbuf = {140737154143856, 7275734198484622543, 152, 0, 140737488350355, 1, -7275734197326553905,
7275733091453918415}, __mask_was_saved = 0, __saved_mask = {__val = {8278659, 37319544, 37308072, 128, 8278659, 216,
8278659, 112, 8278659, 37488040, 33532248, 680, 8278659, 48, 8278659, 2864}}}}
obj = 0x7fffec145678
failure = 0
#18 0x0000000000836103 in zend_objects_store_del_ref (zobject=0x3556a58) at /usr/src/build/php/php-src/Zend/zend_objects_API.c:172
handle = 20755680
#19 0x00000000007fd358 in _zval_dtor (zvalue=<optimized out>) at /usr/src/build/php/php-src/Zend/zend_variables.h:35
No locals.
#20 i_zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src/Zend/zend_execute.h:81
No locals.
#21 _zval_ptr_dtor (zval_ptr=<optimized out>) at /usr/src/build/php/php-src/Zend/zend_execute_API.c:426
No locals.
#22 0x0000000000830297 in zend_object_std_dtor (object=0x1fa31d0) at /usr/src/build/php/php-src/Zend/zend_objects.c:54
i = 19
#23 0x00000000008302c9 in zend_objects_free_object_storage (object=0x13cb4e0) at /usr/src/build/php/php-src/Zend/zend_objects.c:137
No locals.
#24 0x0000000000835c18 in zend_objects_store_free_object_storage (objects=0x1043e80)
at /usr/src/build/php/php-src/Zend/zend_objects_API.c:92
i = 392
#25 0x00000000007fff63 in shutdown_executor () at /usr/src/build/php/php-src/Zend/zend_execute_API.c:293
__bailout = {{__jmpbuf = {17054432, 7275733101346577615, 140737488350355, 0, 140737488350355, 1, -7275734197278319409,
7275733747685547215}, __mask_was_saved = 0, __saved_mask = {__val = {7275733853810613455, 32, 8278659, 32, 8278659, 184,
140737286049376, 21133808, 140737286049376, 104, 17054168, 1, 140737488350355, 0, 8433742, 17054080}}}}
#26 0x000000000080ce02 in zend_deactivate () at /usr/src/build/php/php-src/Zend/zend.c:939
No locals.
#27 0x00000000007ac3ac in php_request_shutdown (dummy=<optimized out>) at /usr/src/build/php/php-src/main/main.c:1800
report_memleaks = 1 '\001'
#28 0x00000000008b7eec in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/build/php/php-src/sapi/cgi/cgi_main.c:2501
__bailout = {{__jmpbuf = {0, 7275736378235706575, 17022496, 0, 1, 43, -7275734197414634289, 7275733022379629775},
__mask_was_saved = 0, __saved_mask = {__val = {140737351951257, 0, 140737351949442, 140733193388032, 140737488347552, 1,
140737352919840, 140737488347888, 25, 21, 140737351950416, 23, 140737488347912, 140737282571452, 0, 140737488347552}}}}
free_query_string = 0
exit_status = 0
cgi = 1
c = <optimized out>
i = -4973
len = <optimized out>
file_handle = {type = ZEND_HANDLE_MAPPED, filename = 0x7ffff7e94040 "8\343\235\t", opened_path = 0x0, handle = {fd = -135509520,
fp = 0x7ffff7ec49f0, stream = {handle = 0x7ffff7ec49f0, isatty = 0, mmap = {len = 3018, pos = 0, map = 0x0,
buf = 0x7ffff7ff9000 <Address 0x7ffff7ff9000 out of bounds>, old_handle = 0x0, old_closer = 0},
reader = 0x7c49a0 <_php_stream_read>, fsizer = 0x7acbf0 <php_zend_stream_fsizer>,
closer = 0x7acbe0 <php_zend_stream_mmap_closer>}}, free_filename = 0 '\000'}
s = 0x7fffffffec93 "index.php"
behavior = -4973
no_headers = -4973
orig_optind = 1
orig_optarg = 0x0
script_file = <optimized out>
ini_entries_len = <optimized out>
max_requests = 500
requests = 0
fastcgi = 0
bindpath = 0x0
fcgi_fd = <optimized out>
request = 0x0
repeats = 1
benchmark = 0
start = {tv_sec = 0, tv_usec = 4665115}
end = {tv_sec = 1, tv_usec = 9160448}
status = 0
query_string = <optimized out>
decoded_query_string = <optimized out>
skip_getopt = 0
(gdb) print (zval_gc_info) *pz
$1 = {z = {value = {lval = 31337624, dval = 1.5482843440690148e-316, str = {val = 0x1de2c98 "0", len = 20823032}, ht = 0x1de2c98, obj = {
handle = 31337624, handlers = 0x13dbbf8}}, refcount__gc = 4294967295, type = 5 '\005', is_ref__gc = 0 '\000'}, u = {
buffered = 0x2, next = 0x2}}
FYI, same bug with PHP 5.4.25 : https://gist.github.com/odoucet/8918221
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
segfault again.