[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [therion-users] Re: therion does a seg fault when I try and run it
From: |
Michael Lake |
Subject: |
Re: [therion-users] Re: therion does a seg fault when I try and run it |
Date: |
Sun, 31 Aug 2003 13:13:49 +1000 |
User-agent: |
Mozilla/5.0 (X11; U; Linux alpha; en-US; rv:1.0.0) Gecko/20020622 Debian/1.0.0-0.woody.1 |
Wookey wrote in reply to Mikes question:
What suggestions now to debug this? I am keen to get this working on
both PPC and Alpha.
Run it under strace to see where it actually dies. Look at the code giving
the char/unsigned char warnings - that's very likely to break something and
is suggestive of 'x86isms' in the code.
I have one strace output as its small (trace1.txt, 3.5k) for 'therion -v'.
The other strace (trace2.txt , 100k) is up on my website and its from
'therion' running in the therion supplied demo directory.
http://www.speleonics.com.au/mikes/trace2.txt
I havent used strace before but I see these errors:
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or
directory)
I have /etc/ld.so.cache but no ld.so.preload
I see that here its writing the wrong string to output (stdout) 1 but
the correct version number to output 3 (therion.log)
write(1, "therion gduxs:l:qLvhip:", 23) = 23
write(1, "\n", 1) = 1
write(3, "therion 0.2.15\n", 15) = 15
and indeed therion.log does say "therion 0.2.15"
I presume its best to debug first the simple :therion -v" rather than
the therion running the data set in demo.
Mike
--
Mike Lake
Caver, Linux enthusiast and interested in anything technical.
Trace on therion
----------------
Done by: Mike Lake
Date: 30th Aug 2003
Architecture: PowerPC (Ti PowerBook G4)
Command line:
demo$ strace -o trace1.txt therion -v
Program Output
demo$ therion -v
therion gduxs:l:qLvhip:
demo$
strace Output
execve("/usr/bin/therion", ["therion", "-v"], [/* 30 vars */]) = 0
uname({sys="Linux", node="casteret", ...}) = 0
brk(0) = 0x100cdbf4
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x30014000
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(0x3, 0x7fffecd8) = 0
mmap(NULL, 24012, PROT_READ, MAP_PRIVATE, 3, 0) = 0x30015000
close(3) = 0
open("/usr/lib/libstdc++-libc6.2-2.so.3", O_RDONLY) = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\2J\340"..., 1024) =
1024
fstat64(0x3, 0x7fffece0) = 0
mmap(0xff89000, 418356, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0xff89000
mprotect(0xffd1000, 123444, PROT_NONE) = 0
mmap(0xffd9000, 77824, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x40000)
= 0xffd9000
mmap(0xffec000, 12852, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffec000
close(3) = 0
open("/lib/libm.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\0\232"..., 1024) =
1024
fstat64(0x3, 0x7fffecc0) = 0
mmap(0xfef2000, 551264, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xfef2000
mprotect(0xff2d000, 309600, PROT_NONE) = 0
mmap(0xff32000, 290816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x30000) = 0xff32000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\2]\264"..., 1024) =
1024
fstat64(0x3, 0x7fffeca0) = 0
mmap(0xfd97000, 1353556, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xfd97000
mprotect(0xfead000, 214868, PROT_NONE) = 0
mmap(0xfeb7000, 155648, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x110000) = 0xfeb7000
mmap(0xfedd000, 18260, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xfedd000
close(3) = 0
munmap(0x30015000, 24012) = 0
brk(0) = 0x100cdbf4
brk(0x100cdc1c) = 0x100cdc1c
brk(0x100ce000) = 0x100ce000
brk(0x100cf000) = 0x100cf000
brk(0x100d1000) = 0x100d1000
brk(0x100d3000) = 0x100d3000
brk(0x100d4000) = 0x100d4000
brk(0x100d6000) = 0x100d6000
brk(0x100d7000) = 0x100d7000
brk(0x100d8000) = 0x100d8000
brk(0x100d9000) = 0x100d9000
brk(0x100da000) = 0x100da000
brk(0x100db000) = 0x100db000
brk(0x100dd000) = 0x100dd000
time(NULL) = 1062299268
open("therion.log", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
fstat64(0x3, 0x7ffff138) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x30015000
write(1, "therion gduxs:l:qLvhip:", 23) = 23
write(1, "\n", 1) = 1
write(3, "therion 0.2.15\n", 15) = 15
close(3) = 0
munmap(0x30015000, 4096) = 0
exit(0) = ?