Page MenuHomePhabricator

Safety checks triggered when the app closes
Open, NormalPublic

Description

When closing eovim (or elementary_config), I observe safety checks errors from evas:

ERR<27973>:eina_safety ../../src/lib/evas/canvas/evas_callbacks.c:540 evas_object_event_callback_del_full() safety check failed: obj == NULL
ERR<27973>:eina_safety ../../src/lib/evas/canvas/evas_callbacks.c:540 evas_object_event_callback_del_full() safety check failed: obj == NULL
ERR<27973>:eina_safety ../../src/lib/evas/canvas/evas_callbacks.c:540 evas_object_event_callback_del_full() safety check failed: obj == NULL
ERR<27973>:eina_safety ../../src/lib/evas/canvas/evas_callbacks.c:540 evas_object_event_callback_del_full() safety check failed: obj == NULL
ERR<27973>:eina_safety ../../src/lib/evas/canvas/evas_callbacks.c:540 evas_object_event_callback_del_full() safety check failed: obj == NULL
ERR<27973>:eina_safety ../../src/lib/evas/canvas/evas_callbacks.c:540 evas_object_event_callback_del_full() safety check failed: obj == NULL
ERR<27973>:eina_safety ../../src/lib/evas/canvas/evas_callbacks.c:540 evas_object_event_callback_del_full() safety check failed: obj == NULL
ERR<27973>:eina_safety ../../src/lib/evas/canvas/evas_callbacks.c:540 evas_object_event_callback_del_full() safety check failed: obj == NULL
ERR<27973>:eina_safety ../../src/lib/evas/canvas/evas_callbacks.c:540 evas_object_event_callback_del_full() safety check failed: obj == NULL
ERR<27973>:eina_safety ../../src/lib/evas/canvas/evas_callbacks.c:540 evas_object_event_callback_del_full() safety check failed: obj == NULL

When enabling the backtrace, I get the following:

    /usr/local/lib/libeina.so.1      |         /home/jean/e/efl/build/src/../../src/lib/eina/eina_log.c            : 2055 @ eina_log_print_cb_stderr()
    /usr/local/lib/libeina.so.1      |         /home/jean/e/efl/build/src/../../src/lib/eina/eina_log.c            : 1454 @ eina_log_print_unlocked()
    /usr/local/lib/libeina.so.1      |         /home/jean/e/efl/build/src/../../src/lib/eina/eina_log.c            : 2259 @ eina_log_print()
    /usr/local/lib/libeina.so.1      |         /home/jean/e/efl/build/src/../../src/lib/eina/eina_safety_checks.c  :   83 @ _eina_safety_error()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_callbacks.c      :  540 @ evas_object_event_callback_del_full()
    /usr/local/lib/libedje.so.1      |         /home/jean/e/efl/build/src/../../src/lib/edje/edje_util.c           : 5982 @ _edje_real_part_swallow_clear()
    /usr/local/lib/libedje.so.1      |         /home/jean/e/efl/build/src/../../src/lib/edje/edje_load.c           : 2001 @ _edje_file_del()
    /usr/local/lib/libedje.so.1      |         /home/jean/e/efl/build/src/../../src/lib/edje/edje_smart.c          :  181 @ _efl_canvas_layout_efl_canvas_group_group_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_smart.c   : 1861 @ efl_canvas_group_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_smart.c   : 1296 @ evas_object_smart_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_main.c    : 1339 @ _efl_canvas_object_efl_object_invalidate()
    /usr/local/lib/libeo.so.1        |              /home/jean/e/efl/build/src/../src/lib/eo/efl_object.eo.c       :   72 @ efl_invalidate()
    /usr/local/lib/libedje.so.1      |         /home/jean/e/efl/build/src/../../src/lib/edje/edje_smart.c          :   60 @ _efl_canvas_layout_efl_object_invalidate()
    /usr/local/lib/libeo.so.1        |              /home/jean/e/efl/build/src/../src/lib/eo/efl_object.eo.c       :   72 @ efl_invalidate()
    /usr/local/lib/libeo.so.1        |           /home/jean/e/efl/build/src/../../src/lib/eo/eo_base_class.c       :  173 @ _efl_invalidate()
    /usr/local/lib/libeo.so.1        |           /home/jean/e/efl/build/src/../../src/lib/eo/eo_base_class.c       :  738 @ _efl_object_parent_set()
    /usr/local/lib/libeo.so.1        |              /home/jean/e/efl/build/src/../src/lib/eo/efl_object.eo.c       :   12 @ efl_parent_set()
    /usr/local/lib/libeo.so.1        |           /home/jean/e/efl/build/src/../../src/lib/eo/eo_base_class.c       :  687 @ efl_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_main.c    : 1043 @ evas_object_del()
    /usr/local/lib/libelementary.so.1|   /home/jean/e/efl/build/src/../../src/lib/elementary/efl_ui_widget.c       :  845 @ _efl_ui_widget_efl_canvas_group_group_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_smart.c   : 1861 @ efl_canvas_group_del()
    /usr/local/lib/libelementary.so.1|   /home/jean/e/efl/build/src/../../src/lib/elementary/efl_ui_layout_object.c:  809 @ _efl_ui_layout_efl_canvas_group_group_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_smart.c   : 1861 @ efl_canvas_group_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_smart.c   : 1296 @ evas_object_smart_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_main.c    : 1339 @ _efl_canvas_object_efl_object_invalidate()
    /usr/local/lib/libeo.so.1        |              /home/jean/e/efl/build/src/../src/lib/eo/efl_object.eo.c       :   72 @ efl_invalidate()
    /usr/local/lib/libelementary.so.1|   /home/jean/e/efl/build/src/../../src/lib/elementary/efl_access_object.c   :  635 @ _efl_access_object_efl_object_invalidate()
    /usr/local/lib/libeo.so.1        |              /home/jean/e/efl/build/src/../src/lib/eo/efl_object.eo.c       :   72 @ efl_invalidate()
    /usr/local/lib/libeo.so.1        |           /home/jean/e/efl/build/src/../../src/lib/eo/eo_base_class.c       :  173 @ _efl_invalidate()
    /usr/local/lib/libeo.so.1        |           /home/jean/e/efl/build/src/../../src/lib/eo/eo_base_class.c       :  738 @ _efl_object_parent_set()
    /usr/local/lib/libeo.so.1        |              /home/jean/e/efl/build/src/../src/lib/eo/efl_object.eo.c       :   12 @ efl_parent_set()
    /usr/local/lib/libeo.so.1        |           /home/jean/e/efl/build/src/../../src/lib/eo/eo_base_class.c       :  687 @ efl_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_main.c    : 1043 @ evas_object_del()
    /usr/local/lib/libevas.so.1      | /home/jean/e/efl/build/src/../../src/lib/evas/include/evas_inline.x         :  362 @ _evas_wrap_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_smart.c   :  589 @ _efl_canvas_group_group_members_all_del_internal()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_smart.c   :  827 @ _efl_canvas_group_group_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_smart.c   : 1861 @ efl_canvas_group_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_box.c     :  432 @ _evas_box_efl_canvas_group_group_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_smart.c   : 1861 @ efl_canvas_group_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_smart.c   : 1296 @ evas_object_smart_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_main.c    : 1339 @ _efl_canvas_object_efl_object_invalidate()
    /usr/local/lib/libeo.so.1        |              /home/jean/e/efl/build/src/../src/lib/eo/efl_object.eo.c       :   72 @ efl_invalidate()
    /usr/local/lib/libeo.so.1        |           /home/jean/e/efl/build/src/../../src/lib/eo/eo_base_class.c       :  173 @ _efl_invalidate()
    /usr/local/lib/libeo.so.1        |           /home/jean/e/efl/build/src/../../src/lib/eo/eo_base_class.c       :  738 @ _efl_object_parent_set()
    /usr/local/lib/libeo.so.1        |              /home/jean/e/efl/build/src/../src/lib/eo/efl_object.eo.c       :   12 @ efl_parent_set()
    /usr/local/lib/libeo.so.1        |           /home/jean/e/efl/build/src/../../src/lib/eo/eo_base_class.c       :  687 @ efl_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_main.c    : 1043 @ evas_object_del()
    /usr/local/lib/libelementary.so.1|   /home/jean/e/efl/build/src/../../src/lib/elementary/efl_ui_win.c          : 2874 @ _efl_ui_win_efl_canvas_group_group_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_smart.c   : 1861 @ efl_canvas_group_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_smart.c   : 1296 @ evas_object_smart_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_main.c    : 1339 @ _efl_canvas_object_efl_object_invalidate()
    /usr/local/lib/libeo.so.1        |              /home/jean/e/efl/build/src/../src/lib/eo/efl_object.eo.c       :   72 @ efl_invalidate()
    /usr/local/lib/libelementary.so.1|   /home/jean/e/efl/build/src/../../src/lib/elementary/efl_access_object.c   :  635 @ _efl_access_object_efl_object_invalidate()
    /usr/local/lib/libeo.so.1        |              /home/jean/e/efl/build/src/../src/lib/eo/efl_object.eo.c       :   72 @ efl_invalidate()
    /usr/local/lib/libeo.so.1        |           /home/jean/e/efl/build/src/../../src/lib/eo/eo_base_class.c       :  173 @ _efl_invalidate()
    /usr/local/lib/libeo.so.1        |           /home/jean/e/efl/build/src/../../src/lib/eo/eo_base_class.c       :  738 @ _efl_object_parent_set()
    /usr/local/lib/libeo.so.1        |              /home/jean/e/efl/build/src/../src/lib/eo/efl_object.eo.c       :   12 @ efl_parent_set()
    /usr/local/lib/libeo.so.1        |           /home/jean/e/efl/build/src/../../src/lib/eo/eo_base_class.c       :  687 @ efl_del()
    /usr/local/lib/libevas.so.1      |  /home/jean/e/efl/build/src/../../src/lib/evas/canvas/evas_object_main.c    : 1043 @ evas_object_del()
??       -
??       -
    /usr/local/lib/libecore.so.1     |      /home/jean/e/efl/build/src/../../src/lib/ecore/ecore_event_message_handler.c:  359 @ _ecore_event_message_handler_efl_loop_message_handler_message_call()
    /usr/local/lib/libecore.so.1     |         /home/jean/e/efl/build/src/../src/lib/ecore/efl_loop_message_handler.eo.c:   14 @ efl_loop_message_handler_message_call()
    /usr/local/lib/libecore.so.1     |      /home/jean/e/efl/build/src/../../src/lib/ecore/efl_loop.c                   :  633 @ _efl_loop_message_process()
    /usr/local/lib/libecore.so.1     |      /home/jean/e/efl/build/src/../../src/lib/ecore/efl_loop.c                   :  663 @ efl_loop_message_process()
    /usr/local/lib/libecore.so.1     |      /home/jean/e/efl/build/src/../../src/lib/ecore/ecore_main.c                 : 2451 @ _ecore_main_loop_iterate_internal()
    /usr/local/lib/libecore.so.1     |      /home/jean/e/efl/build/src/../../src/lib/ecore/ecore_main.c                 : 1182 @ _ecore_main_loop_begin()
    /usr/local/lib/libecore.so.1     |      /home/jean/e/efl/build/src/../../src/lib/ecore/efl_loop.c                   :   84 @ _efl_loop_begin()
    /usr/local/lib/libecore.so.1     |         /home/jean/e/efl/build/src/../src/lib/ecore/efl_loop.eo.c                :   28 @ efl_loop_begin()
    /usr/local/lib/libecore.so.1     |      /home/jean/e/efl/build/src/../../src/lib/ecore/ecore_main.c                 : 1267 @ ecore_main_loop_begin()
    /usr/local/lib/libelementary.so.1| /home/jean/e/efl/build/src/../../src/lib/elementary/elm_main.c                   : 1316 @ elm_run()
??       -
??       -
    /lib/x86_64-linux-gnu/libc.so.6| /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c: 344 @ __libc_start_main()
??

Since it does not seems to be driven by my code, I'm not sure where to investigate.
Thanks.

jayji created this task.Aug 3 2018, 12:23 PM
Herald triaged this task as Showstopper Issues priority. · View Herald TranscriptAug 4 2018, 7:20 AM
zmike lowered the priority of this task from Showstopper Issues to Normal.
zmike added a subscriber: zmike.

Not a regression, these are just issues which have always existed and are now showing errors. This seems like the same error that I was attempting to fix some time ago related to edje object destruction and swallowed object clearing. Probably we should add a unit test for it to make fixing easier.