Page MenuHomePhabricator

GTK apps crash on start.
Closed, ResolvedPublic

Description

Start a GTK app. (l3afpad transmission)

E crashes with:

(gdb) bt
#0  0xb2c2c383 in _xdg5_client_hook_del (d=0x0, ec=0xad3c0a8) at src/modules/wl_desktop_shell/xdg5.c:886
#1  0x08095ecf in _e_client_hook_call (hookpoint=E_CLIENT_HOOK_DEL, ec=0xad3c0a8) at src/bin/e_client.c:316
#2  0x08096f25 in _e_client_del (ec=0xad3c0a8) at src/bin/e_client.c:642
#3  0x08164165 in e_object_del (obj=0xad3c0a8) at src/bin/e_object.c:59
#4  0x081b679c in _e_comp_x_client_new_helper (ec=0xad3c0a8) at src/bin/e_comp_x.c:347
#5  0x081c39a3 in _e_comp_x_hook_client_new (d=0x0, ec=0xad3c0a8) at src/bin/e_comp_x.c:4574
#6  0x08095ecf in _e_client_hook_call (hookpoint=E_CLIENT_HOOK_NEW_CLIENT, ec=0xad3c0a8) at src/bin/e_client.c:316
#7  0x0809cf30 in e_client_new (cp=0xad3d188, first_map=1, internal=0) at src/bin/e_client.c:2398
#8  0x081b82c2 in _e_comp_x_client_new (win=4194305, first=1 '\001') at src/bin/e_comp_x.c:862
#9  0x081c54ee in _e_comp_x_manage_windows () at src/bin/e_comp_x.c:5221
#10 0x081c6146 in _e_comp_x_setup (root=608, w=1024, h=576) at src/bin/e_comp_x.c:5458
#11 0x081c627f in _e_comp_x_screens_setup () at src/bin/e_comp_x.c:5484
#12 0x081c6707 in e_comp_x_init () at src/bin/e_comp_x.c:5546
#13 0xb2c90eec in xnotify (d=0x9ca84a0, eth=0x9ccc208, disp=0xb4d03aa0) at src/modules/xwayland/e_mod_main.c:278
#14 0xb6d1a059 in _ecore_notify_handler (data=0xb4d0ff20) at lib/ecore/ecore_thread.c:267
#15 0xb6cf5765 in _ecore_main_call_flush () at lib/ecore/ecore.c:1030
#16 0xb6cf57c4 in _thread_callback (data=0x0, buffer=0x9ca84a0, nbyte=4) at lib/ecore/ecore.c:1041
#17 0xb6d160b0 in _ecore_pipe_handler_call (p=0x9c09b28, buf=0x9ca84a0 "*", len=4) at lib/ecore/ecore_pipe.c:511
#18 0xb6d163a9 in _ecore_pipe_read (data=0x9c09b28, fd_handler=0x9c02fb0) at lib/ecore/ecore_pipe.c:637
#19 0xb6cfefa7 in _ecore_call_fd_cb (func=0xb6d160c7 <_ecore_pipe_read>, data=0x9c09b28, fd_handler=0x9c02fb0) at lib/ecore/ecore_private.h:333
#20 0xb6d01718 in _ecore_main_fd_handlers_call () at lib/ecore/ecore_main.c:1983
#21 0xb6d01db4 in _ecore_main_loop_iterate_internal (once_only=0) at lib/ecore/ecore_main.c:2354
#22 0xb6cffe8b in ecore_main_loop_begin () at lib/ecore/ecore_main.c:1287
#23 0x0807ba56 in main (argc=1, argv=0xbffa5f94) at src/bin/e_main.c:1093
(gdb)

mike your latest commits broke this.

ApB created this task.Dec 2 2016, 3:51 AM
ApB added projects: Restricted Project, enlightenment-git.Dec 2 2016, 3:53 AM
devilhorns added a comment.EditedDec 2 2016, 6:02 AM

Did a gdb on this .. turns out ec->comp_data is NULL. Seems like a race to me... e_client.c: 643 is freeing the ec->comp_data .. my guess is that's getting freed before the hook gets actually executed...

zmike reopened this task as Open.Dec 2 2016, 6:25 AM

This patch is not accurate. Instead, it should be checking to see if the client has a wayland pixmap.

ok, will revert and fix it then