Page MenuHomePhabricator

object life-cycle issue.
Closed, ResolvedPublic

Description

  1. Launch Enventor
  2. Close Enventor

See error messages.

ERR<28404>:evas_main lib/evas/canvas/evas_layer.c:111 evas_layer_free_objects() Object still present in the canvas stack, but without a valid object pointer (rectangle@0x556645bc4590).
ERR<28404>:evas_main lib/evas/canvas/evas_layer.c:111 evas_layer_free_objects() Object still present in the canvas stack, but without a valid object pointer (rectangle@0x556645bcc950).
ERR<28404>:evas_main lib/evas/canvas/evas_layer.c:111 evas_layer_free_objects() Object still present in the canvas stack, but without a valid object pointer (rectangle@0x556645cbc080).
ERR<28404>:evas_main lib/evas/canvas/evas_layer.c:111 evas_layer_free_objects() Object still present in the canvas stack, but without a valid object pointer (rectangle@0x556645cbc260).
ERR<28404>:evas_main lib/evas/canvas/evas_layer.c:111 evas_layer_free_objects() Object still present in the canvas stack, but without a valid object pointer (elm_layout@0x5566459a0160).

Hermet created this task.May 25 2018, 12:45 AM
Hermet triaged this task as High priority.

@cedric, any idea?

cedric added a subscriber: zmike.May 25 2018, 2:05 PM

No, I have tryed to figure out how that could be happening, but couldn't. Basically they are zombie object still present in the canvas when it is getting destroyed. It is a weird kind of zombie. Some where surviving as they were overriding efl_parent_set, but this is not the case for those. I haven't been able to understand what is happening. The good side is that it doesn't trigger a crash nor a use after free, the bad side is that it give little information of what is going on.

zmike added a comment.May 25 2018, 2:10 PM

Will check this out next week...

vtorri added a subscriber: vtorri.Jun 4 2018, 4:57 AM

same with Etui (launch, then close, i removed all the focus error messages) :

ERR<29959>:evas_main lib/evas/canvas/evas_layer.c:111 evas_layer_free_objects() Object still present in the canvas stack, but without a valid object pointer (rectangle@0x1a8cf70).
ERR<29959>:evas_main lib/evas/canvas/evas_layer.c:111 evas_layer_free_objects() Object still present in the canvas stack, but without a valid object pointer (elm_inwin@0x1a94b60).

bu5hm4n moved this task from Backlog to primitives on the efl board.Jun 10 2018, 12:33 PM

same scenario but recent error log a bit different: ERR<17733>:evas_main lib/evas/canvas/evas_layer.c:111 evas_layer_free_objects() Object still present in the canvas stack, but without a valid object pointer (elm_layout@0x55ee4a2df360).

zmike edited projects, added Restricted Project; removed efl.Jun 11 2018, 6:50 AM
bu5hm4n edited projects, added efl: widgets; removed Restricted Project.Jun 11 2018, 9:15 AM
Herald raised the priority of this task from High to Showstopper Issues. · View Herald TranscriptJun 11 2018, 10:31 AM

Here is the cause in enventor:

0x00007ffff18c052c in _evas_wrap_del (eo=0x555555cc52a8, pd=0x555555cc51d0) at ../src/lib/evas/include/evas_inline.x:364
364        *eo = NULL;
(gdb) bt
#0  0x00007ffff18c052c in _evas_wrap_del (eo=0x555555cc52a8, pd=0x555555cc51d0) at ../src/lib/evas/include/evas_inline.x:364
#1  0x00007ffff18c1a03 in _efl_canvas_group_group_members_all_del_internal (o=0x555555ba7010) at lib/evas/canvas/evas_object_smart.c:592
#2  0x00007ffff18c2413 in _efl_canvas_group_group_del (eo_obj=0x400000014a7c, o=0x555555ba7010) at lib/evas/canvas/evas_object_smart.c:825
#3  0x00007ffff18c50e3 in efl_canvas_group_del (obj=0x400000014a7c) at lib/evas/canvas/evas_object_smart.c:1854
#4  0x00007ffff18c725f in _evas_box_efl_canvas_group_group_del (o=0x400000014a7c, priv=0x555555ba70a0) at lib/evas/canvas/evas_object_box.c:431
#5  0x00007ffff18c50e3 in efl_canvas_group_del (obj=0x400000014a7c) at lib/evas/canvas/evas_object_smart.c:1854
#6  0x00007ffff18c39ae in evas_object_smart_del (eo_obj=0x400000014a7c) at lib/evas/canvas/evas_object_smart.c:1288
#7  0x00007ffff18af196 in _efl_canvas_object_efl_object_invalidate (eo_obj=0x400000014a7c, obj=0x555555ba6ee0) at lib/evas/canvas/evas_object_main.c:1338
#8  0x00007fffeec6ec5a in efl_invalidate (obj=0x400000014a7c) at lib/eo/efl_object.eo.c:72
#9  0x00007fffeec67a0a in _efl_invalidate (obj=0x555555ba6e50) at lib/eo/eo_base_class.c:171
#10 0x00007fffeec69738 in _efl_object_parent_set (obj=0x400000014a7c, pd=0x555555ba6e90, parent_id=0x0) at lib/eo/eo_base_class.c:735
#11 0x00007fffeec6dc89 in efl_parent_set (obj=0x400000014a7c, parent=0x0) at lib/eo/efl_object.eo.c:12
#12 0x00007fffeec69538 in efl_del (obj=0x400000014a7c) at lib/eo/eo_base_class.c:687
#13 0x00007ffff18ae09f in evas_object_del (obj=0x400000014a7c) at lib/evas/canvas/evas_object_main.c:1043
#14 0x00007ffff7804e26 in _efl_ui_win_efl_canvas_group_group_del (obj=0x40000000ce5d, sd=0x555555b68f10) at lib/elementary/efl_ui_win.c:2855
#15 0x00007ffff18c50e3 in efl_canvas_group_del (obj=0x40000000ce5d) at lib/evas/canvas/evas_object_smart.c:1854
#16 0x00007ffff18c39ae in evas_object_smart_del (eo_obj=0x40000000ce5d) at lib/evas/canvas/evas_object_smart.c:1288
#17 0x00007ffff18af196 in _efl_canvas_object_efl_object_invalidate (eo_obj=0x40000000ce5d, obj=0x555555b68bb0) at lib/evas/canvas/evas_object_main.c:1338
#18 0x00007fffeec6ec5a in efl_invalidate (obj=0x40000000ce5d) at lib/eo/efl_object.eo.c:72
#19 0x00007ffff76f9623 in _efl_access_object_efl_object_invalidate (obj=0x40000000ce5d, pd=0x555555b69158) at lib/elementary/efl_access_object.c:634
#20 0x00007fffeec6ec5a in efl_invalidate (obj=0x40000000ce5d) at lib/eo/efl_object.eo.c:72
#21 0x00007fffeec67a0a in _efl_invalidate (obj=0x555555b68b20) at lib/eo/eo_base_class.c:171
#22 0x00007fffeec69738 in _efl_object_parent_set (obj=0x40000000ce5d, pd=0x555555b68b60, parent_id=0x0) at lib/eo/eo_base_class.c:735
#23 0x00007fffeec6dc89 in efl_parent_set (obj=0x40000000ce5d, parent=0x0) at lib/eo/efl_object.eo.c:12
#24 0x00007fffeec69538 in efl_del (obj=0x40000000ce5d) at lib/eo/eo_base_class.c:687
#25 0x00007ffff18ae09f in evas_object_del (obj=0x40000000ce5d) at lib/evas/canvas/evas_object_main.c:1043
#26 0x00007ffff7806c98 in _elm_win_shutdown () at lib/elementary/efl_ui_win.c:3623
#27 0x00007ffff77352b8 in elm_shutdown () at lib/elementary/elm_main.c:424
#28 0x00005555555689d5 in main (argc=1, argv=0x7fffffffdd38) at main.c:1175

Sorry @zmike i wasnt aware of your work on this field, and i wasnt aware until 2 hours that we are chasing the same bug :( sorry for stealing the credit!

I didn't do anything other than post this backtrace and i had no plans to pursue it further. If you spent time on the issue without seeing my post then it's your loss.