On Sat, Nov 25, 2006 at 10:31:58PM +0900, Carsten Haitzler wrote: > On Fri, 24 Nov 2006 23:57:26 +0100 Falko Schmidt > <[EMAIL PROTECTED]> babbled: > > > [...] > > > > > Now that I've got E17 running, I noticed that it recieves no > > > > > keyboard input at all (e.g. in the 'run command' dialog or and other > > > > > widget) although input works for applications run inside E17 (e.g. > > > > > xterm). I'll investigate a bit more, but maybe someone out there > > > > > already knows how to deal with it. > > > > > > > > weird again. never seen this problem before. > > > > > > > I've used xnest to investigate the error some more. It seems that the > > > segfault is caused by _grab_key_down_cb (bt follows). > > > > > > One thing to note is that modifier keys as well as backspace and cursor > > > keys work in the input widgets - but pressing any other character > > > doesn't have any effect. > > > > > > Next is that if I specify a key binding with "enlightenment_remote > > > -binding-key-add" it works. > > > > > > Producing a backtrace with gdb wasn't very successful because after > > > adding debugging symbols to E17, gdb complained about the stack being > > > corrupted. However using mdb I've got the following results: > > > > > > ESTART: 29.85751 [6.89135] - SLEEP > > > mdb: stop on SIGSEGV > > > mdb: target stopped at: > > > libc.so.1`strlen+0x50: ld [%o2], %o1 > > > mdb: You've got symbols! > > > Loading modules: [ ld.so.1 libc.so.1 libuutil.so.1 ] > > > > $c > > > libc.so.1`strlen+0x50(1835c5, ffbcd6d4, 57c3d9, 0, 0, 0) > > > libc.so.1`printf+0xf4(1835b8, 1a4608, 0, 1a4626, fe8e8284, 2ff770) > > > _grab_key_down_cb+0x148(296438, a, 2ff770, 1db038, 1db038, 588b48) > > > libecore.so.1.0.0`_ecore_event_call+0x36c(0, 20000000, 2f08c, ff3ee0f8, > > > 0, > > > ff06a248) > > > libecore.so.1.0.0`_ecore_main_loop_iterate_internal+0x82c(0, 6, > > > ffffffd1, 1, > > > fe8f0527, ff06a248) > > > libecore.so.1.0.0`ecore_main_loop_begin+0x54(2f, 1a4608, 0, 1a4626, > > > fe8e8284, > > > 1a2b68) > > > main+0x54d8(1, ffbff204, ffbff20c, 1a4a9c, fecf0140, fecf0180) > > > _start+0x5c(0, 0, 0, 0, 0, 0) > > > > ::status > > > debugging PID 13681 (32-bit) > > > file: /usr/local/bin/enlightenment > > > threading model: multi-threaded > > > status: stopped on SIGSEGV (Segmentation Fault) > > > event: stop on SIGSEGV > > > > > > > > > Just for convenience, here's the bt output from gdb: > > > > > > ESTART: 1.86219 [0.11480] - SLEEP > > > > > > Program received signal SIGSEGV, Segmentation fault. > > > 0xfe830c90 in strlen () from /lib/libc.so.1 > > > (gdb) bt > > > #0 0xfe830c90 in strlen () from /lib/libc.so.1 > > > #1 0xfe896258 in _ndoprnt () from /lib/libc.so.1 > > > #2 0xfe898404 in printf () from /lib/libc.so.1 > > > #3 0x00100c30 in ?? () > > > #4 0x00100c30 in ?? () > > > Previous frame identical to this frame (corrupt stack?) > > > > > > > > > And another one with gdb, just without symbols: > > > > > > #0 0xfe830c90 in strlen () from /lib/libc.so.1 > > > #1 0xfe896258 in _ndoprnt () from /lib/libc.so.1 > > > #2 0xfe898404 in printf () from /lib/libc.so.1 > > > #3 0x00100c30 in _grab_key_down_cb () > > > #4 0xff046e60 in _ecore_event_call () from /usr/local/lib/libecore.so.1 > > > #5 0xff052004 in _ecore_main_loop_iterate_internal () > > > from /usr/local/lib/libecore.so.1 > > > #6 0xff0506d8 in ecore_main_loop_begin () from > > > /usr/local/lib/libecore.so.1 > > > #7 0x0002f094 in main () > > > > > > Please tell me if you need more details or another kind of bt. > > > > > > Falko > > > > I've investigated some more. The segfault is caused by ev->key_compose > > in the printf statement in the function _grab_key_down_cb. If I remove > > only that part and make the line look like: > > > > printf("'%s' '%s'\n", ev->keyname, ev->keysymbol ); > > looks like solaris's printf doesnt handle null strings ala glibc - easy to > fix. > Thanks a lot! :)
> > E17 won't segfault while grabbing the key. That doesn't solve the > > problem though. Still, I can't get any text entry widget to reflect any > > kind of keypresses except cursor keys, backspace and delete, at least it > > doesn't segfault there (never did). > > > > Is there a way to find out the reason for this problem? > > well my guess is you need to put some debugging in e_entry.c in the > _e_entry_key_down_windows() and _e_entry_key_down_emacs() at the end where > they > handle generic key down events and look at the event string - see what it is > (event->string) and why that logic may be failing. > Will do so and report back. Thanks again, Falko ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel