Page MenuHomePhabricator

EFL OpenBSD crash run enlightenment_fm
Closed, ResolvedPublic

Description

Start E (21) with EFL (1.18) -> Click on desktop icon / Open enlightenment_fm from menu -> window renders then the whole shebang freezes.

Current language:  auto; currently asm
  3 thread 1032357  0x000004add0e0f35a in _thread_sys_select () at <stdin>:2
  2 thread 1056734  0x000004add0e59a1a in _thread_sys___thrsleep () at <stdin>:2
* 1 thread 1047629  _thread_sys_sigsuspend () at /usr/src/lib/libc/arch/amd64/sys/sigsuspend.S:45
#0  _thread_sys_sigsuspend () at /usr/src/lib/libc/arch/amd64/sys/sigsuspend.S:45
#1  0x000004add0e33f27 in *_libc_sigsuspend_cancel (set=Variable "set" is not available.
) at /usr/src/lib/libc/sys/w_sigsuspend.c:35
#2  0x000004add0e24158 in pause () at /usr/src/lib/libc/gen/pause.c:19
#3  0x000004abafca2554 in e_alert_show () at src/bin/e_alert.c:43
#4  0x000004abafc53622 in _e_crash () at src/bin/e_signals.c:117
#5  0x000004abafc5363c in e_sigseg_act (x=11, info=0x7f7ffffc6280, data=0x7f7ffffc6190)
    at src/bin/e_signals.c:127
#6  <signal handler called>
#7  0x000004ae58652532 in _e_fwin_new (dev=0x4abafc2e123 "H\205Àt\005èÐàÿÿÇEÔ\001", 
    path=0x7f7ffffc67b0 "ðgüÿ\177\177") at src/modules/fileman/e_fwin.c:721
#8  0x000004adf5494767 in _ecore_call_handler_cb (func=0x4ae5865267c <_e_fwin_icon_popup_handler>, 
    data=0x4ae41604200, type=18, event=0x4aea53e6700) at ecore_private.h:317
#9  0x000004adf54941fd in _ecore_event_call () at lib/ecore/ecore_events.c:518
#10 0x000004adf549c36d in _ecore_main_loop_iterate_internal (once_only=0) at lib/ecore/ecore_main.c:2344
#11 0x000004adf549a751 in ecore_main_loop_begin () at lib/ecore/ecore_main.c:1286
#12 0x000004abafb3f853 in main (argc=1, argv=0x7f7ffffc7978) at src/bin/e_main.c:1082
[Switching to thread 2 (thread 1056734)]#0  0x000004add0e59a1a in _thread_sys___thrsleep () at <stdin>:2
2	<stdin>: No such file or directory.
	in <stdin>
#0  0x000004add0e59a1a in _thread_sys___thrsleep () at <stdin>:2
#1  0x000004adbfa80c43 in *_libpthread_pthread_cond_wait (condp=Variable "condp" is not available.
) at /usr/src/lib/librthread/rthread_sync.c:513
#2  0x000004ade40a1957 in eina_condition_wait (cond=0x4ade45a3e00) at eina_inline_lock_posix.x:441
#3  0x000004ade40a1754 in evas_thread_worker_func (data=0x0, thread=5147106426936)
    at lib/evas/common/evas_thread_render.c:76
#4  0x000004ae6ce78aed in _eina_internal_call (context=0x4ae687e3760) at lib/eina/eina_thread.c:150
#5  0x000004adbfa824ee in _rthread_start (v=Variable "v" is not available.
) at /usr/src/lib/librthread/rthread.c:115
#6  0x000004add0e1df4b in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:75
#7  0x0000000000000000 in ?? ()
[Switching to thread 3 (thread 1032357)]#0  0x000004add0e0f35a in _thread_sys_select () at <stdin>:2
2	<stdin>: No such file or directory.
	in <stdin>
#0  0x000004add0e0f35a in _thread_sys_select () at <stdin>:2
#1  0x000004add0dec409 in *_libc_select_cancel (nfds=Variable "nfds" is not available.
) at /usr/src/lib/libc/sys/w_select.c:28
#2  0x000004adf54918da in _timer_tick_core (data=0x0, thread=0x4ae43d1f800) at lib/ecore/ecore_anim.c:122
#3  0x000004adf54a389e in _ecore_direct_worker (work=0x4ae43d1f800) at lib/ecore/ecore_thread.c:425
#4  0x000004ae6ce78aed in _eina_internal_call (context=0x4adb2af9c40) at lib/eina/eina_thread.c:150
#5  0x000004adbfa824ee in _rthread_start (v=Variable "v" is not available.
) at /usr/src/lib/librthread/rthread.c:115
#6  0x000004add0e1df4b in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:75
#7  0x0000000000000000 in ?? ()
The program is running.  Quit anyway (and detach it)? (y or n) Detaching from program: /opt/bin/enlightenment, process 47629
netstar created this task.Jul 15 2016, 2:59 AM

An inline patch:

diff -urN a/src/modules/fileman/e_fwin.c b/src/modules/fileman/e_fwin.c
--- a/src/modules/fileman/e_fwin.c      Fri Jul 15 11:29:48 2016
+++ b/src/modules/fileman/e_fwin.c      Fri Jul 15 11:30:48 2016
@@ -747,7 +747,7 @@
 }

 static Eina_Bool
-_e_fwin_icon_popup_handler(void *data, ...)
+_e_fwin_icon_popup_handler(void *data)
 {
    E_Fwin *fwin = data;

This is working fine now... enlightenment_filemanager doesn't freeze everything.

Yeah, I can see that the definition of a vaarg can cause that with some abi. Will commit your patch, but would be better to have a differential next time.