Find: segfalt
Closed, ResolvedPublic

Description

Reproduce:

  1. Build profiler for devs/ifurs/findevent branch
  2. Launch profiler with log file
  3. Open find event and type "render"
  4. Press button "next" few times.
  5. Select check and press "prev" few more times.
  6. Close window
  7. Try to call cntext menu.

Result: Segfault
Expected: The context menu displayed normally

bt

Thread 1 "efl_profiling_v" received signal SIGSEGV, Segmentation fault.
_border_flush (pd=0x0, obj=0x800000355d763066) at lib/elementary/efl_ui_focus_manager_sub.c:64
64         tmp = eina_list_clone(pd->current_border);
(gdb) bt
#0  0x00007ffff639b46e in _border_flush (pd=0x0, obj=0x800000355d763066) at lib/elementary/efl_ui_focus_manager_sub.c:64
#1  0x00007ffff639b46e in _parent_manager_pre_flush (data=0x800000355d763066, ev=<optimized out>) at lib/elementary/efl_ui_focus_manager_sub.c:108
#2  0x00007ffff43d3b50 in _event_callback_call (legacy_compare=0 '\000', event_info=<optimized out>, desc=0x7ffff665fcb0 <_EFL_UI_FOCUS_MANAGER_EVENT_REDIRECT_CHANGED>, pd=0x5555558f7160, obj_id=<optimized out>)
    at lib/eo/eo_base_class.c:1522
#3  0x00007ffff43d3b50 in _efl_object_event_callback_call (obj_id=<optimized out>, pd=0x5555558f7160, desc=0x7ffff665fcb0 <_EFL_UI_FOCUS_MANAGER_EVENT_REDIRECT_CHANGED>, event_info=<optimized out>) at lib/eo/eo_base_class.c:1606
#4  0x00007ffff43ce0ce in efl_event_callback_call (obj=0x80000001a575ed9d, desc=0x7ffff665fcb0 <_EFL_UI_FOCUS_MANAGER_EVENT_REDIRECT_CHANGED>, event_info=0x0) at lib/eo/eo_base_class.c:1609
#5  0x00007ffff43ce0ce in efl_event_callback_call (obj=0x80000001a575ed9d, desc=0x7ffff665fcb0 <_EFL_UI_FOCUS_MANAGER_EVENT_REDIRECT_CHANGED>, event_info=0x0) at lib/eo/eo_base_class.c:1609
#6  0x00007ffff43cfc41 in _efl_event_forwarder_callback (data=<optimized out>, event=0x7fffffffd4f0) at lib/eo/eo_base_class.c:1637
#7  0x00007ffff43d3c87 in _event_callback_call (legacy_compare=0 '\000', event_info=<optimized out>, desc=0x7ffff665fcb0 <_EFL_UI_FOCUS_MANAGER_EVENT_REDIRECT_CHANGED>, pd=0x5555558fe800, obj_id=<optimized out>)
    at lib/eo/eo_base_class.c:1545
#8  0x00007ffff43d3c87 in _efl_object_event_callback_call (obj_id=<optimized out>, pd=0x5555558fe800, desc=0x7ffff665fcb0 <_EFL_UI_FOCUS_MANAGER_EVENT_REDIRECT_CHANGED>, event_info=<optimized out>) at lib/eo/eo_base_class.c:1606
#9  0x00007ffff43ce0ce in efl_event_callback_call (obj=0x80000001ad75ed9e, desc=0x7ffff665fcb0 <_EFL_UI_FOCUS_MANAGER_EVENT_REDIRECT_CHANGED>, event_info=0x0) at lib/eo/eo_base_class.c:1609
#10 0x00007ffff63954c2 in efl_ui_focus_manager_redirect_set (obj=0x80000001a575ed9d, redirect=redirect@entry=0x800000122575efad) at lib/elementary/efl_ui_focus_manager.eo.c:13
#11 0x00007ffff639f6c3 in _efl_ui_focus_layer_enable_set (obj=0x800000122575efad, pd=0x555555daff50, v=<optimized out>) at lib/elementary/efl_ui_focus_layer.c:91
#12 0x00007ffff639f011 in efl_ui_focus_layer_enable_set (obj=0x800000122575efad, v=<optimized out>) at lib/elementary/efl_ui_focus_layer.eo.c:4
#13 0x00007ffff7261621 in efl_gfx_visible_set (obj=0x800000122575efad, v=v@entry=1 '\001') at ../src/lib/efl/interfaces/efl_gfx.eo.c:19
#14 0x00007ffff6294b83 in _elm_hover_efl_gfx_visible_set (obj=0x800000122575efad, pd=0x555555dafe80, vis=<optimized out>) at lib/elementary/elm_hover.c:661
#15 0x00007ffff7261621 in efl_gfx_visible_set (obj=0x800000122575efad, v=<optimized out>) at ../src/lib/efl/interfaces/efl_gfx.eo.c:19
#16 0x00007ffff7261621 in efl_gfx_visible_set (obj=0x80000011fd75efa8, v=<optimized out>) at ../src/lib/efl/interfaces/efl_gfx.eo.c:19
#17 0x00007ffff69bde70 in _eo_evas_object_cb (data=0x555555df5990, event=0x7fffffffd910) at lib/evas/canvas/evas_callbacks.c:197
#18 0x00007ffff43d2a97 in _event_callback_call (legacy_compare=1 '\001', event_info=<optimized out>, desc=<optimized out>, pd=0x555555d9a790, obj_id=<optimized out>) at lib/eo/eo_base_class.c:1545
#19 0x00007ffff43d2a97 in _efl_object_event_callback_legacy_call (obj_id=<optimized out>, pd=0x555555d9a790, desc=<optimized out>, event_info=<optimized out>) at lib/eo/eo_base_class.c:1618
#20 0x00007ffff43ce20e in efl_event_callback_legacy_call (obj=0x800000115d75ef94, desc=0x7ffff6dde4d0 <_EFL_EVENT_POINTER_UP>, event_info=0x800001623d763a9b) at lib/eo/eo_base_class.c:1621
#21 0x00007ffff43ce20e in efl_event_callback_legacy_call (obj=obj@entry=0x800000115d75ef94, desc=desc@entry=0x7ffff6dde4d0 <_EFL_EVENT_POINTER_UP>, event_info=event_info@entry=0x800001623d763a9b) at lib/eo/eo_base_class.c:1621
#22 0x00007ffff69be7e7 in evas_object_event_callback_call (eo_obj=0x800000115d75ef94, obj=0x555555d9a7e0, type=EVAS_CALLBACK_MOUSE_UP, event_info=0x800001623d763a9b, event_id=<optimized out>, efl_event_desc=0x7ffff6dde4d0 <_EFL_EVENT_POINTER_UP>) at lib/evas/canvas/evas_callbacks.c:413
#23 0x00007ffff69be881 in evas_object_event_callback_call (eo_obj=0x800000116575ef95, obj=0x555555d9ad40, type=EVAS_CALLBACK_MOUSE_UP, event_info=0x800001623d763a9b, event_id=<optimized out>, efl_event_desc=0x7ffff6dde4d0 <_EFL_EVENT_POINTER_UP>) at lib/evas/canvas/evas_callbacks.c:458
#24 0x00007ffff69be881 in evas_object_event_callback_call (eo_obj=0x800000241d75f1ec, obj=0x555555ed6d50, type=EVAS_CALLBACK_MOUSE_UP, event_info=0x800001623d763a9b, event_id=<optimized out>, efl_event_desc=0x7ffff6dde4d0 <_EFL_EVENT_POINTER_UP>) at lib/evas/canvas/evas_callbacks.c:458
#25 0x00007ffff69be881 in evas_object_event_callback_call (eo_obj=0x800000242575f1ed, obj=0x555555ba19f0, type=EVAS_CALLBACK_MOUSE_UP, event_info=0x800001623d763a9b, event_id=<optimized out>, efl_event_desc=0x7ffff6dde4d0 <_EFL_EVENT_POINTER_UP>) at lib/evas/canvas/evas_callbacks.c:458
#26 0x00007ffff69be881 in evas_object_event_callback_call (eo_obj=0x800000202d75f16e, obj=0x5555557fa7b0, type=EVAS_CALLBACK_MOUSE_UP, event_info=0x800001623d763a9b, event_id=<optimized out>, efl_event_desc=0x7ffff6dde4d0 <_EFL_EVENT_POINTER_UP>) at lib/evas/canvas/evas_callbacks.c:458
#27 0x00007ffff69be881 in evas_object_event_callback_call (eo_obj=0x80000021dd75f1a4, obj=0x555555ec0f70, type=EVAS_CALLBACK_MOUSE_UP, event_info=0x800001623d763a9b, event_id=<optimized out>, efl_event_desc=0x7ffff6dde4d0 <_EFL_EVENT_POINTER_UP>) at lib/evas/canvas/evas_callbacks.c:458
#28 0x00007ffff69cde0e in _canvas_event_feed_mouse_up_internal (e=<optimized out>, ev=<optimized out>) at lib/evas/canvas/evas_events.c:1787
#29 0x00007ffff69cf3cb in _canvas_event_feed_mouse_up_internal (ev=0x5555558bd430, e=0x555555871a30) at lib/evas/canvas/evas_events.c:1724
#30 0x00007ffff69cf3cb in _evas_canvas_event_pointer_cb (data=0x555555871a30, event=<optimized out>) at lib/evas/canvas/evas_events.c:4065
#31 0x00007ffff43d294a in _event_callback_call (legacy_compare=1 '\001', event_info=<optimized out>, desc=<optimized out>, pd=0x5555558719e0, obj_id=<optimized out>) at lib/eo/eo_base_class.c:1522
#32 0x00007ffff43d294a in _efl_object_event_callback_legacy_call (obj_id=<optimized out>, pd=0x5555558719e0, desc=<optimized out>, event_info=<optimized out>) at lib/eo/eo_base_class.c:1618
#33 0x00007ffff43ce20e in efl_event_callback_legacy_call (obj=obj@entry=0x80000001bd75eda0, desc=0x7ffff6dde4d0 <_EFL_EVENT_POINTER_UP>, event_info=event_info@entry=0x800001623d763a9b) at lib/eo/eo_base_class.c:1621
#34 0x00007ffff7024957 in _direct_mouse_updown (ee=0x55555591b530, info=info@entry=0x555555db42e0, action=action@entry=EFL_POINTER_ACTION_UP) at lib/ecore_evas/ecore_evas.c:4696
#35 0x00007ffff70251c5 in _direct_mouse_up_cb (info=0x555555db42e0, ee=<optimized out>) at lib/ecore_evas/ecore_evas.c:4712
#36 0x00007ffff70251c5 in _ecore_evas_input_direct_cb (window=0x55555591b530, type=<optimized out>, info=0x555555db42e0) at lib/ecore_evas/ecore_evas.c:5012
#37 0x00007ffff3715c2b in _ecore_event_evas_mouse_button (e=0x555555db42e0, press=ECORE_UP, faked=<optimized out>) at lib/ecore_input_evas/ecore_input_evas.c:549
#38 0x00007ffff74b82e1 in _ecore_call_handler_cb (event=<optimized out>, type=<optimized out>, data=<optimized out>, func=<optimized out>) at lib/ecore/ecore_private.h:331
#39 0x00007ffff74b82e1 in _ecore_event_call () at lib/ecore/ecore_events.c:629
#40 0x00007ffff74c0d88 in _ecore_main_loop_iterate_internal (once_only=once_only@entry=0) at lib/ecore/ecore_main.c:2408
#41 0x00007ffff74c1177 in ecore_main_loop_begin () at lib/ecore/ecore_main.c:1308
#42 0x0000555555556656 in elm_main (argc=<optimized out>, argv=<optimized out>) at /home/nikawhite/repos/enlightenment/efl_profiler_viewer/src/bin/main.c:271
#43 0x0000555555555d2c in main (argc=2, argv=0x7fffffffe2d8) at /home/nikawhite/repos/enlightenment/efl_profiler_viewer/src/bin/main.c:276
(gdb)

this problem reproduced after commit(efl): 6cea4993e0ea7425a1dde2b38bcdb63687a7eaad

i.furs added projects: efl, Restricted Project.Nov 15 2017, 4:09 AM
i.furs removed projects: Restricted Project, efl.
i.furs added a comment.EditedNov 17 2017, 9:17 AM

work correct if:
src/lib/elementary/efl_ui_focus_manager_sub.c

EOLIAN static Efl_Object*
_efl_ui_focus_manager_sub_efl_object_constructor(Eo *obj, Efl_Ui_Focus_Manager_Sub_Data *pd EINA_UNUSED)
{

//obj = efl_constructor(efl_super(obj, MY_CLASS));           <------
efl_event_callback_array_add(obj, self_manager(), obj);
_flush_manager(obj, pd);
return efl_constructor(efl_super(obj, MY_CLASS));           <------
//return obj;

}

NikaWhite moved this task from Review to Done on the Profiling Viewer (1.1) board.Nov 23 2017, 4:11 AM
NikaWhite closed this task as Resolved.Dec 26 2017, 8:51 AM