Page MenuHomePhabricator

C#: Eo error messages in application shutdown
Open, HighPublic

Description

Running some examples like efl_example_gui outputs the following messages:

ERR<15734>:eo ../src/lib/eo/eo_base_class.c:692 efl_del() Calling efl_del on object Efl.Ui.Box@0x400000027d7d[2]:hidden:children=0 with no parent is not advised any more.
ERR<15734>:eo ../src/lib/eo/eo_base_class.c:692 efl_del() Calling efl_del on object Efl.Ui.Button@0x4000000339ac[2]:hidden:children=0 with no parent is not advised any more.
ERR<15734>:eo ../src/lib/eo/eo_base_class.c:692 efl_del() Calling efl_del on object Efl.Ui.Text@0x400000028d81[2]:hidden:children=0 with no parent is not advised any more.
ERR<15734>:eo ../src/lib/eo/eo_base_class.c:692 efl_del() Calling efl_del on object Efl.Ui.Win@0x4000000060f6[2]:hidden:children=0:'(null)':'(null)' with no parent is not advised any more.

Breaking with gdb:

Thread 1 "mono" hit Breakpoint 1, efl_del (obj=0x400000027f4c) at ../src/lib/eo/eo_base_class.c:692
692             ERR("Calling efl_del on object %s with no parent is not advised any more.", efl_debug_name_get(obj));
(gdb) bt
#0  efl_del (obj=0x400000027f4c) at ../src/lib/eo/eo_base_class.c:692
#1  0x00007fffef365d06 in _evas_canvas_efl_object_invalidate (eo_e=0x400000006ac7, e=0x555556444d50) at ../src/lib/evas/canvas/evas_main.c:445
#2  0x00007ffff4105d5b in efl_invalidate (obj=0x400000006ac7) at src/lib/eo/efl_object.eo.c:164
#3  0x00007ffff40fdd86 in _efl_invalidate (obj=0x555556444cc0) at ../src/lib/eo/eo_base_class.c:203
#4  0x00007ffff40ffb75 in _efl_object_parent_set (obj=0x400000006ac7, pd=0x555556444d00, parent_id=0x0) at ../src/lib/eo/eo_base_class.c:736
#5  0x00007ffff4104887 in efl_parent_set (obj=0x400000006ac7, parent=0x0) at src/lib/eo/efl_object.eo.c:16
#6  0x00007ffff41fcd02 in _efl_loop_consumer_efl_object_parent_set (obj=0x400000006ac7, pd=0x555556444d50, parent=0x0) at ../src/lib/ecore/efl_loop_consumer.c:36
#7  0x00007ffff4104887 in efl_parent_set (obj=0x400000006ac7, parent=0x0) at src/lib/eo/efl_object.eo.c:16
#8  0x00007ffff40ff946 in efl_del (obj=0x400000006ac7) at ../src/lib/eo/eo_base_class.c:688
#9  0x00007fffef3659c6 in evas_free (eo_e=0x400000006ac7) at ../src/lib/evas/canvas/evas_main.c:363
#10 0x00007fffef233008 in _ecore_evas_free (ee=0x55555643fbf0) at ../src/lib/ecore_evas/ecore_evas.c:3510
#11 0x00007fffef22ab1c in ecore_evas_free (ee=0x55555643fbf0) at ../src/lib/ecore_evas/ecore_evas.c:1107
#12 0x00007fffefa35726 in _deferred_ecore_evas_free (data=0x55555643fbf0) at ../src/lib/elementary/efl_ui_win.c:2385
#13 0x00007ffff41ee6a0 in _ecore_job_event_handler (data=0x0, type=15, ev=0x555556610140) at ../src/lib/ecore/ecore_job.c:95
#14 0x00007ffff41f6537 in _ecore_event_message_handler_efl_loop_message_handler_message_call (obj=0x400000000eb0, pd=0x555555e15bd0, message=0x400000115302) at ../src/lib/ecore/ecore_event_message_handler.c:362
#15 0x00007ffff42049b3 in efl_loop_message_handler_message_call (obj=0x400000000eb0, message=0x400000115302) at src/lib/ecore/efl_loop_message_handler.eo.c:14
#16 0x00007ffff41fb1de in _efl_loop_message_process (obj=0x4000000002ad, pd=0x555555e0c150) at ../src/lib/ecore/efl_loop.c:598
#17 0x00007ffff41fb3de in efl_loop_message_process (obj=0x4000000002ad) at ../src/lib/ecore/efl_loop.c:628
#18 0x00007ffff41f373c in _ecore_main_loop_iterate_internal (obj=0x4000000002ad, pd=0x555555e0c150, once_only=1) at ../src/lib/ecore/ecore_main.c:2492
#19 0x00007ffff41f0291 in _ecore_main_loop_iterate (obj=0x4000000002ad, pd=0x555555e0c150) at ../src/lib/ecore/ecore_main.c:1118
#20 0x00007ffff41f9573 in _efl_loop_iterate (obj=0x4000000002ad, pd=0x555555e0c150) at ../src/lib/ecore/efl_loop.c:45
#21 0x00007ffff41fb792 in efl_loop_iterate (obj=0x4000000002ad) at src/lib/ecore/efl_loop.eo.c:20
#22 0x00007ffff41f05f0 in ecore_main_loop_iterate () at ../src/lib/ecore/ecore_main.c:1268
#23 0x00007fffef929451 in elm_shutdown () at ../src/lib/elementary/elm_main.c:481

This seems to be related to a rogue efl_del being called without checking if a parent is present.