[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [E-devel] Solaris edje troubles



On Mon, Nov 20, 2006 at 08:03:36AM +0900, Carsten Haitzler wrote:
> On Sun, 19 Nov 2006 15:51:45 +0100 Falko Schmidt
> <kaethorn@stud.uni-stuttgart.de> babbled:
> 
> > On Thu, Nov 16, 2006 at 10:41:49AM +0900, Carsten Haitzler wrote:
> > > On Wed, 15 Nov 2006 20:14:17 +0100 Falko Schmidt
> > > <kaethorn@stud.uni-stuttgart.de> babbled:
> > > 
> > > > Hi all,
> > > > 
> > > > I'm trying to compile enlightenment (CVS snapshot or fdo tarballs) on 
> > > > current Solaris Express with gcc 3.4.5 from blastwave and 3.4.6 from 
> > > > sunfreeware.com. EFL compiles fine but as soon as I compile 
> > > > enlightenment edje_cc segfaults:
> > > > 
> > > > #0  0xfed52e74 in evas_list_append (list=0x3dce8, data=0x40e48)
> > > >     at evas_list.c:90
> > > > #1  0x00022e78 in source_fetch_file (
> > > >     fil=0xffbff285 "../../data/init/default.edc", 
> > > >     filname=0xffbfe2c0 "default.edc") at edje_cc_sources.c:85
> > > > #2  0x000237f0 in source_fetch () at edje_cc_sources.c:211
> > > > #3  0x000132b0 in main (argc=15, argv=0xffbff03c) at
> > > >     edje_cc.c:180
> > > > 
> > > > Any hints are greatly appreciated.
> > > 
> > > run it through valgrind and see. that doesnt make any sense (that bt) as
> > > evas_list is a very proven bit of code. the only thing that makes sens is it
> > > got corrupt - but how? edje_cc hasnt changed recently so it would break.
> > > need moe info.
> > > 
> > Thanks for the answer. After some more digging I found out that the same
> > happens with the test applications for evas and ecore in test/orig,
> > telling me something about "Bus Error" before segfaulting. I think it
> > has something to do with the SunOS linker of 2.11. After switching back
> > to Solaris 10 (2.10) the problem was gone (using the same build tools).
> 
> ok- bizarre. well valgrind reports no bitching here on linux - everything has
> worked well for a long time and still does. i suspect you may want to report
> this to sun and see what happens.
> 
> again - a valgrind run would be nice.
>
Problem is that there's no valgrind for Sparc and I'll still have to
find a proper substitue. Anyway, it didn't happen again yet so it might
have been my fault for installing conflicting cc's and binutils or any
other source of errors that I might have done while getting it to build
in the first place.

> > 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