From:             imprec at gmail dot com
Operating system: Linux / OSX
PHP version:      5.4.9
Package:          *General Issues
Bug Type:         Bug
Bug description:Segmentation Fault when calling zend_std_object_get_class 

Description:
------------
A segfault always happen when running Imagine test suite 
(https://github.com/avalanche123/Imagine). This segfault happens when
running 
gmagick driver tests, but are not reproducible outside test scope.

I think it's not completely gmagick related as the backtrace reference PHP
core 
calls as responsible of the segfault (see attached backtrace)

This bug occurs with PHP 5.3.10, PHP 5.4.9, PHP 5.5.0-dev

I can provide a dedicated debug box for this error.

Test script:
---------------
Running Imagine tests suite with gmagick extension 1.1.1.RC1 or 1.1.0.RC3
will produce the segfault (https://github.com/avalanche123/Imagine).

Expected result:
----------------
No segmentation fault

Actual result:
--------------
Program received signal SIGSEGV, Segmentation fault.
0x000000000081e0c9 in zend_std_object_get_class (object=0x7ffff073bf70) at

/usr/local/src/php-5.4.9/Zend/zend_object_handlers.c:1454
1454            return zobj->ce;
(gdb) backtrace full
#0  0x000000000081e0c9 in zend_std_object_get_class
(object=0x7ffff073bf70)
    at /usr/local/src/php-5.4.9/Zend/zend_object_handlers.c:1454
        zobj = 0x7fff00009e61
#1  0x00000000007e9ed0 in zend_get_class_entry (zobject=0x7ffff073bf70) at

/usr/local/src/php-5.4.9/Zend/zend_API.c:238
No locals.
#2  0x0000000000875f6b in ZEND_INIT_METHOD_CALL_SPEC_VAR_CONST_HANDLER 
(execute_data=0x7ffff7fa6a10)
    at /usr/local/src/php-5.4.9/Zend/zend_vm_execute.h:13466
        opline = 0x7ffff0c316d8
        function_name = 0x7ffff0c30738
        function_name_strval = 0x7ffff7eb9768 "destroy"
        function_name_strlen = 7
        free_op1 = {var = 0x0}
#3  0x00000000008262e2 in execute (op_array=0x7ffff0c30e30) at 
/usr/local/src/php-5.4.9/Zend/zend_vm_execute.h:410
        ret = 0
        execute_data = 0x7ffff7fa6a10
        nested = 1 '\001'
        original_in_execution = 1 '\001'
#4  0x00000000007d5758 in zend_call_function (fci=0x7fffffff9890, 
fci_cache=0x7fffffff98e0)
    at /usr/local/src/php-5.4.9/Zend/zend_execute_API.c:958
        i = 0
        original_return_value = 0x0
        calling_symbol_table = 0x0
        original_op_array = 0x7ffff1806650
        original_opline_ptr = 0x7ffff7fa6138
        current_scope = 0x7ffff1802570
        current_called_scope = 0x7ffff1802570
        calling_scope = 0x7ffff073d6d8
        called_scope = 0x7ffff073d6d8
        current_this = 0x7fffed5d82b0
        execute_data = {opline = 0x0, function_state = {function = 
0x7ffff0c30e30, arguments = 0x7ffff7fa6a08}, fbc = 0x0, 
          called_scope = 0x0, op_array = 0x0, object = 0x7ffff08973d0, Ts =

0x7ffff7fa61d8, CVs = 0x7ffff7fa61c8, 
          symbol_table = 0x0, prev_execute_data = 0x7ffff7fa6138, 
old_error_reporting = 0x0, nested = 1 '\001', 
          original_return_value = 0x7ffff0dfddb8, current_scope = 
0x7ffff0dfea80, current_called_scope = 0x7ffff0fc7638, 
          current_this = 0x7ffff0fc7818, current_object = 0x0}
        fci_cache_local = {initialized = 144 '\220', function_handler =
0x0, 
calling_scope = 0x7fffffff9670, 
          called_scope = 0x7ffff11188f0, object_ptr = 0x0}
#5  0x0000000000807695 in zend_call_method (object_pp=0x7fffffff99b8, 
obj_ce=0x7ffff073d6d8, fn_proxy=0x7fffffff99b0, 
    function_name=0xd039c6 "__destruct", function_name_len=10, 
retval_ptr_ptr=0x0, param_count=0, arg1=0x0, arg2=0x0)
    at /usr/local/src/php-5.4.9/Zend/zend_interfaces.c:97
        fcic = {initialized = 1 '\001', function_handler = 0x7ffff0c30e30,

calling_scope = 0x7ffff073d6d8, 
          called_scope = 0x7ffff073d6d8, object_ptr = 0x7ffff08973d0}
        result = 32
        fci = {size = 72, function_table = 0xf9b2d0, function_name = 
0x7fffffff9910, symbol_table = 0x0, 
          retval_ptr_ptr = 0x7fffffff9948, param_count = 0, params = 
0x7fffffff9930, object_ptr = 0x7ffff08973d0, 
          no_separation = 1 '\001'}
        z_fname = {value = {lval = 140737488329072, dval =
6.9533558065377856e-
310, str = {
              val = 0x7fffffff9970 "\360\231\377\377\377\177", len =
8280692}, 
ht = 0x7fffffff9970, obj = {handle = 4294941040, 
              handlers = 0x7e5a74}}, refcount__gc = 4035539952, type = 255

'\377', is_ref__gc = 127 '\177'}
        retval = 0x0
        function_table = 0x7ffff073d700
        params = {0x7fffffff9988, 0x7fffffff9990}
#6  0x0000000000814fbf in zend_objects_destroy_object
(object=0x7ffff0745cc0, 
handle=45021)
    at /usr/local/src/php-5.4.9/Zend/zend_objects.c:123
        old_exception = 0x0
        obj = 0x7ffff08973d0
        obj_bucket = 0x7fffee6a87b0
        destructor = 0x7ffff0c30e30
#7  0x00000000008125d9 in gc_collect_cycles () at /usr/local/src/php-
5.4.9/Zend/zend_gc.c:814
        p = 0x7ffff0745d38
        q = 0x0
        orig_free_list = 0x0
        orig_next_to_free = 0x0
        count = 84
#8  0x0000000000810b32 in gc_zval_possible_root (zv=0x7fffed5d8818) at 
/usr/local/src/php-5.4.9/Zend/zend_gc.c:166
        newRoot = 0x0
#9  0x0000000000828642 in gc_zval_check_possible_root (z=0x7fffed5d8818) at

/usr/local/src/php-5.4.9/Zend/zend_gc.h:183
No locals.
#10 i_zval_ptr_dtor (__zend_lineno=<optimized out>,
__zend_filename=0xd04300 
"/usr/local/src/php-5.4.9/Zend/zend_execute.h", 
    zval_ptr=0x7fffed5d8818) at
/usr/local/src/php-5.4.9/Zend/zend_execute.h:97
No locals.
#11 zend_vm_stack_clear_multiple () at /usr/local/src/php-
5.4.9/Zend/zend_execute.h:339
        q = 0x7fffed5d8818
        p = 0x7ffff7fa69f8
        delete_count = 0
#12 zend_do_fcall_common_helper_SPEC (execute_data=0x7ffff7fa6138) at 
/usr/local/src/php-5.4.9/Zend/zend_vm_execute.h:736
        opline = 0x7ffff18096c8
        should_change_scope = 0 '\000'
        fbc = 0xfe3f20
#13 0x000000000082889c in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER 
(execute_data=0x7ffff7fa6138)
    at /usr/local/src/php-5.4.9/Zend/zend_vm_execute.h:752
No locals.
#14 0x00000000008262e2 in execute (op_array=0x7ffff1806650) at 
/usr/local/src/php-5.4.9/Zend/zend_vm_execute.h:410
        ret = 0
        execute_data = 0x7ffff7fa6138
        nested = 1 '\001'
        original_in_execution = 1 '\001'
#15 0x00000000007d5758 in zend_call_function (fci=0x7fffffffa0e0, 
fci_cache=0x7fffffffa130)
    at /usr/local/src/php-5.4.9/Zend/zend_execute_API.c:958
        i = 1
        original_return_value = 0x7ffff7fa5ae0
        calling_symbol_table = 0x0
        original_op_array = 0x7ffff0b19920
        original_opline_ptr = 0x7ffff7fa5b48
        current_scope = 0x7ffff073d6d8
        current_called_scope = 0x7ffff073d6d8
        calling_scope = 0x7ffff073d6d8
        called_scope = 0x7ffff073d6d8
        current_this = 0x7ffff0dff3b0
        execute_data = {opline = 0x0, function_state = {function = 
0x7ffff07f5f88, arguments = 0x7ffff7fa5cc8}, fbc = 0x0, 
          called_scope = 0x0, op_array = 0x0, object = 0x7ffff0dff3b0, Ts =

0x7ffff7fa5be8, CVs = 0x7ffff7fa5bd8, 
          symbol_table = 0x0, prev_execute_data = 0x7ffff7fa5b48, 
old_error_reporting = 0x0, nested = 1 '\001', 
          original_return_value = 0x7ffff7fa5a60, current_scope = 
0x7ffff073d6d8, current_called_scope = 0x7ffff073d6d8, 
          current_this = 0x7ffff0dff3b0, current_object = 0x0}
        fci_cache_local = {initialized = 225 '\341', function_handler = 
0xcffb18, calling_scope = 0x10000, called_scope = 0xf9b2d0, 
          object_ptr = 0x7fffffff9ec0}
#16 0x00000000006baa98 in zif_array_map (ht=2, return_value=0x7ffff0a7fc88,

return_value_ptr=0x0, this_ptr=0x0, return_value_used=1)
    at /usr/local/src/php-5.4.9/ext/standard/array.c:4337
        str_key_len = 0
        num_key = 4779
        str_key = 0x20 <Address 0x20 out of bounds>
        key_type = 2
        arrays = 0x7ffff0df8210
        n_arrays = 1
        params = 0x7ffff0df8210
        result = 0x0
        null = 0x7ffff0b57d18
        array_pos = 0x7fffed2b3920
        args = 0x7ffff0782bf8
        fci = {size = 72, function_table = 0x7ffff073d700, function_name =

0x7fffed2c3e98, symbol_table = 0x0, 
          retval_ptr_ptr = 0x7fffffffa168, param_count = 1, params = 
0x7ffff0df8210, object_ptr = 0x7ffff0dff3b0, 
          no_separation = 0 '\000'}
        fci_cache = {initialized = 0 '\000', function_handler =
0x7ffff07f5f88, 
calling_scope = 0x7ffff073d6d8, 
          called_scope = 0x7ffff073d6d8, object_ptr = 0x7ffff0dff3b0}
        i = 1
        k = 4779
        maxlen = 6438
        array_len = 0x7ffff0dff250
#17 0x00000000008279f8 in zend_do_fcall_common_helper_SPEC 
(execute_data=0x7ffff7fa5b48)
    at /usr/local/src/php-5.4.9/Zend/zend_vm_execute.h:642
        ret = 0x7ffff7fa5c88
        opline = 0x7ffff0b18598
        should_change_scope = 0 '\000'
        fbc = 0xff6da0
#18 0x000000000082889c in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER 
(execute_data=0x7ffff7fa5b48)
    at /usr/local/src/php-5.4.9/Zend/zend_vm_execute.h:752
No locals.
#19 0x00000000008262e2 in execute (op_array=0x7ffff0b19920) at 
/usr/local/src/php-5.4.9/Zend/zend_vm_execute.h:410
        ret = 0
        execute_data = 0x7ffff7fa5b48
        nested = 1 '\001'
        original_in_execution = 1 '\001'
#20 0x00000000007d5758 in zend_call_function (fci=0x7fffffffa8d0, 
fci_cache=0x7fffffffa920)
    at /usr/local/src/php-5.4.9/Zend/zend_execute_API.c:958
        i = 0
        original_return_value = 0x7ffff7fa4208
        calling_symbol_table = 0x0
        original_op_array = 0x7ffff1473670
        original_opline_ptr = 0x7ffff7fa4ea8
        current_scope = 0x0
        current_called_scope = 0x10e1f70
        calling_scope = 0x7ffff14fb640
        called_scope = 0x7ffff14fb640
        current_this = 0x7ffff0dfe7a0
        execute_data = {opline = 0x0, function_state = {function = 
0x7ffff14fbae8, arguments = 0x7ffff7fa5920}, fbc = 0x0, 
          called_scope = 0x0, op_array = 0x0, object = 0x7ffff142d5c0, Ts =

0x7ffff7fa4fa8, CVs = 0x7ffff7fa4f38, 
          symbol_table = 0x0, prev_execute_data = 0x7ffff7fa4ea8, 
old_error_reporting = 0x0, nested = 1 '\001', 
          original_return_value = 0x0, current_scope = 0x7ffff1a42d70, 
current_called_scope = 0x7ffff14fb640, 
          current_this = 0x7ffff142d5c0, current_object = 0x0}
        fci_cache_local = {initialized = 16 '\020', function_handler = 
0x200000000, calling_scope = 0x7fffffffa6b0, 
          called_scope = 0x0, object_ptr = 0x0}
#21 0x0000000000652bc3 in zim_reflection_method_invokeArgs (ht=2, 
return_value=0x7ffff0dfec18, return_value_ptr=0x0, 
    this_ptr=0x7ffff0dfe7a0, return_value_used=1) at /usr/local/src/php-
5.4.9/ext/reflection/php_reflection.c:3017
        retval_ptr = 0x0
        params = 0x7ffff0e5a280
        object = 0x7ffff142d5c0
        intern = 0x7ffff0dfe9f8
        mptr = 0x7ffff14fbae8
        argc = 0
        result = 624
        fci = {size = 72, function_table = 0x0, function_name = 0x0, 
symbol_table = 0x0, retval_ptr_ptr = 0x7fffffffa950, 
          param_count = 0, params = 0x7ffff0e5a280, object_ptr =
0x7ffff142d5c0, 
no_separation = 1 '\001'}
        fcc = {initialized = 1 '\001', function_handler = 0x7ffff14fbae8, 
calling_scope = 0x7ffff14fb640, 
          called_scope = 0x7ffff14fb640, object_ptr = 0x7ffff142d5c0}
        obj_ce = 0x7ffff14fb640
        param_array = 0x7ffff0dfeb00
#22 0x00000000008279f8 in zend_do_fcall_common_helper_SPEC 
(execute_data=0x7ffff7fa4ea8)
    at /usr/local/src/php-5.4.9/Zend/zend_vm_execute.h:642
        ret = 0x7ffff7fa5288
        opline = 0x7ffff19e5258
        should_change_scope = 1 '\001'
        fbc = 0x10e3640
#23 0x000000000082889c in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER 
(execute_data=0x7ffff7fa4ea8)
    at /usr/local/src/php-5.4.9/Zend/zend_vm_execute.h:752
No locals.
#24 0x00000000008262e2 in execute (op_array=0x7ffff1473670) at 
/usr/local/src/php-5.4.9/Zend/zend_vm_execute.h:410
        ret = 0
        execute_data = 0x7ffff7fa4ea8
        nested = 1 '\001'
        original_in_execution = 0 '\000'
#25 0x00000000007e8d32 in zend_execute_scripts (type=8, retval=0x0, 
file_count=3) at /usr/local/src/php-5.4.9/Zend/zend.c:1309
        files = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 
0x7fffffffae70, reg_save_area = 0x7fffffffadb0}}
        i = 1
        file_handle = 0x7fffffffd290
        orig_op_array = 0x0
        orig_retval_ptr_ptr = 0x0
        orig_interactive = 0
#26 0x000000000075b3fa in php_execute_script (primary_file=0x7fffffffd290)
at 
/usr/local/src/php-5.4.9/main/main.c:2482
        realfile = "/usr/bin/phpunit", '\000' <repeats 24 times>, 
"\020\235\003\000\000\000\000\000\270\235\003\000\000\000\000\000\021",
'\000' 
<repeats 15 times>"\200, 
\301\377\377\377\177\000\000P\347z\000\000\000\000\000t:\336\367\377\177\000\000
в
\371\000\000\000\000\000\b\000\000\000\000\000\000\000\n\000\000\000\000\000\000
\000\330\340\375\367\377\177\000\000fII\"\000\000\000\000\236B\336\367\377\177\0
00\000\000\000\000\000\000\000\000\000&\000\000\000\000\000\000\000\060\303\377\
377\377\177\000\000\377\377\377\377\000\000\000\000L\256\224\366\377\177\000\000
\250\274\224\366\377\177\000\000\000\303\377\377\377\177\000\000\000\000\000\000
\000\000\000\000\320\063\225\366\377\177\000\000\310W\316", '\000' <repeats
13 
times>"\330, 
\342\375\367\377\177\000\000\310\371\375\367\377\177\000\000\261\024A\000\000\00
0\000\000\370\211\225\366\377\177\000\000xH@\000\000\000\000\000\000\000\000\000
\001\000\000\000\367\004\000\000\001", '\000' <repeats 11 times>...
        __orig_bailout = 0x7fffffffd130
        __bailout = {{__jmpbuf = {0, -827595844864590484, 4327200, 
140737488348784, 0, 0, -827595847093863060, 827596775867399532}, 
            __mask_was_saved = 0, __saved_mask = {__val = {0, 0, 4276675,
0, 0, 
0, 0, 0, 0, 0, 0, 140737330383064, 140737354004936, 
                0, 0, 0}}}}
        prepend_file_p = 0x0
        append_file_p = 0x0
        prepend_file = {type = ZEND_HANDLE_FILENAME, filename = 0x0,
opened_path 
= 0x0, handle = {fd = 0, fp = 0x0, stream = {
              handle = 0x0, isatty = 0, mmap = {len = 0, pos = 0, map =
0x0, buf 
= 0x0, old_handle = 0x0, old_closer = 0}, 
              reader = 0, fsizer = 0, closer = 0}}, free_filename = 0
'\000'}
        append_file = {type = ZEND_HANDLE_FILENAME, filename = 0x0,
opened_path 
= 0x0, handle = {fd = 0, fp = 0x0, stream = {
              handle = 0x0, isatty = 0, mmap = {len = 0, pos = 0, map =
0x0, buf 
= 0x0, old_handle = 0x0, old_closer = 0}, 
              reader = 0, fsizer = 0, closer = 0}}, free_filename = 0
'\000'}
        old_cwd = 0x7fffffffae90 ""
        use_heap = 0 '\000'
        retval = 0
#27 0x0000000000931a75 in do_cli (argc=2, argv=0x7fffffffe678) at 
/usr/local/src/php-5.4.9/sapi/cli/php_cli.c:988
        __orig_bailout = 0x7fffffffe460
        __bailout = {{__jmpbuf = {0, -827595845275632276, 4327200, 
140737488348784, 0, 0, -827595844862493332, 827597107621117292}, 
            __mask_was_saved = 0, __saved_mask = {__val = {0, 0, 0, 0, 96,
0, 
210453397508, 472446402651, 532575944823, 0, 46, 
                140737488346816, 2, 140737352007912, 140737488345952, 
140737351999926}}}}
        c = -1
        file_handle = {type = ZEND_HANDLE_MAPPED, filename = 0x7fffffffe8b5

"/usr/bin/phpunit", opened_path = 0x0, handle = {
            fd = -134405872, fp = 0x7ffff7fd2110, stream = {handle = 
0x7ffff7fd2110, isatty = 0, mmap = {len = 2018, pos = 0, 
                map = 0x7ffff1ce7000, buf = 0x7ffff1ce700f <Address 
0x7ffff1ce700f out of bounds>, old_handle = 0x1160b40, 
                old_closer = 0x80631b <zend_stream_stdio_closer>}, reader =

0x8062ec <zend_stream_stdio_reader>, 
              fsizer = 0x806349 <zend_stream_stdio_fsizer>, closer =
0x806459 
<zend_stream_mmap_closer>}}, free_filename = 0 '\000'}
        behavior = 1
        reflection_what = 0x0
        request_started = 1
        exit_status = 0
        php_optarg = 0x0
        orig_optarg = 0x0
        php_optind = 2
        orig_optind = 1
        exec_direct = 0x0
        exec_run = 0x0
        exec_begin = 0x0
        exec_end = 0x0
        arg_free = 0x7fffffffe8b5 "/usr/bin/phpunit"
        arg_excp = 0x7fffffffe680
        script_file = 0x7fffffffe8b5 "/usr/bin/phpunit"
        translated_path = 0x115fc90 "/usr/bin/phpunit"
        interactive = 0
        lineno = 2
        param_error = 0x0
        hide_argv = 0
#28 0x0000000000932bae in main (argc=2, argv=0x7fffffffe678) at 
/usr/local/src/php-5.4.9/sapi/cli/php_cli.c:1364
        __orig_bailout = 0x0
        __bailout = {{__jmpbuf = {0, -827595845227397780, 4327200, 
140737488348784, 0, 0, -827595845273535124, 827597107464748396}, 
            __mask_was_saved = 0, __saved_mask = {__val = {140737354114296,

140737488348816, 140737331860032, 140737349700096, 
                10240, 0, 140737354130976, 8453442528, 0, 140737354114296,

4265583, 140737331844832, 140737330974368, 
                140737349695456, 15774436, 9}}}}
        c = -1
        exit_status = 0
        module_started = 1
        sapi_started = 1
        php_optarg = 0x0
        php_optind = 1
        use_extended_info = 0
        ini_path_override = 0x0
        ini_entries = 0xf9b230 
"html_errors=0\nregister_argc_argv=1\nimplicit_flush=1\noutput_buffering=0\nmax_
execution_time=0\nmax_input_time=-1\n"
        ini_entries_len = 110
        ini_ignore = 0
        sapi_module = 0xf7a1c0

-- 
Edit bug report at https://bugs.php.net/bug.php?id=63677&edit=1
-- 
Try a snapshot (PHP 5.4):   
https://bugs.php.net/fix.php?id=63677&r=trysnapshot54
Try a snapshot (PHP 5.3):   
https://bugs.php.net/fix.php?id=63677&r=trysnapshot53
Try a snapshot (trunk):     
https://bugs.php.net/fix.php?id=63677&r=trysnapshottrunk
Fixed in SVN:               https://bugs.php.net/fix.php?id=63677&r=fixed
Fixed in release:           https://bugs.php.net/fix.php?id=63677&r=alreadyfixed
Need backtrace:             https://bugs.php.net/fix.php?id=63677&r=needtrace
Need Reproduce Script:      https://bugs.php.net/fix.php?id=63677&r=needscript
Try newer version:          https://bugs.php.net/fix.php?id=63677&r=oldversion
Not developer issue:        https://bugs.php.net/fix.php?id=63677&r=support
Expected behavior:          https://bugs.php.net/fix.php?id=63677&r=notwrong
Not enough info:            
https://bugs.php.net/fix.php?id=63677&r=notenoughinfo
Submitted twice:            
https://bugs.php.net/fix.php?id=63677&r=submittedtwice
register_globals:           https://bugs.php.net/fix.php?id=63677&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=63677&r=php4
Daylight Savings:           https://bugs.php.net/fix.php?id=63677&r=dst
IIS Stability:              https://bugs.php.net/fix.php?id=63677&r=isapi
Install GNU Sed:            https://bugs.php.net/fix.php?id=63677&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=63677&r=float
No Zend Extensions:         https://bugs.php.net/fix.php?id=63677&r=nozend
MySQL Configuration Error:  https://bugs.php.net/fix.php?id=63677&r=mysqlcfg

Reply via email to