Page MenuHomePhabricator

elm suite fails intermittently
Closed, ResolvedPublic

Description

using rEFLe2d143d19ed7e70480d40bbb8c6a6db29a3ab677

#0  0x00007f0e6ef98148 in  ()
#1  0x00007f0e89dd6dac in _ecore_event_message_handler_efl_loop_message_handler_message_call (obj=0x4000000016c8, pd=0x558790964e50, message=0x400000020b45) at lib/ecore/ecore_event_message_handler.c:359
#2  0x00007f0e89de1480 in efl_loop_message_handler_message_call (obj=0x4000000016c8, message=0x400000020b45) at lib/ecore/efl_loop_message_handler.eo.c:14
#3  0x00007f0e89ddc0f8 in _efl_loop_message_process (obj=0x4000000002c3, pd=0x55879095ad30) at lib/ecore/efl_loop.c:633
#4  0x00007f0e89ddc2e9 in efl_loop_message_process (obj=0x4000000002c3) at lib/ecore/efl_loop.c:663
#5  0x00007f0e89dd48d5 in _ecore_main_loop_iterate_internal (obj=0x4000000002c3, pd=0x55879095ad30, once_only=1) at lib/ecore/ecore_main.c:2432
#6  0x00007f0e89dd1e0e in _ecore_main_loop_iterate (obj=0x4000000002c3, pd=0x55879095ad30) at lib/ecore/ecore_main.c:1103
#7  0x00007f0e89dda876 in _efl_loop_iterate (obj=0x4000000002c3, pd=0x55879095ad30) at lib/ecore/efl_loop.c:70
#8  0x00007f0e89ddcdc7 in efl_loop_iterate (obj=0x4000000002c3) at lib/ecore/efl_loop.eo.c:20
#9  0x00007f0e89dd20c4 in ecore_main_loop_iterate () at lib/ecore/ecore_main.c:1232
#10 0x00007f0e88d13205 in elm_quicklaunch_sub_shutdown () at lib/elementary/elm_main.c:821
#11 0x00007f0e88d12834 in elm_shutdown () at lib/elementary/elm_main.c:435
#12 0x000055878f7471ea in _elm_suite_shutdown () at tests/elementary/elm_suite.c:120
#13 0x00007f0e8a8fd500 in srunner_run_teardown (fixture_list=0x558790bd8e00, fork_usage=fork_usage@entry=CK_NOFORK) at check_run.c:382
#14 0x00007f0e8a8fdfe3 in tcase_run_checked_teardown (tc=0x558790bd46e0) at check_run.c:394
#15 0x00007f0e8a8fdfe3 in tcase_run_tfun_fork (i=0, tfun=0x558790bda8f0, tc=0x558790bd46e0, sr=0x558790bd7ef0) at check_run.c:496
#16 0x00007f0e8a8fdfe3 in srunner_iterate_tcase_tfuns (tc=0x558790bd46e0, sr=0x558790bd7ef0) at check_run.c:252
#17 0x00007f0e8a8fdfe3 in srunner_run_tcase (tc=0x558790bd46e0, sr=0x558790bd7ef0) at check_run.c:401
#18 0x00007f0e8a8fdfe3 in srunner_iterate_suites (print_mode=<optimized out>, exclude_tags=0x0, include_tags=0x0, tcname=<optimized out>, sname=0x0, sr=0x558790bd7ef0) at check_run.c:218
#19 0x00007f0e8a8fdfe3 in srunner_run_tagged (sr=0x558790bd7ef0, sname=0x0, tcname=<optimized out>, include_tags=0x0, exclude_tags=0x0, print_mode=<optimized out>) at check_run.c:815
#20 0x000055878f746ca9 in _efl_suite_run_end (sr=0x558790bd7ef0, name=0x55878f783114 "elm_config") at tests/elementary/../efl_check.h:232
#21 0x000055878f746ef6 in _efl_suite_build_and_run (argc=0, argv=0x7ffdb1e72b20, suite_name=0x55878f7837dd "Elementary", etc=0x55878f9aa7a0 <etc>, init=0x55878f7470ab <_elm2_suite_init>, shutdown=0x55878f7471dd <_elm_suite_shutdown>) at tests/elementary/../efl_check.h:296
#22 0x000055878f747682 in main (argc=1, argv=0x7ffdb1e72b18) at tests/elementary/elm_suite.c:195
(gdb) up
#1  0x00007f0e89dd6dac in _ecore_event_message_handler_efl_loop_message_handler_message_call (obj=0x4000000016c8, pd=0x558790964e50, message=0x400000020b45) at lib/ecore/ecore_event_message_handler.c:359
359                  if (!h->func(h->data, h->type, data)) break;
(gdb) p *h
$1 = {__in_list = {next = 0x0, prev = 0x558790949d30, last = 0x0}, func = 0x7f0e6ef98148, data = 0x558790bde670, type = 12, delete_me = 0 '\000', to_add = 0 '\000', prepend = 0 '\000'}

The event type is '12', which is ECORE_EXE_EVENT_DATA, and the callback function is garbage which implies that it's in a since-unloaded module. This leads me to:

src/modules/emotion/generic/emotion_generic.c:931:   ev->player_data = ecore_event_handler_add(ECORE_EXE_EVENT_DATA,

which seems the likely culprit; when this module is unloaded we need to ensure the event handler is removed. I'll plan to check this out at some point, but I'm too crippled atm to do more than make the ticket.

zmike created this task.Jun 5 2018, 9:15 AM
zmike triaged this task as High priority.
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, 7:37 AM
bu5hm4n added a project: Restricted Project.Jun 12 2018, 8:14 AM
zmike added a comment.Jun 14 2018, 5:22 PM
This comment was removed by zmike.
zmike added a comment.Jun 14 2018, 5:38 PM

Nope it's:

#0  0x0000000005922111 in ecore_event_handler_add (type=12, func=0x210c1148 <_msg_from_daemon>, data=0x1c46afc0) at lib/ecore/ecore_events.c:35
#1  0x00000000210c13bc in clouseau_app_connect (appname=0x1e79f8a0 "exe") at clouseau_app.c:491
#2  0x0000000006a0f8fe in _elm_clouseau_reload () at lib/elementary/elm_main.c:311
#3  0x000000000692f3bf in elm_config_clouseau_enabled_set (enable=1 '\001') at lib/elementary/elm_config.c:3946
#4  0x0000000006935ee2 in _efl_config_global_efl_config_config_set (obj=0x400000003585, _pd=0x1d9934b0, name=0x167875 "clouseau_enabled", val=0x1c676620) at lib/elementary/elm_config.c:4937
#5  0x00000000060baf3e in efl_config_set (obj=0x400000003585, name=0x167875 "clouseau_enabled", value=0x1c676620) at ../src/lib/efl/interfaces/efl_config.eo.c:1
#6  0x0000000000132cb6 in efl_config_bool_set (obj=0x400000003585, name=0x167875 "clouseau_enabled", val=1 '\001') at ../src/lib/elementary/elm_config.h:2234
#7  0x0000000000137730 in elm_config_eoapi (_i=0) at tests/elementary/elm_test_config.c:102
#8  0x0000000004e419ec in tcase_run_tfun_nofork (sr=sr@entry=0x20e9c070, tc=tc@entry=0x20e9c2a0, i=i@entry=0, tfun=<optimized out>, tfun=<optimized out>) at check_run.c:418
#9  0x0000000004e41eee in srunner_iterate_tcase_tfuns (tc=0x20e9c2a0, sr=0x20e9c070) at check_run.c:259
#10 0x0000000004e41eee in srunner_run_tcase (tc=0x20e9c2a0, sr=0x20e9c070) at check_run.c:401
#11 0x0000000004e41eee in srunner_iterate_suites (print_mode=<optimized out>, exclude_tags=0x0, include_tags=0x0, tcname=<optimized out>, sname=0x0, sr=0x20e9c070) at check_run.c:218
#12 0x0000000004e41eee in srunner_run_tagged (sr=0x20e9c070, sname=0x0, tcname=<optimized out>, include_tags=0x0, exclude_tags=0x0, print_mode=<optimized out>) at check_run.c:815
#13 0x00000000001147b9 in _efl_suite_run_end (sr=0x20e9c070, name=0x0) at tests/elementary/../efl_check.h:241
#14 0x0000000000114ad0 in _efl_suite_build_and_run (argc=0, argv=0x1ffefffce0, suite_name=0x1512dd "Elementary", etc=0x3777a0 <etc>, init=0x114bbb <_elm2_suite_init>, shutdown=0x114cf2 <_elm_suite_shutdown>) at tests/elementary/../efl_check.h:329
#15 0x0000000000115197 in main (argc=1, argv=0x1ffefffcd8) at tests/elementary/elm_suite.c:197

@JackDanielZ can you verify that all event handlers created in clouseau's init hook are destroyed in the shutdown hook, along with all other allocated resouces?