Page MenuHomePhabricator

assistance with very simple tclock based module
Closed, InvalidPublic

Description

chatted briefly with zmike on irc who suggested to open a ticket

i tried to reduce the tclock module for printing text from a local file with the intention of POC for a crypto stock ticker module.

there was no e-crashdump but xsession.errors shows:
eina_btlog << EOF
/usr/lib/x86_64-linux-gnu/libeina.so.1 0x7f602069e6cc 0x7f6020677000
/usr/lib/x86_64-linux-gnu/libeina.so.1 0x7f602069f3f1 0x7f6020677000
/usr/lib/x86_64-linux-gnu/libeina.so.1 0x7f60206a07c3 0x7f6020677000
/usr/lib/x86_64-linux-gnu/libeo.so.1 0x7f601c8ac389 0x7f601c89f000
/usr/lib/x86_64-linux-gnu/libeo.so.1 0x7f601c8a6f71 0x7f601c89f000
/usr/lib/x86_64-linux-gnu/libecore.so.1 0x7f601ffee25c 0x7f601ffb9000
/usr/bin/enlightenment 0x55da0ff6eab5 0x55da0fed7000
/usr/lib/x86_64-linux-gnu/libeina.so.1 0x7f602069afd4 0x7f6020677000
/usr/lib/x86_64-linux-gnu/libeina.so.1 0x7f60206976da 0x7f6020677000
/usr/bin/enlightenment 0x55da0ff6fa63 0x55da0fed7000
/usr/bin/enlightenment 0x55da0ff3a558 0x55da0fed7000
/usr/bin/enlightenment 0x55da0ff3be30 0x55da0fed7000
/usr/bin/enlightenment 0x55da0ffce67e 0x55da0fed7000
/usr/lib/x86_64-linux-gnu/libecore.so.1 0x7f601ffd17af 0x7f601ffb9000
/usr/lib/x86_64-linux-gnu/libeo.so.1 0x7f601c8b288f 0x7f601c89f000
/usr/lib/x86_64-linux-gnu/libeo.so.1 0x7f601c8ae01e 0x7f601c89f000
/usr/lib/x86_64-linux-gnu/libecore.so.1 0x7f601ffd4c16 0x7f601ffb9000
/usr/lib/x86_64-linux-gnu/libecore.so.1 0x7f601ffd5267 0x7f601ffb9000
/usr/bin/enlightenment 0x55da0ff18d01 0x55da0fed7000
/lib/x86_64-linux-gnu/libc.so.6 0x7f601d74eb17 0x7f601d72c000
/usr/bin/enlightenment 0x55da0ff19c9a 0x55da0fed7000
EOF

i've tarred up the source at http://twee.se/cmcticker.tgz it compiles and the module shows up in settings->modules but crashes on load. is there a way to get more debug info by loading the module somehow from cmd line or better yet a way to see it in gdb?

My guess is that i have some extra left or some necessary removed in e_mod_config.c.. it's my first go at making an enlightenment module so i'm far from clear on what i can rip out to get a minimal 2 line widget that looks like the clock module but displays lines from a txt file (for now)

thx!!

atropa created this task.Jul 31 2018, 5:34 PM
zmike added a comment.Aug 1 2018, 7:52 AM

Need you to run the eina_btlog command as the output suggests in order to get info...

atropa added a comment.Aug 1 2018, 7:57 AM
This comment was removed by atropa.
atropa added a comment.Aug 1 2018, 7:58 AM
/usr/lib/x86_64-linux-gnu/libeina.so.1 |                                        ??/??          :   0 @ eina_log_print_cb_journald()
/usr/lib/x86_64-linux-gnu/libeina.so.1 |                                        ??/??          :   0 @ eina_log_print_cb_stdout()
/usr/lib/x86_64-linux-gnu/libeina.so.1 |                                        ??/??          :   0 @ eina_log_print()
/usr/lib/x86_64-linux-gnu/libeo.so.1   |                                        ??/??          :   0 @ eo_objects_iterator_new()
/usr/lib/x86_64-linux-gnu/libeo.so.1   |                                        ??/??          :   0 @ efl_isa()
/usr/lib/x86_64-linux-gnu/libecore.so.1|                                        ??/??          :   0 @ ecore_exe_pid_get()
                 /usr/bin/enlightenment|                                        ??/??          :   0 @ e_error_message_show_internal()
/usr/lib/x86_64-linux-gnu/libeina.so.1 |                                        ??/??          :   0 @ eina_iterator_foreach()
/usr/lib/x86_64-linux-gnu/libeina.so.1 |                                        ??/??          :   0 @ eina_hash_foreach()
                 /usr/bin/enlightenment|                                        ??/??          :   0 @ e_exec_startup_id_pid_instance_find()
                 /usr/bin/enlightenment|                                        ??/??          :   0 @ e_client_focus_set_with_pointer()
                 /usr/bin/enlightenment|                                        ??/??          :   0 @ e_client_focus_set_with_pointer()
                 /usr/bin/enlightenment|                                        ??/??          :   0 @ e_livethumb_thumb_get()
/usr/lib/x86_64-linux-gnu/libecore.so.1|                                        ??/??          :   0 @ ecore_idle_exiter_del()
/usr/lib/x86_64-linux-gnu/libeo.so.1   |                                        ??/??          :   0 @ efl_composite_part_is()
/usr/lib/x86_64-linux-gnu/libeo.so.1   |                                        ??/??          :   0 @ efl_event_callback_call()
/usr/lib/x86_64-linux-gnu/libecore.so.1|                                        ??/??          :   0 @ ecore_main_fd_handler_add()
/usr/lib/x86_64-linux-gnu/libecore.so.1|                                        ??/??          :   0 @ ecore_main_loop_begin()
                 /usr/bin/enlightenment|                                        ??/??          :   0 @ main()
    /lib/x86_64-linux-gnu/libc.so.6    | /build/glibc-20LlRo/glibc-2.27/csu/../csu/libc-start.c: 344 @ __libc_start_main()
                 /usr/bin/enlightenment|                                        ??/??          : 344 @ _start()

int%

zmike added a comment.Aug 1 2018, 8:07 AM

Need efl and enlightenment built with debug symbols (-g).

atropa added a comment.EditedAug 1 2018, 9:40 AM

rebuilt from source, the error no longer shows up in xsession-errors but i now have an .e-crashdump.txt.. doesn't appear to point to any line in my module but the timestamp matches time of attempted loading.

Thread 5 (Thread 0x7f468f5ec700 (LWP 1307)):
#0  0x00007f469d543acf in __GI___select (nfds=43, readfds=readfds@entry=0x7f468f5eb990, writefds=writefds@entry=0x7f468f5eba10, exceptfds=exceptfds@entry=0x7f468f5eba90, timeout=timeout@entry=0x7f468f5eb980) at ../sysdeps/unix/sysv/linux/select.c:41
        resultvar = 18446744073709551102
        sc_cancel_oldtype = 1
        sc_ret = <optimized out>
#1  0x00007f469d6501b6 in _drm_tick_core (data=<optimized out>, thread=0x55f3aa2784c0) at lib/ecore_x/ecore_x_vsync.c:358
        wfds = {fds_bits = {0 <repeats 16 times>}}
        ret = <optimized out>
        tv = {tv_sec = 0, tv_usec = 98626}
        rfds = {fds_bits = {4398046511104, 0 <repeats 15 times>}}
        exfds = {fds_bits = {0 <repeats 16 times>}}
        max_fd = <optimized out>
        msg = <optimized out>
        ref = 0x55f3aae00d20
        tick = 1
        __FUNCTION__ = <optimized out>
#2  0x00007f469df3107c in _ecore_direct_worker (work=0x55f3aa2784c0) at lib/ecore/ecore_thread.c:484
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {94505020130496, 7846250532914456043, 140723796155534, 140723796155535, 94505020126816, 0, 7846218410175751659, 7846250533137802731}, __mask_was_saved = 0}}, __pad = {0x7f468f5ebc70, 0x0, 0x7f469dfd2fb8 <_eina_debug_thread_add+168>, 0x0}}
        __cancel_routine = 0x7f469df3121c <_ecore_direct_worker_cleanup>
        __cancel_arg = 0x55f3aa2784c0
        __not_first_call = <optimized out>
#3  0x00007f469dffd051 in _eina_internal_call (context=0x55f3aa277660) at lib/eina/eina_thread.c:151
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0, -7895301973041748501, 140723796155534, 140723796155535, 140723796156048, 0, 7846218410190431723, 7846250561052075499}, __mask_was_saved = 0}}, __pad = {0x7f468f5ebc00, 0x0, 0x0, 0x0}}
        __cancel_routine = <optimized out>
        __cancel_arg = <optimized out>
        __not_first_call = <optimized out>
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0, -7895301973041748501, 140723796155534, 140723796155535, 140723796156048, 0, 7846218410190431723, 7846250560843015659}, __mask_was_saved = 0}}, __pad = {0x7f468f5ebd10, 0x0, 0x0, 0x0}}
        __cancel_routine = <optimized out>
        __cancel_arg = 0x55f3aa277660
        __not_first_call = <optimized out>
        c = 0x55f3aa277660
        r = <optimized out>
        self = 139941029791488
#4  0x00007f469df9ef2a in start_thread (arg=0x7f468f5ec700) at pthread_create.c:463
        pd = 0x7f468f5ec700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139941029791488, -7895301973041748501, 140723796155534, 140723796155535, 140723796156048, 0, 7846218410372883947, 7846250611338372587}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#5  0x00007f469d54bedf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 4 (Thread 0x7f468ffff700 (LWP 1306)):
#0  0x00007f469d54c207 in epoll_wait (epfd=epfd@entry=38, events=events@entry=0x7f468fffeaf0, maxevents=maxevents@entry=2, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
        resultvar = 18446744073709551612
        sc_cancel_oldtype = 1
        sc_ret = <optimized out>
#1  0x00007f469df03126 in _timer_tick_core (data=<optimized out>, thread=0x55f3aa2b8290) at lib/ecore/ecore_anim.c:253
        pollfd = 38
        timerfd = 40
        pollev = {events = 1, data = {ptr = 0x7f468fffeafc, fd = -1879053572, u32 = 2415913724, u64 = 139941040351996}}
        pollincoming = {{events = 1, data = {ptr = 0x7f468fffeaf0, fd = -1879053584, u32 = 2415913712, u64 = 139941040351984}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}}
        timerfdbuf = 0
        i = <optimized out>
        t_ft = <optimized out>
        pframetime = -1
        tspec_new = {it_interval = {tv_sec = 0, tv_nsec = 0}, it_value = {tv_sec = 0, tv_nsec = 0}}
        tspec_old = {it_interval = {tv_sec = 0, tv_nsec = 0}, it_value = {tv_sec = 0, tv_nsec = 0}}
        rfds = {fds_bits = {0 <repeats 16 times>}}
        wfds = {fds_bits = {0 <repeats 16 times>}}
        exfds = {fds_bits = {0 <repeats 16 times>}}
        tv = {tv_sec = 0, tv_usec = 0}
        data_control = 0 '\000'
        data_timeout = 0 '\000'
        t = <optimized out>
        tick = 0 '\000'
        t0 = 1627.5420200179999
        d = 0.008686684666592101
        ft = 0.016666666666666666
        ret = <optimized out>
        __FUNCTION__ = "_timer_tick_core"
#2  0x00007f469df3107c in _ecore_direct_worker (work=0x55f3aa2b8290) at lib/ecore/ecore_thread.c:484
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {94505020392080, 7846250532914456043, 140723796164558, 140723796164559, 94505019706960, 0, 7846219773290997227, 7846250533137802731}, __mask_was_saved = 0}}, __pad = {0x7f468fffec70, 0x0, 0x7f469dfd2fb8 <_eina_debug_thread_add+168>, 0x0}}
        __cancel_routine = 0x7f469df3121c <_ecore_direct_worker_cleanup>
        __cancel_arg = 0x55f3aa2b8290
        __not_first_call = <optimized out>
#3  0x00007f469dffd051 in _eina_internal_call (context=0x55f3aa210e50) at lib/eina/eina_thread.c:151
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0, -7895301973041748501, 140723796164558, 140723796164559, 140723796165072, 0, 7846219773305677291, 7846250561052075499}, __mask_was_saved = 0}}, __pad = {0x7f468fffec00, 0x0, 0x0, 0x0}}
        __cancel_routine = <optimized out>
        __cancel_arg = <optimized out>
        __not_first_call = <optimized out>
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0, -7895301973041748501, 140723796164558, 140723796164559, 140723796165072, 0, 7846219773305677291, 7846250560843015659}, __mask_was_saved = 0}}, __pad = {0x7f468fffed10, 0x0, 0x0, 0x0}}
        __cancel_routine = <optimized out>
        __cancel_arg = 0x55f3aa210e50
        __not_first_call = <optimized out>
        c = 0x55f3aa210e50
        r = <optimized out>
        self = 139941040355072
#4  0x00007f469df9ef2a in start_thread (arg=0x7f468ffff700) at pthread_create.c:463
        pd = 0x7f468ffff700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139941040355072, -7895301973041748501, 140723796164558, 140723796164559, 140723796165072, 0, 7846219773488129515, 7846250611338372587}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#5  0x00007f469d54bedf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 3 (Thread 0x7f4694920700 (LWP 1302)):
#0  0x00007f469dfa7706 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, futex_word=0x55f3aa1556c8) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
        __ret = -512
        oldtype = 1
        err = <optimized out>
        oldtype = <optimized out>
        err = <optimized out>
        __ret = <optimized out>
        resultvar = <optimized out>
        __arg6 = <optimized out>
        __arg5 = <optimized out>
        __arg4 = <optimized out>
        __arg3 = <optimized out>
        __arg2 = <optimized out>
        __arg1 = <optimized out>
        _a6 = <optimized out>
        _a5 = <optimized out>
        _a4 = <optimized out>
        _a3 = <optimized out>
        _a2 = <optimized out>
        _a1 = <optimized out>
#1  do_futex_wait (sem=sem@entry=0x55f3aa1556c8, abstime=0x0) at sem_waitcommon.c:111
        err = <optimized out>
#2  0x00007f469dfa77f8 in __new_sem_wait_slow (sem=sem@entry=0x55f3aa1556c8, abstime=0x0) at sem_waitcommon.c:181
        _buffer = {__routine = 0x7f469dfa76c0 <__sem_wait_cleanup>, __arg = 0x55f3aa1556c8, __canceltype = 0, __prev = 0x0}
        err = <optimized out>
        d = 0
#3  0x00007f469dfa7869 in __new_sem_wait (sem=sem@entry=0x55f3aa1556c8) at sem_wait.c:42
No locals.
#4  0x00007f469dffd1a0 in eina_semaphore_lock (sem=0x55f3aa1556c8) at ../src/lib/eina/eina_inline_lock_posix.x:720
No locals.
#5  _eina_thread_queue_wait (thq=thq@entry=0x55f3aa1556a0) at lib/eina/eina_thread_queue.c:164
        __FUNCTION__ = "_eina_thread_queue_wait"
#6  0x00007f469dffd9b2 in eina_thread_queue_wait (thq=0x55f3aa1556a0, allocref=allocref@entry=0x7f469491fbc8) at lib/eina/eina_thread_queue.c:443
        msg = <optimized out>
        blk = 0x7ffccfe1c0de
#7  0x00007f469dd2694f in _evas_common_scale_sample_thread (data=<optimized out>, t=<optimized out>) at lib/evas/common/evas_scale_sample.c:826
        ref = 0x7f469dfd2fb8 <_eina_debug_thread_add+168>
        msg = <optimized out>
        todo = 0x0
#8  0x00007f469dffd051 in _eina_internal_call (context=0x55f3aa155760) at lib/eina/eina_thread.c:151
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0, -7895301973041748501, 140723796164830, 140723796164831, 140723796165344, 0, 7846231026656863723, 7846250561052075499}, __mask_was_saved = 0}}, __pad = {0x7f469491fc00, 0x0, 0x0, 0x0}}
        __cancel_routine = <optimized out>
        __cancel_arg = <optimized out>
        __not_first_call = <optimized out>
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0, -7895301973041748501, 140723796164830, 140723796164831, 140723796165344, 0, 7846231026656863723, 7846250560843015659}, __mask_was_saved = 0}}, __pad = {0x7f469491fd10, 0x0, 0x0, 0x0}}
        __cancel_routine = <optimized out>
        __cancel_arg = 0x55f3aa155760
        __not_first_call = <optimized out>
        c = 0x55f3aa155760
        r = <optimized out>
        self = 139941117036288
#9  0x00007f469df9ef2a in start_thread (arg=0x7f4694920700) at pthread_create.c:463
        pd = 0x7f4694920700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139941117036288, -7895301973041748501, 140723796164830, 140723796164831, 140723796165344, 0, 7846231026839315947, 7846250611338372587}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#10 0x00007f469d54bedf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 2 (Thread 0x7f4695121700 (LWP 1301)):
#0  0x00007f469dfa519a in futex_reltimed_wait_cancelable (private=<optimized out>, reltime=0x7f4695120af0, expected=0, futex_word=0x7f469de23870 <evas_thread_queue_condition+48>) at ../sysdeps/unix/sysv/linux/futex-internal.h:142
        __ret = -516
        oldtype = 1
        err = <optimized out>
        oldtype = <optimized out>
        err = <optimized out>
        __ret = <optimized out>
        resultvar = <optimized out>
        __arg4 = <optimized out>
        __arg3 = <optimized out>
        __arg2 = <optimized out>
        __arg1 = <optimized out>
        _a4 = <optimized out>
        _a3 = <optimized out>
        _a2 = <optimized out>
        _a1 = <optimized out>
#1  __pthread_cond_wait_common (abstime=0x7f4695120b90, mutex=0x7f469de23800 <evas_thread_queue_lock>, cond=0x7f469de23848 <evas_thread_queue_condition+8>) at pthread_cond_wait.c:533
        rt = {tv_sec = 2249, tv_nsec = 999999399}
        spin = 0
        buffer = {__routine = 0x7f469dfa4be0 <__condvar_cleanup_waiting>, __arg = 0x7f4695120b20, __canceltype = -1793979504, __prev = 0x0}
        cbuffer = {wseq = 398728, cond = 0x7f469de23848 <evas_thread_queue_condition+8>, mutex = 0x7f469de23800 <evas_thread_queue_lock>, private = 0}
        err = <optimized out>
        g = 0
        flags = <optimized out>
        g1_start = <optimized out>
        maxspin = 0
        signals = <optimized out>
        result = 0
        wseq = <optimized out>
        seq = 199364
        private = <optimized out>
        maxspin = <optimized out>
        err = <optimized out>
        result = <optimized out>
        wseq = <optimized out>
        g = <optimized out>
        seq = <optimized out>
        flags = <optimized out>
        private = <optimized out>
        signals = <optimized out>
        g1_start = <optimized out>
        spin = <optimized out>
        buffer = <optimized out>
        cbuffer = <optimized out>
        rt = <optimized out>
        s = <optimized out>
#2  __pthread_cond_timedwait (cond=cond@entry=0x7f469de23848 <evas_thread_queue_condition+8>, mutex=0x7f469de23800 <evas_thread_queue_lock>, abstime=abstime@entry=0x7f4695120b90) at pthread_cond_wait.c:667
No locals.
#3  0x00007f469dd3114c in eina_condition_timedwait (t=2250, cond=0x7f469de23840 <evas_thread_queue_condition>) at ../src/lib/eina/eina_inline_lock_posix.x:439
        sec = 2250
        err = <optimized out>
        ts = {tv_sec = 3878, tv_nsec = 176661732}
        nsec = 0
        r = 0 '\000'
        ts = <optimized out>
        sec = <optimized out>
        nsec = <optimized out>
        err = <optimized out>
        r = <optimized out>
        tv = <optimized out>
#4  evas_thread_worker_func (data=<optimized out>, thread=<optimized out>) at lib/evas/common/evas_thread_render.c:136
        cmd = <optimized out>
        len = <optimized out>
        max = <optimized out>
        __FUNCTION__ = "evas_thread_worker_func"
        __PRETTY_FUNCTION__ = "evas_thread_worker_func"
#5  0x00007f469dffd051 in _eina_internal_call (context=0x55f3aa155120) at lib/eina/eina_thread.c:151
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0, -7895301973041748501, 140723796164846, 140723796164847, 140723796165360, 0, 7846232124557878763, 7846250561052075499}, __mask_was_saved = 0}}, __pad = {0x7f4695120c00, 0x0, 0x0, 0x0}}
        __cancel_routine = <optimized out>
        __cancel_arg = <optimized out>
        __not_first_call = <optimized out>
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0, -7895301973041748501, 140723796164846, 140723796164847, 140723796165360, 0, 7846232124557878763, 7846250560843015659}, __mask_was_saved = 0}}, __pad = {0x7f4695120d10, 0x0, 0x0, 0x0}}
        __cancel_routine = <optimized out>
        __cancel_arg = 0x55f3aa155120
        __not_first_call = <optimized out>
        c = 0x55f3aa155120
        r = <optimized out>
        self = 139941125428992
#6  0x00007f469df9ef2a in start_thread (arg=0x7f4695121700) at pthread_create.c:463
        pd = 0x7f4695121700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139941125428992, -7895301973041748501, 140723796164846, 140723796164847, 140723796165360, 0, 7846232124740330987, 7846250611338372587}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#7  0x00007f469d54bedf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 1 (Thread 0x7f4698546040 (LWP 1297)):
#0  0x00007f469dfa8ee2 in __libc_pause () at ../sysdeps/unix/sysv/linux/pause.c:30
        resultvar = 18446744073709551102
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
#1  0x000055f3a8cf7c91 in e_alert_show () at ../src/bin/e_alert.c:43
No locals.
#2  0x000055f3a8cbf3f5 in _e_crash () at ../src/bin/e_signals.c:81
No locals.
#3  0x000055f3a8cbf47e in e_sigabrt_act (x=<optimized out>, info=<optimized out>, data=<optimized out>) at ../src/bin/e_signals.c:127
No locals.
#4  <signal handler called>
No locals.
#5  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
        set = {__val = {0, 0, 0, 0, 0, 0, 18446744073709551615, 18446744073709551615, 0, 0, 0, 0, 0, 0, 0, 0}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#6  0x00007f469d48b2f1 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {0 <repeats 15 times>, 26}}, sa_flags = 0, sa_restorer = 0x1a}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#7  0x00007f469dfe08b9 in eina_log_print_unlocked (domain=domain@entry=26, level=level@entry=EINA_LOG_LEVEL_CRITICAL, file=file@entry=0x55f3a8d04ab1 "../src/bin/e_gadcon.c", fnc=fnc@entry=0x55f3a8d05540 <__FUNCTION__.61322> "e_gadcon_unpopulate", line=line@entry=616, fmt=fmt@entry=0x55f3a8d04db0 "DANGLING GADCON CLIENT %p! THIS IS A BUG!!!", args=0x7ffccfe1bca8) at lib/eina/eina_log.c:1458
        d = <optimized out>
#8  0x00007f469dfe1825 in eina_log_print (domain=26, level=level@entry=EINA_LOG_LEVEL_CRITICAL, file=file@entry=0x55f3a8d04ab1 "../src/bin/e_gadcon.c", fnc=fnc@entry=0x55f3a8d05540 <__FUNCTION__.61322> "e_gadcon_unpopulate", line=line@entry=616, fmt=fmt@entry=0x55f3a8d04db0 "DANGLING GADCON CLIENT %p! THIS IS A BUG!!!") at lib/eina/eina_log.c:2259
        args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7ffccfe1bdb8, reg_save_area = 0x7ffccfe1bcc0}}
#9  0x000055f3a8c64b27 in e_gadcon_unpopulate (gc=0x55f3aa877fa0) at ../src/bin/e_gadcon.c:616
        gcc = 0x55f3aaa281a0
        __FUNCTION__ = "e_gadcon_unpopulate"
#10 0x000055f3a8c8c802 in _cb_add_advanced (data=0x55f3aa808980, data2=<optimized out>) at ../src/bin/e_int_gadcon_config.c:426
        cfdata = 0x55f3aa808980
        cf_gcc = 0x55f3aa890d00
        gad = 0x55f3aad29a20
#11 0x000055f3a8ccbade in _e_wid_activate_hook (obj=obj@entry=0x40000038f260) at ../src/bin/e_widget_button.c:123
        wd = <optimized out>
#12 0x000055f3a8ccbb0f in _click (data=0x40000038f260, obj=<optimized out>, event_info=<optimized out>) at ../src/bin/e_widget_button.c:144
        wid = 0x40000038f260
#13 0x00007f469dc5365b in _eo_evas_smart_cb (data=<optimized out>, event=<optimized out>) at lib/evas/canvas/evas_object_smart.c:78
        info = <optimized out>
#14 0x00007f469c9b66c3 in _event_callback_call (legacy_compare=1 '\001', event_info=<optimized out>, desc=0x7f469c99c7b0 <_EFL_UI_EVENT_CLICKED>, pd=0x55f3aa93d200, obj_id=<optimized out>) at lib/eo/eo_base_class.c:1698
        ev = {object = 0x40000038fa61, desc = 0x7f469c99c7b0 <_EFL_UI_EVENT_CLICKED>, info = 0x0}
        ret = 1 '\001'
        frame = {next = 0x0, idx = 10, inserted_before = 0, generation = 1}
        cb = 0x55f3aa9ea8d8
        lookup = 0x0
        saved = {__in_list = {next = 0x55f3aaae6e01, prev = 0x55f3aa635058, last = 0x1}, desc = 0x7f4600000023, current = 3163089}
        idx = 10
        callback_already_stopped = 0 '\000'
        cb = <optimized out>
        lookup = <optimized out>
        saved = <optimized out>
        ev = <optimized out>
        idx = <optimized out>
        callback_already_stopped = <optimized out>
        ret = <optimized out>
        frame = <optimized out>
        it = <optimized out>
#15 _efl_object_event_callback_legacy_call (obj_id=<optimized out>, pd=0x55f3aa93d200, desc=0x7f469c99c7b0 <_EFL_UI_EVENT_CLICKED>, event_info=<optimized out>) at lib/eo/eo_base_class.c:1771
No locals.
#16 0x00007f469c9b23c2 in efl_event_callback_legacy_call (obj=<optimized out>, desc=desc@entry=0x7f469c99c7b0 <_EFL_UI_EVENT_CLICKED>, event_info=event_info@entry=0x0) at lib/eo/eo_base_class.c:1774
        _r = <optimized out>
        ___op = 35
        ___generation = 1
        ___call = {eo_id = 0x40000038fa61, obj = 0x55f3aa93d1c0, func = 0x7f469c9b649e <_efl_object_event_callback_legacy_call>, data = 0x55f3aa93d200, extn1 = 0x400000304301, extn2 = 0x7f469c99c7b0 <_EFL_UI_EVENT_CLICKED>, extn3 = 0x0, extn4 = 0x40000038fa61}
        _func_ = <optimized out>
#17 0x00007f469dc47cd7 in _efl_canvas_object_efl_object_event_callback_legacy_call (eo_obj=0x40000038fa61, obj=0x55f3aa93d250, desc=0x7f469c99c7b0 <_EFL_UI_EVENT_CLICKED>, event_info=0x0) at lib/evas/canvas/evas_object_main.c:1231
No locals.
#18 0x00007f469c9b23c2 in efl_event_callback_legacy_call (obj=obj@entry=0x40000038fa61, desc=0x7f469c99c7b0 <_EFL_UI_EVENT_CLICKED>, event_info=event_info@entry=0x0) at lib/eo/eo_base_class.c:1774
        _r = <optimized out>
        ___op = 35
        ___generation = 1
        ___call = {eo_id = 0x40000038fa61, obj = 0x55f3aa93d1c0, func = 0x7f469dc47c72 <_efl_canvas_object_efl_object_event_callback_legacy_call>, data = 0x55f3aa93d250, extn1 = 0x55f3aaae6e70, extn2 = 0x55f3aa635058, extn3 = 0x1, extn4 = 0x7f469c9aae2e <efl_data_scope_get+36>}
        _func_ = <optimized out>
#19 0x00007f469d883e86 in _activate (obj=0x40000038fa61) at lib/elementary/efl_ui_button.c:74
        sd = 0x55f3aa93d600
        __FUNCTION__ = "_activate"
#20 0x00007f469d883ee9 in _on_clicked_signal (data=<optimized out>, obj=<optimized out>, emission=<optimized out>, source=<optimized out>) at lib/elementary/efl_ui_button.c:126
No locals.
#21 0x00007f469d707ae8 in edje_match_callback_exec_check_finals (prop=<optimized out>, ed=0x55f3aadecdc0, source=0x55f3aa19e380 "elm", sig=0x55f3aaed0dcc "elm,action,click", source_states=0x55f3aa635058, signal_states=0x55f3aaae6e70, matches=0x55f3aadf63e0, ssp=0x55f3aa8d9520) at lib/edje/edje_match.c:556
        idx = <optimized out>
        run = {version = 1, data = 0x55f3aaacf2f0, total = 4, count = 0, step = 4, __magic = 2557874747}
        i = <optimized out>
        cb = <optimized out>
        j = <optimized out>
        r = <optimized out>
        cb = <optimized out>
        run = <optimized out>
        i = <optimized out>
        j = <optimized out>
        r = <optimized out>
        e = <optimized out>
        idx = <optimized out>
#22 edje_match_callback_exec (ssp=ssp@entry=0x55f3aa8d9520, matches=0x55f3aadf63e0, sig=sig@entry=0x55f3aaed0dcc "elm,action,click", source=source@entry=0x55f3aa19e380 "elm", ed=ed@entry=0x55f3aadecdc0, prop=prop@entry=0 '\000') at lib/edje/edje_match.c:711
        signal_result = 0x55f3aaae6e70
        source_result = 0x55f3aa635058
        r = 0
#23 0x00007f469d70e986 in _edje_emit_cb (prop=0 '\000', data=0x55f3aae78020, src=0x55f3aa19e380 "elm", sig=0x55f3aaed0dcc "elm,action,click", ed=0x55f3aadecdc0) at lib/edje/edje_program.c:1647
        m = 0x55f3aa86aec0
        match = <optimized out>
        ssp = 0x55f3aa8d9520
        r = 1
        ssp = <optimized out>
        m = <optimized out>
        match = <optimized out>
        r = <optimized out>
        cb = <optimized out>
        i = <optimized out>
#24 _edje_emit_handle (ed=0x55f3aadecdc0, sig=0x55f3aaed0dcc "elm,action,click", src=0x55f3aa19e380 "elm", sdata=0x55f3aae78020, prop=0 '\000') at lib/edje/edje_program.c:1589
        done = 0
        __FUNCTION__ = <optimized out>
#25 0x00007f469d708d61 in _edje_message_process (em=em@entry=0x55f3aac84b10) at lib/edje/edje_message_queue.c:783
        fn = <optimized out>
        pdata = <optimized out>
        ret = <optimized out>
        __FUNCTION__ = "_edje_message_process"
#26 0x00007f469d70938a in _edje_message_queue_process () at lib/edje/edje_message_queue.c:886
        em = 0x55f3aac84b10
        ed = 0x55f3aadecdc0
        i = 1
        __FUNCTION__ = "_edje_message_queue_process"
#27 0x00007f469d7094e3 in _edje_job (data=<optimized out>) at lib/edje/edje_message_queue.c:260
No locals.
#28 0x00007f469df08d32 in _ecore_job_event_handler (data=<optimized out>, type=<optimized out>, ev=<optimized out>) at lib/ecore/ecore_job.c:98
        job = <optimized out>
#29 0x00007f469df0da1a in _ecore_event_message_handler_efl_loop_message_handler_message_call (obj=0x4000000017f7, pd=0x55f3aa074230, message=0x4000003c7e28) at lib/ecore/ecore_event_message_handler.c:359
        h = 0x55f3aa0745e0
        type = 14
        data = 0x55f3aa947f10
        free_func = 0x7f469df08d3c <_ecore_job_event_free>
        free_data = 0x55f3aa947f10
        fn_free = 0x7f469df08d3c <_ecore_job_event_free>
        l = <optimized out>
        l2 = <optimized out>
        handled = 1
#30 0x00007f469df13eba in efl_loop_message_handler_message_call (obj=0x4000000017f7, message=0x4000003c7e28) at lib/ecore/efl_loop_message_handler.eo.c:14
        ___op = 135
        ___generation = 1
        ___call = {eo_id = 0x4000000017f7, obj = 0x55f3aa074190, func = 0x7f469df0d95d <_ecore_event_message_handler_efl_loop_message_handler_message_call>, data = 0x55f3aa074230, extn1 = 0x55f3aa06ce90, extn2 = 0x55f3aa240260, extn3 = 0x55f3aa06ce90, extn4 = 0x4000000003f2}
        _func_ = <optimized out>
#31 0x00007f469df100fc in _efl_loop_message_process (obj=<optimized out>, pd=0x55f3aa06ce90) at lib/ecore/efl_loop.c:633
        msg = 0x55f3aab5ee40
        __FUNCTION__ = <optimized out>
        msg = <optimized out>
#32 0x00007f469df0f5a7 in efl_loop_message_process (obj=obj@entry=0x4000000003f2) at lib/ecore/efl_loop.c:663
        _r = <optimized out>
        ___op = 103
        ___generation = 1
        ___call = {eo_id = 0x4000000003f2, obj = 0x55f3aa06cdd0, func = 0x7f469df100c9 <_efl_loop_message_process>, data = 0x55f3aa06ce90, extn1 = 0x55f3aa06ce90, extn2 = 0x55f3aa072900, extn3 = 0x4000000003f2, extn4 = 0x0}
        _func_ = <optimized out>
#33 0x00007f469df0ae36 in _ecore_main_loop_iterate_internal (obj=obj@entry=0x4000000003f2, pd=pd@entry=0x55f3aa06ce90, once_only=once_only@entry=0) at lib/ecore/ecore_main.c:2450
        next_time = <optimized out>
#34 0x00007f469df0b14a in _ecore_main_loop_begin (obj=0x4000000003f2, pd=pd@entry=0x55f3aa06ce90) at lib/ecore/ecore_main.c:1183
No locals.
#35 0x00007f469df107d9 in _efl_loop_begin (obj=<optimized out>, pd=0x55f3aa06ce90) at lib/ecore/efl_loop.c:83
No locals.
#36 0x00007f469df0f7ba in efl_loop_begin (obj=0x4000000003f2) at lib/ecore/efl_loop.eo.c:28
        _r = <optimized out>
        ___op = 92
        ___generation = 1
        ___call = {eo_id = 0x4000000003f2, obj = 0x55f3aa06cdd0, func = 0x7f469df107d0 <_efl_loop_begin>, data = 0x55f3aa06ce90, extn1 = 0x0, extn2 = 0x0, extn3 = 0x0, extn4 = 0x0}
        _func_ = <optimized out>
#37 0x00007f469df0b1d8 in ecore_main_loop_begin () at lib/ecore/ecore_main.c:1266
        __FUNCTION__ = <optimized out>
#38 0x000055f3a8c9dd5c in main (argc=<optimized out>, argv=<optimized out>) at ../src/bin/e_main.c:1090
        safe_mode = 0 '\000'
        waslocked = <optimized out>
        strshare = <optimized out>
        t = <optimized out>
        tstart = <optimized out>
        s = <optimized out>
        buff = "1533140032.1\000\000\000\000\301\021\000\000\300\237\000\000]\214Ϩ\363U\000"
        action = {__sigaction_handler = {sa_handler = 0x55f3a8cbf475 <e_sigabrt_act>, sa_sigaction = 0x55f3a8cbf475 <e_sigabrt_act>}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = -1073741820, sa_restorer = 0x11c30}
        __FUNCTION__ = "main"
zmike added a comment.Aug 1 2018, 9:44 AM

Somehow a gadcon client is "dangling", which means it has an extra ref after the gadcon has been destroyed. This is an internal gadcon bug which happens occasionally for desktop gadcon clients; have you tried adding it to a shelf?

zmike added a comment.Aug 1 2018, 9:45 AM

Also glancing at your code, make sure that any function or variable which is not 'static' is marked with EINTERN to avoid symbol collision (and crashing).

atropa added a comment.Aug 1 2018, 9:55 AM

the crash occurs at time of module load from the basic settings menu, before it is available for adding to either shelf or desktop

zmike added a comment.Aug 1 2018, 10:04 AM

I must confess that the tarball you uploaded is a bit confusing; there's no possible way this should build or even pass the autoreconf stage due to errors in configure.ac.

What version of enlightenment are you trying to run this with? In my version from git, loading the module just gives an undefined symbol warning for _cmcticker, which appears to be a function that you tried to use without ever defining? So the module won't even load.

i just rebuild efl & enlightenment from the mainline git repo. I was able to rebuild the module without any errors on my local box. Is there a good example out there of a hello world type gadget that displays one or more lines of text a-la the tclock gadget and has a minimal config menu?

No, gadcon gadgets are essentially dead. The codebase is too hard to work with and fix (e.g., errors like the dangling client one you found are nearly undebuggable), the API is not user-friendly, and there are no docs (and none will ever be written). I expect the entire system to be removed in a future release.

The new gadget API can be found in e_gadget.h, though we're encouraging users to try out the new sandbox API if their system supports wayland (https://www.enlightenment.org/develop/e/sandbox_gadgets.md).

atropa closed this task as Invalid.Aug 1 2018, 3:28 PM

document provided is sufficient for what i need thanks!