segfault

Issue #9 resolved
Steve Rhoades created an issue

I get the following segfault trying to run unit tests with travis-ci. This happens on 5.4, 5.5 and 5.6 - with 5.6 it segfaults immediately - with 5.4 and 5.5 it segfaults only after all unit tests have completed and phpunit is running code coverage report.

Program received signal SIGSEGV, Segmentation fault.
0x00007fffecc657bd in ev_io_stop (loop=0x0, w=0x7fffec2b1b58)
    at /home/travis/build/reactphp/event-loop/pecl-ev/libev/ev.c:3573
3573      wlist_del (&anfds[w->fd].head, (WL)w);
(gdb) #0  0x00007fffecc657bd in ev_io_stop (loop=0x0, w=0x7fffec2b1b58)
    at /home/travis/build/reactphp/event-loop/pecl-ev/libev/ev.c:3573
No locals.
#1  0x00007fffecc6a2bd in php_ev_watcher_free_storage (ptr=0x7fffec2b1b58, 
    tsrm_ls=<optimized out>)
    at /home/travis/build/reactphp/event-loop/pecl-ev/ev.c:511
        data = <optimized out>
---Type <return> to continue, or q <return> to quit---        w_next = <optimized out>
        w_prev = <optimized out>
        o_loop = <optimized out>
#2  0x00007fffecc6a7d2 in php_ev_io_free_storage (object=<optimized out>, 
    tsrm_ls=0x116e740)
    at /home/travis/build/reactphp/event-loop/pecl-ev/ev.c:557
        obj_ptr = 0x7fffec2b12a8
        ptr = <optimized out>
#3  0x00000000008cb0e9 in zend_objects_store_del_ref_by_handle_ex (handle=477, 
    handlers=<optimized out>, tsrm_ls=0x116e740)
    at /tmp/php-build/source/5.5.16/Zend/zend_objects_API.c:226
        __orig_bailout = 0x7fffffffd140
        __bailout = {{__jmpbuf = {140737159306816, -3891228727219796233, 0, 0, 
              18278000, 0, 3891226370839463671, -3891225379596744969}, 
            __mask_was_saved = 0, __saved_mask = {__val = {
                14555515346489755383, 8, 0, 18278000, 0, 3891226370831075063, 
                14555518694112806647, 0, 190, 18278208, 18271136, 18278208, 
                8551575, 0, 8551575, 24033592}}}}
        obj = 0x7fffebf4a778
        failure = <optimized out>
#4  0x00000000008cb11e in zend_objects_store_del_ref (zobject=0x7fffec631e40, 
    tsrm_ls=0x116e740)
    at /tmp/php-build/source/5.5.16/Zend/zend_objects_API.c:178
---Type <return> to continue, or q <return> to quit---        handle = <optimized out>
#5  0x000000000088c568 in _zval_dtor (zvalue=0x7fffec631e40)
    at /tmp/php-build/source/5.5.16/Zend/zend_variables.h:35
No locals.
#6  i_zval_ptr_dtor (zval_ptr=0x7fffec631e40)
    at /tmp/php-build/source/5.5.16/Zend/zend_execute.h:81
        tsrm_ls = <optimized out>
#7  _zval_ptr_dtor (zval_ptr=<optimized out>)
    at /tmp/php-build/source/5.5.16/Zend/zend_execute_API.c:426
No locals.
#8  0x00000000008ad728 in zend_hash_destroy (ht=0x7fffec62c408)
    at /tmp/php-build/source/5.5.16/Zend/zend_hash.c:560
        p = 0x0
        q = 0x7fffec647830
#9  0x000000000089c727 in _zval_dtor_func (zvalue=0x7fffec6384e8)
    at /tmp/php-build/source/5.5.16/Zend/zend_variables.c:45
        tsrm_ls = <optimized out>
#10 0x000000000088c568 in _zval_dtor (zvalue=0x7fffec6384e8)
    at /tmp/php-build/source/5.5.16/Zend/zend_variables.h:35
No locals.
#11 i_zval_ptr_dtor (zval_ptr=0x7fffec6384e8)
    at /tmp/php-build/source/5.5.16/Zend/zend_execute.h:81
        tsrm_ls = <optimized out>
---Type <return> to continue, or q <return> to quit---#12 _zval_ptr_dtor (zval_ptr=<optimized out>)
    at /tmp/php-build/source/5.5.16/Zend/zend_execute_API.c:426
No locals.
#13 0x00000000008c4397 in zend_object_std_dtor (object=0x7fffec647a28, 
    tsrm_ls=<optimized out>)
    at /tmp/php-build/source/5.5.16/Zend/zend_objects.c:54
        i = <optimized out>
#14 0x00000000008c43c9 in zend_objects_free_object_storage (
    object=0x7fffec647a28, tsrm_ls=<optimized out>)
    at /tmp/php-build/source/5.5.16/Zend/zend_objects.c:137
No locals.
#15 0x00000000008caa80 in zend_objects_store_free_object_storage (
    objects=0x1172240, tsrm_ls=0x116e740)
    at /tmp/php-build/source/5.5.16/Zend/zend_objects_API.c:97
        obj = <optimized out>
        i = <optimized out>
#16 0x000000000088d066 in shutdown_executor (tsrm_ls=0x116e740)
    at /tmp/php-build/source/5.5.16/Zend/zend_execute_API.c:293
        __orig_bailout = 0x7fffffffe910
        __bailout = {{__jmpbuf = {18271136, -3891225352665250057, 0, 0, 
              18278000, 0, 3891226371716073207, -3891225344167590153}, 
            __mask_was_saved = 0, __saved_mask = {__val = {
                14555518413069797111, 0, 8551575, 0, 8551575, 140737353872864, 
---Type <return> to continue, or q <return> to quit---                8850336, 140737353872912, 18292264, 1, 0, 0, 9028302, 
                18278208, 18270960, 0}}}}
#17 0x000000000089e2a7 in zend_deactivate (tsrm_ls=0x116e740)
    at /tmp/php-build/source/5.5.16/Zend/zend.c:935
No locals.
#18 0x000000000082d9cb in php_request_shutdown (dummy=<optimized out>)
    at /tmp/php-build/source/5.5.16/main/main.c:1808
        report_memleaks = 1 '\001'
        tsrm_ls = 0x116e740
#19 0x000000000095c9df in do_cli (argc=2, argv=0x116e600, tsrm_ls=0x116e740)
    at /tmp/php-build/source/5.5.16/sapi/cli/php_cli.c:1177
        c = <optimized out>
        file_handle = {type = ZEND_HANDLE_MAPPED, 
          filename = 0x116e670 "/home/travis/.phpenv/versions/5.5.16/bin/phpunit", opened_path = 0x0, handle = {fd = -134478488, fp = 0x7ffff7fc0568, 
            stream = {handle = 0x7ffff7fc0568, isatty = 0, mmap = {
                len = 3288776, pos = 0, map = 0x7fffec50f000, 
                buf = 0x7fffec50f013 "ertstringendswith", 
                old_handle = 0x16c49c0, 
                old_closer = 0x8b7380 <zend_stream_stdio_closer>}, 
              reader = 0x8b7490 <zend_stream_stdio_reader>, 
              fsizer = 0x8b73b0 <zend_stream_stdio_fsizer>, 
              closer = 0x8b7400 <zend_stream_mmap_closer>}}, 
---Type <return> to continue, or q <return> to quit---          free_filename = 0 '\000'}
        behavior = <optimized out>
        reflection_what = <optimized out>
        request_started = 1
        exit_status = 0
        php_optarg = 0x0
        php_optind = 2
        exec_direct = <optimized out>
        exec_run = <optimized out>
        exec_begin = <optimized out>
        exec_end = <optimized out>
        arg_free = <optimized out>
        arg_excp = <optimized out>
        script_file = <optimized out>
        translated_path = 0x16c4980 "/home/travis/.phpenv/versions/5.5.16/bin/phpunit"
        interactive = <optimized out>
        lineno = 2
        param_error = <optimized out>
        hide_argv = <optimized out>
#20 0x00000000004483f0 in main (argc=2, argv=0x116e600)
    at /tmp/php-build/source/5.5.16/sapi/cli/php_cli.c:1378
        __orig_bailout = 0x0
---Type <return> to continue, or q <return> to quit---        __bailout = {{__jmpbuf = {0, -3891226372462033161, 4490324, 0, 0, 0, 
              3891226371965634295, -3891225861343885577}, 
            __mask_was_saved = 0, __saved_mask = {__val = {33024, 0, 
                140737354130976, 4298858552, 0, 140737322489624, 4334086, 
                140737279250432, 140737351944052, 140733193388033, 0, 
                140737279318232, 140737351944052, 1, 9856560, 0}}}}
        tsrm_ls = 0x116e740
        c = <optimized out>
        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 = 0x1170c50 "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 = 0
        ini_ignore = 0
        sapi_module = <optimized out>
(gdb) quit
A debugging session is active.

Any assistance here is greatly appreciated.

Comments (19)

  1. Ruslan Osmanov repo owner

    I'd like to reproduce it, is there a way to get a simple script? If there isn't, then I need some steps to reproduce it anyway.

    What about the tests bundled with pecl-ev, are they passing? I mean running make && make test.

    However, I can say that TSRM (thread safety) is most likely to cause the issues.

    Another thing is that libev is embedded into pecl-ev. I see some changes/fixes on the upstream, so I'll upgrade it.

  2. Ruslan Osmanov repo owner

    There are some issues related with properties when PHP is built with thread safety support. Particularly, overwriting data property of the event objects may cause a failure. I'll try to fix it.

  3. Steve Rhoades reporter
    =====================================================================
    PHP         : /home/travis/.phpenv/versions/5.5.16/bin/php 
    PHP_SAPI    : cli
    PHP_VERSION : 5.5.16
    ZEND_VERSION: 2.5.0
    PHP_OS      : Linux - Linux testing-worker-linux-7-1-31950-linux-16-34356105 2.6.32-042stab090.5 #1 SMP Sat Jun 21 00:15:09 MSK 2014 x86_64
    INI actual  : /home/travis/build/reactphp/event-loop/pecl-ev/tmp-php.ini
    More .INIs  :  
    CWD         : /home/travis/build/reactphp/event-loop/pecl-ev
    Extra dirs  : 
    VALGRIND    : Not used
    =====================================================================
    TIME START 2014-09-04 03:50:16
    =====================================================================
    PASS Check for ev presence [tests/01_load.phpt] 
    FAIL Check for constructor and factory methods' behaviour [tests/02_ev_construct_variation.phpt] 
    FAIL Check for EvLoop class properties [tests/03_ev_loop_props.phpt] 
    PASS Check for EvTimer various calls [tests/04_timer_variation.phpt] 
    PASS Check for EvTimer functionality [tests/05_timer.phpt] 
    PASS Check for EvWatcher::keepalive() functionality [tests/06_keepalive.phpt] 
    PASS Check for EvStat functionality [tests/07_stat.phpt] 
    PASS Check for priorities [tests/08_priority.phpt] 
    PASS Check for EvTimer and EvPeriodic created for custom loop instance [tests/09_loop_timer.phpt] 
    PASS Check for EvSignal functionality [tests/10_signal.phpt] 
    PASS Check for watcher destruction depending on it's data property value [tests/11_watcher_data.phpt] 
    PASS Check for EvWatcher object destructors(leaks) [tests/12_watcher_leak.phpt] 
    PASS Check whether modification of uninitialized EvWatcher::data property is correct [tests/13_watcher_data.phpt] 
    PASS Check for get_gc property handler [tests/14_get_gc.phpt] 
    PASS Check for bug #64788 [tests/bug64788.phpt] 
    =====================================================================
    TIME END 2014-09-04 03:50:23
    =====================================================================
    TEST RESULT SUMMARY
    ---------------------------------------------------------------------
    Exts skipped    :    0
    Exts tested     :   61
    ---------------------------------------------------------------------
    Number of tests :   15                15
    Tests skipped   :    0 (  0.0%) --------
    Tests warned    :    0 (  0.0%) (  0.0%)
    Tests failed    :    2 ( 13.3%) ( 13.3%)
    Expected fail   :    0 (  0.0%) (  0.0%)
    Tests passed    :   13 ( 86.7%) ( 86.7%)
    ---------------------------------------------------------------------
    Time taken      :    7 seconds
    =====================================================================
    =====================================================================
    FAILED TEST SUMMARY
    ---------------------------------------------------------------------
    Check for constructor and factory methods' behaviour [tests/02_ev_construct_variation.phpt]
    Check for EvLoop class properties [tests/03_ev_loop_props.phpt]
    =====================================================================
    
  4. Ruslan Osmanov repo owner

    I've just pushed tsrm branch, where everything seems to work, except tests/11_watcher_data.phpt test, where destruction order is changed. Please, check it out.

  5. Steve Rhoades reporter

    Still segfaulting:

    Program received signal SIGSEGV, Segmentation fault.
    0x00007fffecc657bd in ev_io_stop (loop=0x0, w=0x7fffec2b1b68)
        at /home/travis/build/reactphp/event-loop/pecl-ev/libev/ev.c:3649
    3649      wlist_del (&anfds[w->fd].head, (WL)w);
    (gdb) #0  0x00007fffecc657bd in ev_io_stop (loop=0x0, w=0x7fffec2b1b68)
        at /home/travis/build/reactphp/event-loop/pecl-ev/libev/ev.c:3649
    No locals.
    #1  0x00007fffecc6a2bd in php_ev_watcher_free_storage (ptr=0x7fffec2b1b68, 
        tsrm_ls=<optimized out>)
        at /home/travis/build/reactphp/event-loop/pecl-ev/ev.c:517
            data = <optimized out>
    ---Type <return> to continue, or q <return> to quit---        w_next = <optimized out>
            w_prev = <optimized out>
            o_loop = <optimized out>
    #2  0x00007fffecc6a7d2 in php_ev_io_free_storage (object=<optimized out>, 
        tsrm_ls=0x116e740)
        at /home/travis/build/reactphp/event-loop/pecl-ev/ev.c:563
            obj_ptr = 0x7fffec2b12b8
            ptr = <optimized out>
    #3  0x00000000008cb0e9 in zend_objects_store_del_ref_by_handle_ex (handle=477, 
        handlers=<optimized out>, tsrm_ls=0x116e740)
        at /tmp/php-build/source/5.5.16/Zend/zend_objects_API.c:226
            __orig_bailout = 0x7fffffffd140
            __bailout = {{__jmpbuf = {140737159306608, -667086970406024257, 0, 0, 
                  18278000, 0, 667089360237644735, -667090352455660609}, 
                __mask_was_saved = 0, __saved_mask = {__val = {
                    17779657103303527359, 8, 0, 18278000, 0, 667089360246033343, 
                    17779653721253891007, 0, 190, 18278208, 18271136, 18278208, 
                    8551575, 0, 8551575, 24034680}}}}
            obj = 0x7fffebf4a778
            failure = <optimized out>
    #4  0x00000000008cb11e in zend_objects_store_del_ref (zobject=0x7fffec631d70, 
        tsrm_ls=0x116e740)
        at /tmp/php-build/source/5.5.16/Zend/zend_objects_API.c:178
    ---Type <return> to continue, or q <return> to quit---        handle = <optimized out>
    #5  0x000000000088c568 in _zval_dtor (zvalue=0x7fffec631d70)
        at /tmp/php-build/source/5.5.16/Zend/zend_variables.h:35
    No locals.
    #6  i_zval_ptr_dtor (zval_ptr=0x7fffec631d70)
        at /tmp/php-build/source/5.5.16/Zend/zend_execute.h:81
            tsrm_ls = <optimized out>
    #7  _zval_ptr_dtor (zval_ptr=<optimized out>)
        at /tmp/php-build/source/5.5.16/Zend/zend_execute_API.c:426
    No locals.
    #8  0x00000000008ad728 in zend_hash_destroy (ht=0x7fffec694be0)
        at /tmp/php-build/source/5.5.16/Zend/zend_hash.c:560
            p = 0x0
            q = 0x7fffec6478a8
    #9  0x000000000089c727 in _zval_dtor_func (zvalue=0x7fffec6386e8)
        at /tmp/php-build/source/5.5.16/Zend/zend_variables.c:45
            tsrm_ls = <optimized out>
    #10 0x000000000088c568 in _zval_dtor (zvalue=0x7fffec6386e8)
        at /tmp/php-build/source/5.5.16/Zend/zend_variables.h:35
    No locals.
    #11 i_zval_ptr_dtor (zval_ptr=0x7fffec6386e8)
        at /tmp/php-build/source/5.5.16/Zend/zend_execute.h:81
            tsrm_ls = <optimized out>
    ---Type <return> to continue, or q <return> to quit---#12 _zval_ptr_dtor (zval_ptr=<optimized out>)
        at /tmp/php-build/source/5.5.16/Zend/zend_execute_API.c:426
    No locals.
    #13 0x00000000008c4397 in zend_object_std_dtor (object=0x7fffec647aa0, 
        tsrm_ls=<optimized out>)
        at /tmp/php-build/source/5.5.16/Zend/zend_objects.c:54
            i = <optimized out>
    #14 0x00000000008c43c9 in zend_objects_free_object_storage (
        object=0x7fffec647aa0, tsrm_ls=<optimized out>)
        at /tmp/php-build/source/5.5.16/Zend/zend_objects.c:137
    No locals.
    #15 0x00000000008caa80 in zend_objects_store_free_object_storage (
        objects=0x1172240, tsrm_ls=0x116e740)
        at /tmp/php-build/source/5.5.16/Zend/zend_objects_API.c:97
            obj = <optimized out>
            i = <optimized out>
    #16 0x000000000088d066 in shutdown_executor (tsrm_ls=0x116e740)
        at /tmp/php-build/source/5.5.16/Zend/zend_execute_API.c:293
            __orig_bailout = 0x7fffffffe910
            __bailout = {{__jmpbuf = {18271136, -667090398815433793, 0, 0, 
                  18278000, 0, 667089360300559295, -667090390066115649}, 
                __mask_was_saved = 0, __saved_mask = {__val = {
                    17779653985117031359, 0, 8551575, 0, 8551575, 140737353872864, 
    ---Type <return> to continue, or q <return> to quit---                8850336, 140737353872912, 18292264, 1, 0, 0, 9028302, 
                    18278208, 18270960, 0}}}}
    #17 0x000000000089e2a7 in zend_deactivate (tsrm_ls=0x116e740)
        at /tmp/php-build/source/5.5.16/Zend/zend.c:935
    No locals.
    #18 0x000000000082d9cb in php_request_shutdown (dummy=<optimized out>)
        at /tmp/php-build/source/5.5.16/main/main.c:1808
            report_memleaks = 1 '\001'
            tsrm_ls = 0x116e740
    #19 0x000000000095c9df in do_cli (argc=2, argv=0x116e600, tsrm_ls=0x116e740)
        at /tmp/php-build/source/5.5.16/sapi/cli/php_cli.c:1177
            c = <optimized out>
            file_handle = {type = ZEND_HANDLE_MAPPED, 
              filename = 0x116e670 "/home/travis/.phpenv/versions/5.5.16/bin/phpunit", opened_path = 0x0, handle = {fd = -134478488, fp = 0x7ffff7fc0568, 
                stream = {handle = 0x7ffff7fc0568, isatty = 0, mmap = {
                    len = 3288776, pos = 0, map = 0x7fffec50f000, 
                    buf = 0x7fffec50f013 "\354\377\177", old_handle = 0x16c49c0, 
                    old_closer = 0x8b7380 <zend_stream_stdio_closer>}, 
                  reader = 0x8b7490 <zend_stream_stdio_reader>, 
                  fsizer = 0x8b73b0 <zend_stream_stdio_fsizer>, 
                  closer = 0x8b7400 <zend_stream_mmap_closer>}}, 
              free_filename = 0 '\000'}
    ---Type <return> to continue, or q <return> to quit---        behavior = <optimized out>
            reflection_what = <optimized out>
            request_started = 1
            exit_status = 0
            php_optarg = 0x0
            php_optind = 2
            exec_direct = <optimized out>
            exec_run = <optimized out>
            exec_begin = <optimized out>
            exec_end = <optimized out>
            arg_free = <optimized out>
            arg_excp = <optimized out>
            script_file = <optimized out>
            translated_path = 0x16c4980 "/home/travis/.phpenv/versions/5.5.16/bin/phpunit"
            interactive = <optimized out>
            lineno = 2
            param_error = <optimized out>
            hide_argv = <optimized out>
    #20 0x00000000004483f0 in main (argc=2, argv=0x116e600)
        at /tmp/php-build/source/5.5.16/sapi/cli/php_cli.c:1378
            __orig_bailout = 0x0
            __bailout = {{__jmpbuf = {0, -667089361872335937, 4490324, 0, 0, 0, 
    ---Type <return> to continue, or q <return> to quit---              667089361091185599, -667089872956929089}, __mask_was_saved = 0, 
                __saved_mask = {__val = {33024, 0, 140737354130976, 4298858552, 0, 
                    140737322489624, 4334086, 140737279250432, 140737351944052, 
                    140733193388033, 0, 140737279318232, 140737351944052, 1, 
                    9856560, 0}}}}
            tsrm_ls = 0x116e740
            c = <optimized out>
            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 = 0x1170c50 "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 = 0
            ini_ignore = 0
            sapi_module = <optimized out>
    (gdb) quit
    A debugging session is active.
    

    Test results

    =====================================================================
    PHP         : /home/travis/.phpenv/versions/5.5.16/bin/php 
    PHP_SAPI    : cli
    PHP_VERSION : 5.5.16
    ZEND_VERSION: 2.5.0
    PHP_OS      : Linux - Linux testing-worker-linux-8-2-31998-linux-10-34356396 2.6.32-042stab090.5 #1 SMP Sat Jun 21 00:15:09 MSK 2014 x86_64
    INI actual  : /home/travis/build/reactphp/event-loop/pecl-ev/tmp-php.ini
    More .INIs  :  
    CWD         : /home/travis/build/reactphp/event-loop/pecl-ev
    Extra dirs  : 
    VALGRIND    : Not used
    =====================================================================
    TIME START 2014-09-04 03:59:24
    =====================================================================
    PASS Check for ev presence [tests/01_load.phpt] 
    PASS Check for constructor and factory methods' behaviour [tests/02_ev_construct_variation.phpt] 
    PASS Check for EvLoop class properties [tests/03_ev_loop_props.phpt] 
    PASS Check for EvTimer various calls [tests/04_timer_variation.phpt] 
    PASS Check for EvTimer functionality [tests/05_timer.phpt] 
    PASS Check for EvWatcher::keepalive() functionality [tests/06_keepalive.phpt] 
    PASS Check for EvStat functionality [tests/07_stat.phpt] 
    PASS Check for priorities [tests/08_priority.phpt] 
    PASS Check for EvTimer and EvPeriodic created for custom loop instance [tests/09_loop_timer.phpt] 
    PASS Check for EvSignal functionality [tests/10_signal.phpt] 
    FAIL Check for watcher destruction depending on it's data property value [tests/11_watcher_data.phpt] 
    PASS Check for EvWatcher object destructors(leaks) [tests/12_watcher_leak.phpt] 
    PASS Check whether modification of uninitialized EvWatcher::data property is correct [tests/13_watcher_data.phpt] 
    PASS Check for get_gc property handler [tests/14_get_gc.phpt] 
    PASS Check for bug #64788 [tests/bug64788.phpt] 
    =====================================================================
    TIME END 2014-09-04 03:59:31
    =====================================================================
    TEST RESULT SUMMARY
    ---------------------------------------------------------------------
    Exts skipped    :    0
    Exts tested     :   61
    ---------------------------------------------------------------------
    Number of tests :   15                15
    Tests skipped   :    0 (  0.0%) --------
    Tests warned    :    0 (  0.0%) (  0.0%)
    Tests failed    :    1 (  6.7%) (  6.7%)
    Expected fail   :    0 (  0.0%) (  0.0%)
    Tests passed    :   14 ( 93.3%) ( 93.3%)
    ---------------------------------------------------------------------
    Time taken      :    7 seconds
    =====================================================================
    =====================================================================
    FAILED TEST SUMMARY
    ---------------------------------------------------------------------
    Check for watcher destruction depending on it's data property value [tests/11_watcher_data.phpt]
    =====================================================================
    
  6. Steve Rhoades reporter

    Unfortunately we cannot trust that result as it is currently skipping the ExtEvLoop test. Right now with the gdb enabled 5.5 is the only test that is truly working, I can switch this to another version of PHP if that is more helpful.

  7. Steve Rhoades reporter

    ok, so I have been able to eliminate the segfaults with some code changes in 5.4 and 5.5 - still segfaulting in 5.6 however -

    I have changed the gdb output to reflect 5.6 and here is the output:

    2.08s$ cat script.gdb | sudo gdb --args /home/travis/.phpenv/versions/5.6.0RC4/bin/php /home/travis/.phpenv/versions/5.6.0RC4/bin/phpunit
    GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04
    Copyright (C) 2012 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "x86_64-linux-gnu".
    For bug reporting instructions, please see:
    <http://bugs.launchpad.net/gdb-linaro/>...
    Reading symbols from /home/travis/.phpenv/versions/5.6.0RC4/bin/php...done.
    (gdb) (gdb) Starting program: /home/travis/.phpenv/versions/5.6.0RC4/bin/php /home/travis/.phpenv/versions/5.6.0RC4/bin/phpunit
    warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7ffff7ffa000
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
    PHPUnit 4.2.3 by Sebastian Bergmann.
    Configuration read from /home/travis/build/reactphp/event-loop/phpunit.xml.dist
    .......
    Program received signal SIGSEGV, Segmentation fault.
    0x00000000008cf3b1 in gc_zval_possible_root (zv=0x7fffec549458, 
        tsrm_ls=0x11a7740) at /tmp/php-build/source/5.6.0RC4/Zend/zend_gc.c:143
    143 /tmp/php-build/source/5.6.0RC4/Zend/zend_gc.c: No such file or directory.
    (gdb) #0  0x00000000008cf3b1 in gc_zval_possible_root (zv=0x7fffec549458, 
        tsrm_ls=0x11a7740) at /tmp/php-build/source/5.6.0RC4/Zend/zend_gc.c:143
    No locals.
    #1  0x00007fffecc67379 in php_ev_watcher_free_storage (ptr=0x7fffec2a17e0, 
        tsrm_ls=<optimized out>)
        at /home/travis/build/reactphp/event-loop/pecl-ev/ev.c:540
            data = <optimized out>
            w_next = <optimized out>
    ---Type <return> to continue, or q <return> to quit---        w_prev = <optimized out>
            o_loop = <optimized out>
    #2  0x00007fffecc677d2 in php_ev_io_free_storage (object=<optimized out>, 
        tsrm_ls=0x11a7740)
        at /home/travis/build/reactphp/event-loop/pecl-ev/ev.c:563
            obj_ptr = 0x7fffec2a0f48
            ptr = <optimized out>
    #3  0x00000000008dc859 in zend_objects_store_del_ref_by_handle_ex (handle=266, 
        handlers=<optimized out>, tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_objects_API.c:226
            __orig_bailout = 0x7fffffffc270
            __bailout = {{__jmpbuf = {140737155568448, 6764522591075087247, 
                  140737159346832, 188, 140737159046024, 0, -6764524566430436465, 
                  6764523581555651471}, __mask_was_saved = 0, __saved_mask = {
                  __val = {266, 140737156696064, 8906652, 140737159688544, 
                    8906652, 140733193388034, 140737155569744, 140737155569072, 
                    140737157127600, 140737353890640, 140737159639256, 
                    140737159639256, 18525928, 7, 8613143, 29930126424}}}}
            obj = 0x7ffff7fb1310
            failure = <optimized out>
    #4  0x00000000008dc88e in zend_objects_store_del_ref (zobject=0x7fffec2a1340, 
        tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_objects_API.c:178
    ---Type <return> to continue, or q <return> to quit---        handle = <optimized out>
    #5  0x00000000008999c8 in _zval_dtor (zvalue=0x7fffec2a1340)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_variables.h:35
    No locals.
    #6  i_zval_ptr_dtor (tsrm_ls=<optimized out>, zval_ptr=0x7fffec2a1340)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_execute.h:79
    No locals.
    #7  _zval_ptr_dtor (zval_ptr=<optimized out>)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_execute_API.c:427
            tsrm_ls = <optimized out>
    #8  0x00000000008bb43d in i_zend_hash_bucket_delete (p=0x7fffec5f2388, 
        ht=0x7fffec63ba90) at /tmp/php-build/source/5.6.0RC4/Zend/zend_hash.c:182
    No locals.
    #9  zend_hash_del_key_or_index (ht=0x7fffec63ba90, arKey=0x0, nKeyLength=0, 
        h=188, flag=<optimized out>)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_hash.c:526
            nIndex = <optimized out>
            p = 0x7fffec5f2388
    #10 0x0000000000904af6 in ZEND_UNSET_DIM_SPEC_VAR_CV_HANDLER (
        execute_data=0x7ffff7f97b10, tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:24144
            ht = 0x7fffec63ba90
            opline = <optimized out>
    ---Type <return> to continue, or q <return> to quit---        free_op1 = {var = 0x0}
            container = 0x7fffec63ba90
            offset = 0x7fffec3a1950
            hval = <optimized out>
    #11 0x000000000091e75b in execute_ex (execute_data=0x7ffff7f97b10, 
        tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:363
            ret = <optimized out>
            original_in_execution = 1 '\001'
    #12 0x00007fffedb56255 in xdebug_execute_ex (execute_data=0x7ffff7f97b10, 
        tsrm_ls=0x11a7740) at /tmp/php-build/source/xdebug-2.2.5/xdebug.c:1437
            op_array = 0x7fffec3b3290
            edata = <optimized out>
            dummy = 0x11a7740
            fse = 0x172ade0
            xfse = <optimized out>
            magic_cookie = <optimized out>
            do_return = 0
            function_nr = 27435
            le = <optimized out>
            clear = 1
            return_val = 0x0
    #13 0x0000000000959c46 in zend_do_fcall_common_helper_SPEC (
    ---Type <return> to continue, or q <return> to quit---    execute_data=<optimized out>, tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:592
            opline = 0x7fffec3b4700
            should_change_scope = 1 '\001'
            fbc = 0x7fffec3b3290
            num_args = <optimized out>
    #14 0x000000000091e75b in execute_ex (execute_data=0x7ffff7f978c8, 
        tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:363
            ret = <optimized out>
            original_in_execution = 1 '\001'
    #15 0x00007fffedb56255 in xdebug_execute_ex (execute_data=0x7ffff7f978c8, 
        tsrm_ls=0x11a7740) at /tmp/php-build/source/xdebug-2.2.5/xdebug.c:1437
            op_array = 0x7fffec3b33d8
            edata = <optimized out>
            dummy = 0x11a50c0
            fse = 0x17246a0
            xfse = <optimized out>
            magic_cookie = <optimized out>
            do_return = 0
            function_nr = 27432
            le = <optimized out>
            clear = 1
    ---Type <return> to continue, or q <return> to quit---        return_val = 0x0
    #16 0x0000000000959c46 in zend_do_fcall_common_helper_SPEC (
        execute_data=<optimized out>, tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:592
            opline = 0x7fffec7da1f0
            should_change_scope = 1 '\001'
            fbc = 0x7fffec3b33d8
            num_args = <optimized out>
    #17 0x000000000091e75b in execute_ex (execute_data=0x7ffff7f976a0, 
        tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:363
            ret = <optimized out>
            original_in_execution = 1 '\001'
    #18 0x00007fffedb56255 in xdebug_execute_ex (execute_data=0x7ffff7f976a0, 
        tsrm_ls=0x11a7740) at /tmp/php-build/source/xdebug-2.2.5/xdebug.c:1437
            op_array = 0x7fffec694788
            edata = <optimized out>
            dummy = 0x0
            fse = 0x1727910
            xfse = <optimized out>
            magic_cookie = <optimized out>
            do_return = 0
            function_nr = 27337
    ---Type <return> to continue, or q <return> to quit---        le = <optimized out>
            clear = 0
            return_val = 0x0
    #19 0x000000000089bb70 in zend_call_function (fci=0x7fffffff9b40, 
        fci_cache=<optimized out>, tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_execute_API.c:832
            i = <optimized out>
            original_return_value = 0x7ffff7f961d0
            calling_symbol_table = 0x0
            original_op_array = 0x7fffec699338
            original_opline_ptr = 0x7ffff7f972a8
            current_scope = 0x0
            current_called_scope = 0x144c2a0
            calling_scope = 0x7fffec6305f8
            called_scope = 0x7ffff7f961d0
            current_this = 0x7fffec6305f8
            execute_data = {opline = 0x0, function_state = {
                function = 0x7fffec694788, arguments = 0x7ffff7f973f8}, 
              op_array = 0x0, object = 0x7fffec63f760, symbol_table = 0x0, 
              prev_execute_data = 0x7ffff7f972a8, old_error_reporting = 0x0, 
              nested = 0 '\000', original_return_value = 0x0, 
              current_scope = 0x7fffec776cb8, 
              current_called_scope = 0x7fffec68b348, 
    ---Type <return> to continue, or q <return> to quit---          current_this = 0x7fffec63f760, fast_ret = 0x7fffec5e9b70, 
              delayed_exception = 0x0, call_slots = 0x7ffff7f973a0, 
              call = 0x7ffff7f973a0}
            fci_cache_local = {initialized = 0 '\000', 
              function_handler = 0x11a7740, calling_scope = 0x0, 
              called_scope = 0x8a765e, object_ptr = 0x7fffec68b348}
    #20 0x00000000006e2f76 in zim_reflection_method_invokeArgs (tsrm_ls=0x11a7740, 
        this_ptr=<optimized out>, return_value=0x7fffec689850, ht=<optimized out>, 
        return_value_ptr=<optimized out>, return_value_used=<optimized out>)
        at /tmp/php-build/source/5.6.0RC4/ext/reflection/php_reflection.c:3042
            params = 0x7fffec3a0df0
            mptr = 0x7fffec694788
            argc = 0
            fci = {size = 72, function_table = 0x0, function_name = 0x0, 
              symbol_table = 0x0, retval_ptr_ptr = 0x7fffffff9bc0, 
              param_count = 0, params = 0x7fffec3a0df0, 
              object_ptr = 0x7fffec63f760, no_separation = 1 '\001'}
            fcc = {initialized = 1 '\001', function_handler = 0x7fffec694788, 
              calling_scope = 0x7fffec68b348, called_scope = 0x7fffec68b348, 
              object_ptr = 0x7fffec63f760}
            param_array = 0x7fffec63f118
            retval_ptr = <optimized out>
            object = 0x7fffec63f760
    ---Type <return> to continue, or q <return> to quit---        intern = 0x7fffec68f528
            result = <optimized out>
            obj_ce = 0x7fffec68b348
    #21 zim_reflection_method_invokeArgs (ht=<optimized out>, 
        return_value=0x7fffec689850, return_value_ptr=<optimized out>, 
        this_ptr=<optimized out>, return_value_used=<optimized out>, 
        tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/ext/reflection/php_reflection.c:2945
    No locals.
    #22 0x00007fffedb5496d in xdebug_execute_internal (
        current_execute_data=0x7ffff7f972a8, fci=0x0, return_value_used=1, 
        tsrm_ls=0x11a7740) at /tmp/php-build/source/xdebug-2.2.5/xdebug.c:1553
            edata = <optimized out>
            fse = 0x172a4f0
            cur_opcode = <optimized out>
            function_nr = 27336
            restore_error_handler_situation = 0
            tmp_error_cb = 0
    #23 0x00000000009593ae in zend_do_fcall_common_helper_SPEC (
        execute_data=<optimized out>, tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:560
            ret = 0x7ffff7f96fa8
            opline = <optimized out>
    ---Type <return> to continue, or q <return> to quit---        should_change_scope = 1 '\001'
            fbc = 0x144da50
            num_args = <optimized out>
    #24 0x000000000091e75b in execute_ex (execute_data=0x7ffff7f972a8, 
        tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:363
            ret = <optimized out>
            original_in_execution = 1 '\001'
    #25 0x00007fffedb56255 in xdebug_execute_ex (execute_data=0x7ffff7f972a8, 
        tsrm_ls=0x11a7740) at /tmp/php-build/source/xdebug-2.2.5/xdebug.c:1437
            op_array = 0x7fffec699338
            edata = <optimized out>
            dummy = 0x836d17
            fse = 0x1722270
            xfse = <optimized out>
            magic_cookie = <optimized out>
            do_return = 0
            function_nr = 27332
            le = <optimized out>
            clear = 0
            return_val = 0x0
    #26 0x0000000000959c46 in zend_do_fcall_common_helper_SPEC (
        execute_data=<optimized out>, tsrm_ls=0x11a7740)
    ---Type <return> to continue, or q <return> to quit---    at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:592
            opline = 0x7fffec72c980
            should_change_scope = 1 '\001'
            fbc = 0x7fffec699338
            num_args = <optimized out>
    #27 0x000000000091e75b in execute_ex (execute_data=0x7ffff7f967c8, 
        tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:363
            ret = <optimized out>
            original_in_execution = 1 '\001'
    #28 0x00007fffedb56255 in xdebug_execute_ex (execute_data=0x7ffff7f967c8, 
        tsrm_ls=0x11a7740) at /tmp/php-build/source/xdebug-2.2.5/xdebug.c:1437
            op_array = 0x7fffec6991d0
            edata = <optimized out>
            dummy = 0x836d17
            fse = 0x1724f50
            xfse = <optimized out>
            magic_cookie = <optimized out>
            do_return = 0
            function_nr = 27294
            le = <optimized out>
            clear = 1
            return_val = 0x0
    ---Type <return> to continue, or q <return> to quit---#29 0x0000000000959c46 in zend_do_fcall_common_helper_SPEC (
        execute_data=<optimized out>, tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:592
            opline = 0x7fffec3e4900
            should_change_scope = 1 '\001'
            fbc = 0x7fffec6991d0
            num_args = <optimized out>
    #30 0x000000000091e75b in execute_ex (execute_data=0x7ffff7f952f8, 
        tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:363
            ret = <optimized out>
            original_in_execution = 1 '\001'
    #31 0x00007fffedb56255 in xdebug_execute_ex (execute_data=0x7ffff7f952f8, 
        tsrm_ls=0x11a7740) at /tmp/php-build/source/xdebug-2.2.5/xdebug.c:1437
            op_array = 0x7fffec44e7e8
            edata = <optimized out>
            dummy = 0x836d17
            fse = 0x172aa90
            xfse = <optimized out>
            magic_cookie = <optimized out>
            do_return = 0
            function_nr = 27284
            le = <optimized out>
    ---Type <return> to continue, or q <return> to quit---        clear = 1
            return_val = 0x0
    #32 0x0000000000959c46 in zend_do_fcall_common_helper_SPEC (
        execute_data=<optimized out>, tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:592
            opline = 0x7fffec72af60
            should_change_scope = 1 '\001'
            fbc = 0x7fffec44e7e8
            num_args = <optimized out>
    #33 0x000000000091e75b in execute_ex (execute_data=0x7ffff7f93910, 
        tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:363
            ret = <optimized out>
            original_in_execution = 1 '\001'
    #34 0x00007fffedb56255 in xdebug_execute_ex (execute_data=0x7ffff7f93910, 
        tsrm_ls=0x11a7740) at /tmp/php-build/source/xdebug-2.2.5/xdebug.c:1437
            op_array = 0x7fffec699068
            edata = <optimized out>
            dummy = 0x836d17
            fse = 0x1721f90
            xfse = <optimized out>
            magic_cookie = <optimized out>
            do_return = 0
    ---Type <return> to continue, or q <return> to quit---        function_nr = 27276
            le = <optimized out>
            clear = 1
            return_val = 0x0
    #35 0x0000000000959c46 in zend_do_fcall_common_helper_SPEC (
        execute_data=<optimized out>, tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:592
            opline = 0x7fffec7b88d8
            should_change_scope = 1 '\001'
            fbc = 0x7fffec699068
            num_args = <optimized out>
    #36 0x000000000091e75b in execute_ex (execute_data=0x7ffff7f925e8, 
        tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:363
            ret = <optimized out>
            original_in_execution = 1 '\001'
    #37 0x00007fffedb56255 in xdebug_execute_ex (execute_data=0x7ffff7f925e8, 
        tsrm_ls=0x11a7740) at /tmp/php-build/source/xdebug-2.2.5/xdebug.c:1437
            op_array = 0x7fffec7b0b50
            edata = <optimized out>
            dummy = 0x11a7740
            fse = 0x1709580
            xfse = <optimized out>
    ---Type <return> to continue, or q <return> to quit---        magic_cookie = <optimized out>
            do_return = 0
            function_nr = 23989
            le = <optimized out>
            clear = 1
            return_val = 0x0
    #38 0x0000000000959c46 in zend_do_fcall_common_helper_SPEC (
        execute_data=<optimized out>, tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:592
            opline = 0x7fffec7b88d8
            should_change_scope = 1 '\001'
            fbc = 0x7fffec7b0b50
            num_args = <optimized out>
    #39 0x000000000091e75b in execute_ex (execute_data=0x7ffff7f91a00, 
        tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:363
            ret = <optimized out>
            original_in_execution = 1 '\001'
    #40 0x00007fffedb56255 in xdebug_execute_ex (execute_data=0x7ffff7f91a00, 
        tsrm_ls=0x11a7740) at /tmp/php-build/source/xdebug-2.2.5/xdebug.c:1437
            op_array = 0x7fffec7b0b50
            edata = <optimized out>
            dummy = 0x11a7740
    ---Type <return> to continue, or q <return> to quit---        fse = 0x171def0
            xfse = <optimized out>
            magic_cookie = <optimized out>
            do_return = 0
            function_nr = 21012
            le = <optimized out>
            clear = 1
            return_val = 0x0
    #41 0x0000000000959c46 in zend_do_fcall_common_helper_SPEC (
        execute_data=<optimized out>, tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:592
            opline = 0x7fffec4285d0
            should_change_scope = 1 '\001'
            fbc = 0x7fffec7b0b50
            num_args = <optimized out>
    #42 0x000000000091e75b in execute_ex (execute_data=0x7ffff7f90d98, 
        tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:363
            ret = <optimized out>
            original_in_execution = 1 '\001'
    #43 0x00007fffedb56255 in xdebug_execute_ex (execute_data=0x7ffff7f90d98, 
        tsrm_ls=0x11a7740) at /tmp/php-build/source/xdebug-2.2.5/xdebug.c:1437
            op_array = 0x7fffec4838a8
    ---Type <return> to continue, or q <return> to quit---        edata = <optimized out>
            dummy = 0x7ffff7f8e048
            fse = 0x1614450
            xfse = <optimized out>
            magic_cookie = <optimized out>
            do_return = 0
            function_nr = 20829
            le = <optimized out>
            clear = 0
            return_val = 0x0
    #44 0x0000000000959c46 in zend_do_fcall_common_helper_SPEC (
        execute_data=<optimized out>, tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:592
            opline = 0x7ffff7f36fe8
            should_change_scope = 1 '\001'
            fbc = 0x7fffec4838a8
            num_args = <optimized out>
    #45 0x000000000091e75b in execute_ex (execute_data=0x7ffff7f8e048, 
        tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:363
            ret = <optimized out>
            original_in_execution = 1 '\001'
    #46 0x00007fffedb56255 in xdebug_execute_ex (execute_data=0x7ffff7f8e048, 
    ---Type <return> to continue, or q <return> to quit---    tsrm_ls=0x11a7740) at /tmp/php-build/source/xdebug-2.2.5/xdebug.c:1437
            op_array = 0x7ffff7f34348
            edata = <optimized out>
            dummy = 0x7ffff7f8d628
            fse = 0x1708f40
            xfse = <optimized out>
            magic_cookie = <optimized out>
            do_return = 0
            function_nr = 13
            le = <optimized out>
            clear = 0
            return_val = 0x0
    #47 0x0000000000959c46 in zend_do_fcall_common_helper_SPEC (
        execute_data=<optimized out>, tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:592
            opline = 0x7ffff7f335f8
            should_change_scope = 1 '\001'
            fbc = 0x7ffff7f34348
            num_args = <optimized out>
    #48 0x000000000091e75b in execute_ex (execute_data=0x7ffff7f8d708, 
        tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:363
            ret = <optimized out>
    ---Type <return> to continue, or q <return> to quit---        original_in_execution = 1 '\001'
    #49 0x00007fffedb56255 in xdebug_execute_ex (execute_data=0x7ffff7f8d708, 
        tsrm_ls=0x11a7740) at /tmp/php-build/source/xdebug-2.2.5/xdebug.c:1437
            op_array = 0x7ffff7f33f08
            edata = <optimized out>
            dummy = 0x7ffff7f2ea40
            fse = 0x1709470
            xfse = <optimized out>
            magic_cookie = <optimized out>
            do_return = 0
            function_nr = 12
            le = <optimized out>
            clear = 1
            return_val = 0x0
    #50 0x0000000000959c46 in zend_do_fcall_common_helper_SPEC (
        execute_data=<optimized out>, tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:592
            opline = 0x7ffff7ec3120
            should_change_scope = 1 '\001'
            fbc = 0x7ffff7f33f08
            num_args = <optimized out>
    #51 0x000000000091e75b in execute_ex (execute_data=0x7ffff7f8d540, 
        tsrm_ls=0x11a7740)
    ---Type <return> to continue, or q <return> to quit---    at /tmp/php-build/source/5.6.0RC4/Zend/zend_vm_execute.h:363
            ret = <optimized out>
            original_in_execution = 0 '\000'
    #52 0x00007fffedb56255 in xdebug_execute_ex (execute_data=0x7ffff7f8d540, 
        tsrm_ls=0x11a7740) at /tmp/php-build/source/xdebug-2.2.5/xdebug.c:1437
            op_array = 0x7ffff7fc0470
            edata = <optimized out>
            dummy = 0x7ffff7fc0588
            fse = 0x1707d10
            xfse = <optimized out>
            magic_cookie = <optimized out>
            do_return = 0
            function_nr = 0
            le = <optimized out>
            clear = 1
            return_val = 0x0
    #53 0x00000000008ade98 in zend_execute_scripts (type=8, tsrm_ls=0x11a7740, 
        retval=0x0, file_count=3)
        at /tmp/php-build/source/5.6.0RC4/Zend/zend.c:1330
            files = {{gp_offset = 48, fp_offset = 0, 
                overflow_arg_area = 0x7fffffffb230, 
                reg_save_area = 0x7fffffffb1c0}}
            i = <optimized out>
    ---Type <return> to continue, or q <return> to quit---        file_handle = 0x7fffffffd6f0
            orig_op_array = 0x0
            orig_retval_ptr_ptr = 0x0
            orig_interactive = 0
    #54 0x000000000083bdd4 in php_execute_script (primary_file=0x7fffffffd6f0, 
        tsrm_ls=0x11a7740) at /tmp/php-build/source/5.6.0RC4/main/main.c:2584
            realfile = "/home/travis/.phpenv/versions/5.6.0RC4/bin/phpunit\000\377\377\177\000\000y$\226\363\377\177\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000p\377E\001\000\000\000\000Hb|\367\377\177\000\000\240\035D\001\000\000\000\000\002\000\313)\177\000\000\001\000\000\000\000\000\000\000\000\260\033D\001\000\000\000\000\000\307\377\377\020\001\000\b\001\000\000\000\001\000\000\000\360\035D\001\000\000\000\000\002\000\331m\254\036\360Z", '\000' <repeats 112 times>"\200, \035D\001\000\000\000\000\000\305\377\377\377\177", '\000' <repeats 130 times>, " d\264\355\377\177\000\000\000\000\000\000\000\000\000\000\220\314\377\377\377\177\000\000\200\314\377\377\377\177", '\000' <repeats 99 times>"\203, \347\354\377\177\000\000\000\000\000\000\000\000\000\000\240"...
            __orig_bailout = 0x7fffffffd4e0
            __bailout = {{__jmpbuf = {24150496, -6764524564503153777, 0, 0, 
                  18511472, 0, -6764524565369277553, 6764523495405433743}, 
                __mask_was_saved = 0, __saved_mask = {__val = {
                    0 <repeats 11 times>, 140737488339888, 8613143, 0, 
                    10539154140155069440, 0}}}}
            prepend_file_p = <optimized out>
    ---Type <return> to continue, or q <return> to quit---        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 = 0x7fffffffb240 ""
            retval = 0
    #55 0x000000000095d277 in do_cli (argc=2, argv=0x11a7600, tsrm_ls=0x11a7740)
        at /tmp/php-build/source/5.6.0RC4/sapi/cli/php_cli.c:994
            __orig_bailout = 0x7fffffffe900
            __bailout = {{__jmpbuf = {0, 6764524563110998927, 4497236, 0, 0, 0, 
                  -6764524564505250929, 6764523650415506319}, 
                __mask_was_saved = 0, __saved_mask = {__val = {189512, 8192, 
                    14621288, 0 <repeats 13 times>}}}}
            c = <optimized out>
            file_handle = {type = ZEND_HANDLE_MAPPED, 
              filename = 0x11a7670 "/home/travis/.phpenv/versions/5.6.0RC4/bin/phpun---Type <return> to continue, or q <return> to quit---it", opened_path = 0x0, handle = {fd = -134478432, fp = 0x7ffff7fc05a0, 
                stream = {handle = 0x7ffff7fc05a0, isatty = 0, mmap = {
                    len = 3288776, pos = 0, map = 0x7fffec50c000, 
                    buf = 0x7fffec50c013 "\354\377\177", old_handle = 0x1707cd0, 
                    old_closer = 0x8c5140 <zend_stream_stdio_closer>}, 
                  reader = 0x8c5250 <zend_stream_stdio_reader>, 
                  fsizer = 0x8c5170 <zend_stream_stdio_fsizer>, 
                  closer = 0x8c51c0 <zend_stream_mmap_closer>}}, 
              free_filename = 0 '\000'}
            behavior = <optimized out>
            reflection_what = 0x0
            request_started = 1
            exit_status = 0
            php_optarg = 0x0
            php_optind = 2
            exec_direct = 0x0
            exec_run = 0x0
            exec_begin = 0x0
            exec_end = 0x0
            arg_free = <optimized out>
            arg_excp = 0x11a7600
            script_file = <optimized out>
            translated_path = 0x17081e0 "/home/travis/.phpenv/versions/5.6.0RC4/bin/---Type <return> to continue, or q <return> to quit---phpunit"
            interactive = 0
            lineno = 2
            param_error = <optimized out>
            hide_argv = 0
    #56 0x0000000000449ef0 in main (argc=2, argv=0x11a7600)
        at /tmp/php-build/source/5.6.0RC4/sapi/cli/php_cli.c:1378
            __orig_bailout = 0x0
            __bailout = {{__jmpbuf = {0, 6764524563110998927, 4497236, 0, 0, 0, 
                  -6764524563538463857, 6764525152377942927}, 
                __mask_was_saved = 0, __saved_mask = {__val = {33024, 0, 
                    140737354130976, 4298858552, 0, 140737322489624, 4337522, 
                    140737279250432, 140737351944052, 140733193388033, 0, 
                    140737279318232, 140737351944052, 1, 9855280, 0}}}}
            tsrm_ls = 0x11a7740
            c = <optimized out>
            exit_status = 0
            module_started = 1
            sapi_started = 1
            php_optarg = 0x0
            php_optind = 1
            use_extended_info = 0
            ini_path_override = 0x0
    ---Type <return> to continue, or q <return> to quit---        ini_entries = 0x11a7b80 "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 = 0
            ini_ignore = 0
            sapi_module = <optimized out>
    (gdb) quit
    A debugging session is active.
    

    Test Output

    =====================================================================
    PHP         : /home/travis/.phpenv/versions/5.6.0RC4/bin/php 
    PHP_SAPI    : cli
    PHP_VERSION : 5.6.0RC4
    ZEND_VERSION: 2.6.0-dev
    PHP_OS      : Linux - Linux testing-worker-linux-5-2-1709-linux-19-34444882 2.6.32-042stab090.5 #1 SMP Sat Jun 21 00:15:09 MSK 2014 x86_64
    INI actual  : /home/travis/build/reactphp/event-loop/pecl-ev/tmp-php.ini
    More .INIs  :  
    CWD         : /home/travis/build/reactphp/event-loop/pecl-ev
    Extra dirs  : 
    VALGRIND    : Not used
    =====================================================================
    TIME START 2014-09-04 22:51:18
    =====================================================================
    PASS Check for ev presence [tests/01_load.phpt] 
    PASS Check for constructor and factory methods' behaviour [tests/02_ev_construct_variation.phpt] 
    PASS Check for EvLoop class properties [tests/03_ev_loop_props.phpt] 
    PASS Check for EvTimer various calls [tests/04_timer_variation.phpt] 
    PASS Check for EvTimer functionality [tests/05_timer.phpt] 
    FAIL Check for EvWatcher::keepalive() functionality [tests/06_keepalive.phpt] 
    PASS Check for EvStat functionality [tests/07_stat.phpt] 
    PASS Check for priorities [tests/08_priority.phpt] 
    FAIL Check for EvTimer and EvPeriodic created for custom loop instance [tests/09_loop_timer.phpt] 
    FAIL Check for EvSignal functionality [tests/10_signal.phpt] 
    PASS Check for watcher destruction depending on it's data property value [tests/11_watcher_data.phpt] 
    PASS Check for EvWatcher object destructors(leaks) [tests/12_watcher_leak.phpt] 
    PASS Check whether modification of uninitialized EvWatcher::data property is correct [tests/13_watcher_data.phpt] 
    PASS Check for get_gc property handler [tests/14_get_gc.phpt] 
    PASS Check for bug #64788 [tests/bug64788.phpt] 
    =====================================================================
    TIME END 2014-09-04 22:52:24
    
  8. Ruslan Osmanov repo owner

    Well, the ext. definitely needs to be upgraded for PHP 5.6. I'll do that. Can't tell how fast, however.

  9. Steve Rhoades reporter

    No problem. Hope the information posted here is helpful in that regard.. thanks for all the great work so far!

  10. Log in to comment