Page MenuHomePhabricator

infinite loop in focus manager on destroy
Closed, ResolvedPublic

Description

#0  0x00007ffff7ec2b77 in _obj_is_override (obj=0x55555570ac60) at lib/eo/eo_private.h:326
#1  0x00007ffff7ec5377 in _efl_object_call_resolve (eo_id=0x400000cd7655, func_name=0x7ffff76dac30 "efl_ui_focus_object_setup_order_non_recursive", call=0x7fffffffc790, op=613, file=0x7ffff76daae0 "lib/elementary/efl_ui_focus_object.eo.c", line=105) at lib/eo/eo.c:615
#2  0x00007ffff76253cc in efl_ui_focus_object_setup_order_non_recursive (obj=0x400000cd7655) at lib/elementary/efl_ui_focus_object.eo.c:105
#3  0x00007ffff744434d in _elm_gengrid_item_efl_ui_focus_object_setup_order_non_recursive (obj=0x400000cd7655, pd=0x5555578e9370) at lib/elementary/elm_gengrid.c:5850
#4  0x00007ffff76253f9 in efl_ui_focus_object_setup_order_non_recursive (obj=0x400000cd7655) at lib/elementary/efl_ui_focus_object.eo.c:105
#5  0x00007ffff7624877 in _efl_ui_focus_object_setup_order (obj=0x400000cd7655, pd=0x5555578e9480) at lib/elementary/efl_ui_focus_object.c:43
#6  0x00007ffff76252e5 in efl_ui_focus_object_setup_order (obj=0x400000cd7655) at lib/elementary/efl_ui_focus_object.eo.c:99
#7  0x00007ffff76209b6 in _request_subchild (node=0x5555577dc410) at lib/elementary/efl_ui_focus_manager_calc.c:1416
#8  0x00007ffff7621b37 in _efl_ui_focus_manager_calc_efl_ui_focus_manager_request_subchild (obj=0x400000d5b9b9, pd=0x5555577d1b10, child_obj=0x400000d5b1b7) at lib/elementary/efl_ui_focus_manager_calc.c:1924
#9  0x00007ffff761af79 in efl_ui_focus_manager_request_subchild (obj=0x400000d5b9b9, root=0x400000d5b1b7) at lib/elementary/efl_ui_focus_manager.eo.c:21
#10 0x00007ffff76258cf in _state_eval (obj=0x400000d5b9b9, pd=0x5555577d1b50) at lib/elementary/efl_ui_focus_manager_root_focus.c:36
#11 0x00007ffff7625b93 in _efl_ui_focus_manager_root_focus_efl_ui_focus_manager_calc_unregister (obj=0x400000d5b9b9, pd=0x5555577d1b50, child=0x400000dd1790) at lib/elementary/efl_ui_focus_manager_root_focus.c:98
#12 0x00007ffff76224d3 in efl_ui_focus_manager_calc_unregister (obj=0x400000d5b1b7, child=0x400000dd1790) at lib/elementary/efl_ui_focus_manager_calc.eo.c:42
#13 0x00007ffff762e455 in _state_apply (obj=0x400000d5b1b7, pd=0x5555576b88f0) at lib/elementary/efl_ui_focus_composition.c:81
#14 0x00007ffff762ea43 in _efl_ui_focus_composition_efl_ui_widget_focus_state_apply (obj=0x400000d5b1b7, pd=0x5555576b88f0, current_state=..., configured_state=0x7fffffffcd30, redirect=0x400000d5b1b7) at lib/elementary/efl_ui_focus_composition.c:176
#15 0x00007ffff75c6253 in efl_ui_widget_focus_state_apply (obj=0x400000d5b1b7, current_state=..., configured_state=0x7fffffffcd30, redirect=0x400000d5b1b7) at lib/elementary/efl_ui_widget.eo.c:332
#16 0x00007ffff7444220 in _elm_gengrid_efl_ui_widget_focus_state_apply (obj=0x400000d5b1b7, pd=0x5555576b8750, current_state=..., configured_state=0x7fffffffcd30, redirect=0x0) at lib/elementary/elm_gengrid.c:5835
#17 0x00007ffff75c6253 in efl_ui_widget_focus_state_apply (obj=0x400000d5b1b7, current_state=..., configured_state=0x7fffffffcd30, redirect=0x0) at lib/elementary/efl_ui_widget.eo.c:332
#18 0x00007ffff75af09f in _focus_state_eval (obj=0x400000d5b1b7, pd=0x5555576b8540, should=1 '\001', want_full=1 '\001') at lib/elementary/efl_ui_widget.c:445
#19 0x00007ffff75af4d8 in _full_eval (obj=0x400000d5b1b7, pd=0x5555576b8540) at lib/elementary/efl_ui_widget.c:548
#20 0x00007ffff75aec1a in _manager_changed_cb (data=0x400000d5b1b7, event=0x7fffffffce30) at lib/elementary/efl_ui_widget.c:310
#21 0x00007ffff7ed2867 in _event_callback_call (obj_id=0x400000d5a5b4, pd=0x5555576b7e80, desc=0x7ffff7788870 <_EFL_UI_FOCUS_OBJECT_EVENT_FOCUS_MANAGER_CHANGED>, event_info=0x400000d3f949, legacy_compare=0 '\000') at lib/eo/eo_base_class.c:1704
#22 0x00007ffff7ed2a60 in _efl_object_event_callback_call (obj_id=0x400000d5a5b4, pd=0x5555576b7e80, desc=0x7ffff7788870 <_EFL_UI_FOCUS_OBJECT_EVENT_FOCUS_MANAGER_CHANGED>, event_info=0x400000d3f949) at lib/eo/eo_base_class.c:1765
#23 0x00007ffff7ed2b06 in efl_event_callback_call (obj=0x400000d5a5b4, desc=0x7ffff7788870 <_EFL_UI_FOCUS_OBJECT_EVENT_FOCUS_MANAGER_CHANGED>, event_info=0x400000d3f949) at lib/eo/eo_base_class.c:1768
#24 0x00007ffff75af52e in _full_eval (obj=0x400000d5a5b4, pd=0x5555576b8090) at lib/elementary/efl_ui_widget.c:558
#25 0x00007ffff75b01de in _elm_widget_full_eval_children (obj=0x400000d5a5b4, sd=0x5555576b8090) at lib/elementary/efl_ui_widget.c:843
#26 0x00007ffff75b0389 in _efl_ui_widget_efl_gfx_entity_visible_set (obj=0x400000d5a5b4, pd=0x5555576b8090, vis=0 '\000') at lib/elementary/efl_ui_widget.c:870
#27 0x00007ffff7e65c6e in efl_gfx_entity_visible_set (obj=0x400000d5a5b4, v=0 '\000') at ../src/lib/efl/interfaces/efl_gfx_entity.eo.c:29
#28 0x00007ffff7b9ff1b in _efl_canvas_object_efl_object_invalidate (eo_obj=0x400000d5a5b4, obj=0x5555576b7ed0) at lib/evas/canvas/evas_object_main.c:1026
#29 0x00007ffff7ed57e2 in efl_invalidate (obj=0x400000d5a5b4) at lib/eo/efl_object.eo.c:160
#30 0x00007ffff7497471 in _efl_access_object_efl_object_invalidate (obj=0x400000d5a5b4, pd=0x5555576b8292) at lib/elementary/efl_access_object.c:641
#31 0x00007ffff7ed57e2 in efl_invalidate (obj=0x400000d5a5b4) at lib/eo/efl_object.eo.c:160
#32 0x00007ffff75be99c in _efl_ui_widget_efl_object_invalidate (obj=0x400000d5a5b4, pd=0x5555576b8090) at lib/elementary/efl_ui_widget.c:6103
#33 0x00007ffff7ed57e2 in efl_invalidate (obj=0x400000d5a5b4) at lib/eo/efl_object.eo.c:160
#34 0x00007ffff762eb16 in _efl_ui_focus_composition_efl_object_invalidate (obj=0x400000d5a5b4, pd=0x5555576b8252) at lib/elementary/efl_ui_focus_composition.c:214
#35 0x00007ffff7ed57e2 in efl_invalidate (obj=0x400000d5a5b4) at lib/eo/efl_object.eo.c:160
#36 0x00007ffff7ece0ff in _efl_invalidate (obj=0x5555576b7e40) at lib/eo/eo_base_class.c:167
#37 0x00007ffff7ecfe46 in _efl_object_parent_set (obj=0x400000d5a5b4, pd=0x5555576b7e80, parent_id=0x0) at lib/eo/eo_base_class.c:726
#38 0x00007ffff7ed4633 in efl_parent_set (obj=0x400000d5a5b4, parent=0x0) at lib/eo/efl_object.eo.c:12
#39 0x00007ffff7a95f29 in _efl_loop_consumer_efl_object_parent_set (obj=0x400000d5a5b4, pd=0x5555576b7ed0, parent=0x0) at lib/ecore/efl_loop_consumer.c:36
#40 0x00007ffff7ed4633 in efl_parent_set (obj=0x400000d5a5b4, parent=0x0) at lib/eo/efl_object.eo.c:12
#41 0x00007ffff7ecfc17 in efl_del (obj=0x400000d5a5b4) at lib/eo/eo_base_class.c:678
#42 0x00007ffff7b9faed in evas_object_del (obj=0x400000d5a5b4) at lib/evas/canvas/evas_object_main.c:941
#43 0x00007ffff7bb2876 in _evas_wrap_del (eo=0x5555576b7fa8, pd=0x5555576b7ed0) at ../src/lib/evas/include/evas_inline.x:374
#44 0x00007ffff7bb3e6d in _efl_canvas_group_group_members_all_del_internal (o=0x5555577e81a0) at lib/evas/canvas/evas_object_smart.c:610
#45 0x00007ffff7bb489b in _efl_canvas_group_group_del (eo_obj=0x400000d4415b, o=0x5555577e81a0) at lib/evas/canvas/evas_object_smart.c:844
#46 0x00007ffff7bb75ab in efl_canvas_group_del (obj=0x400000d4415b) at lib/evas/canvas/evas_object_smart.c:1865
#47 0x00007ffff7bb97c9 in _evas_box_efl_canvas_group_group_del (o=0x400000d4415b, priv=0x5555577e8230) at lib/evas/canvas/evas_object_box.c:430
#48 0x00007ffff7bb75ab in efl_canvas_group_del (obj=0x400000d4415b) at lib/evas/canvas/evas_object_smart.c:1865
#49 0x00007ffff7bb5ee8 in evas_object_smart_del (eo_obj=0x400000d4415b) at lib/evas/canvas/evas_object_smart.c:1313
#50 0x00007ffff7ba0701 in _efl_canvas_object_efl_object_invalidate (eo_obj=0x400000d4415b, obj=0x5555577e8070) at lib/evas/canvas/evas_object_main.c:1102
#51 0x00007ffff7ed57e2 in efl_invalidate (obj=0x400000d4415b) at lib/eo/efl_object.eo.c:160
#52 0x00007ffff7ece0ff in _efl_invalidate (obj=0x5555577e7fe0) at lib/eo/eo_base_class.c:167
#53 0x00007ffff7ecfe46 in _efl_object_parent_set (obj=0x400000d4415b, pd=0x5555577e8020, parent_id=0x0) at lib/eo/eo_base_class.c:726
#54 0x00007ffff7ed4633 in efl_parent_set (obj=0x400000d4415b, parent=0x0) at lib/eo/efl_object.eo.c:12
#55 0x00007ffff7a95f29 in _efl_loop_consumer_efl_object_parent_set (obj=0x400000d4415b, pd=0x5555577e8070, parent=0x0) at lib/ecore/efl_loop_consumer.c:36
#56 0x00007ffff7ed4633 in efl_parent_set (obj=0x400000d4415b, parent=0x0) at lib/eo/efl_object.eo.c:12
#57 0x00007ffff7ecfc17 in efl_del (obj=0x400000d4415b) at lib/eo/eo_base_class.c:678
#58 0x00007ffff7b9faed in evas_object_del (obj=0x400000d4415b) at lib/evas/canvas/evas_object_main.c:941
#59 0x00007ffff75d078b in _efl_ui_win_efl_canvas_group_group_del (obj=0x400000d3f949, sd=0x5555577fcba0) at lib/elementary/efl_ui_win.c:3008
#60 0x00007ffff7bb75ab in efl_canvas_group_del (obj=0x400000d3f949) at lib/evas/canvas/evas_object_smart.c:1865
#61 0x00007ffff7bb5ee8 in evas_object_smart_del (eo_obj=0x400000d3f949) at lib/evas/canvas/evas_object_smart.c:1313
#62 0x00007ffff7ba0701 in _efl_canvas_object_efl_object_invalidate (eo_obj=0x400000d3f949, obj=0x5555577fc820) at lib/evas/canvas/evas_object_main.c:1102
#63 0x00007ffff7ed57e2 in efl_invalidate (obj=0x400000d3f949) at lib/eo/efl_object.eo.c:160
#64 0x00007ffff7497471 in _efl_access_object_efl_object_invalidate (obj=0x400000d3f949, pd=0x5555577fce08) at lib/elementary/efl_access_object.c:641
#65 0x00007ffff7ed57e2 in efl_invalidate (obj=0x400000d3f949) at lib/eo/efl_object.eo.c:160
#66 0x00007ffff75be99c in _efl_ui_widget_efl_object_invalidate (obj=0x400000d3f949, pd=0x5555577fc9e0) at lib/elementary/efl_ui_widget.c:6103
#67 0x00007ffff7ed57e2 in efl_invalidate (obj=0x400000d3f949) at lib/eo/efl_object.eo.c:160
#68 0x00007ffff7ece0ff in _efl_invalidate (obj=0x5555577fc790) at lib/eo/eo_base_class.c:167
#69 0x00007ffff7ecfe46 in _efl_object_parent_set (obj=0x400000d3f949, pd=0x5555577fc7d0, parent_id=0x0) at lib/eo/eo_base_class.c:726
#70 0x00007ffff7ed4633 in efl_parent_set (obj=0x400000d3f949, parent=0x0) at lib/eo/efl_object.eo.c:12
#71 0x00007ffff7a95f29 in _efl_loop_consumer_efl_object_parent_set (obj=0x400000d3f949, pd=0x5555577fc820, parent=0x0) at lib/ecore/efl_loop_consumer.c:36
#72 0x00007ffff7ed4633 in efl_parent_set (obj=0x400000d3f949, parent=0x0) at lib/eo/efl_object.eo.c:12
#73 0x00007ffff7ecfc17 in efl_del (obj=0x400000d3f949) at lib/eo/eo_base_class.c:678
#74 0x00007ffff7b9faed in evas_object_del (obj=0x400000d3f949) at lib/evas/canvas/evas_object_main.c:941
#75 0x00007ffff75d2754 in _elm_win_shutdown () at lib/elementary/efl_ui_win.c:3798
#76 0x00007ffff74dd77e in elm_shutdown () at lib/elementary/elm_main.c:474
#77 0x0000555555583d33 in main (argc=1, argv=0x7fffffffe0f8) at bin/elementary/test.c:1385

I opened a lot of windows from elm_test and then closed elm_test. _state_apply never returns and it loops infinitely.

zmike created this task.Mar 18 2019, 11:34 AM
zmike triaged this task as High priority.

This is usally a indicator that the widget tree builds a cycle in the shutdown. I can open here a lot of windows and nothing happens, it might be depending on what kind of widgets are there. Do you remember which windows you opened ?

zmike added a comment.Mar 20 2019, 8:19 AM

Probably all the gengrid tests

Maaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaan :(

Are you sure its a infinite loop, or just terribly slow? It takes here ~ 3 min. until the window is closed. It is faster with my recent gengrid patches ... :)

This revision actaully fixes that and makes it shutting down in a few seconds.

bu5hm4n closed this task as Resolved.Mar 25 2019, 2:55 AM