Does anyone know what's going on with Linux stack traces?
Vladimir Panteleev
vladimir at thecybershadow.net
Fri Feb 8 01:34:09 PST 2013
Program:
import std.file; void main() { readText("nonexisting"); }
On my Kubuntu 12.10 VM, I see this when I compile and run it:
std.file.FileException at std/file.d(214): nonexistent: No such file
or directory
----------------
crash(void[] std.file.read(const(char[]), uint)+0x50) [0x8082a00]
crash(immutable(char)[]
std.file.readText!(immutable(char)[]).readText(const(char[]))+0x16)
[0x80807d2]
crash(_Dmain+0x14) [0x80807b8]
crash(extern (C) int rt.dmain2._d_run_main(int, char**, extern
(C) int function(char[][])*).void runMain()+0x10) [0x8081d74]
crash(extern (C) int rt.dmain2._d_run_main(int, char**, extern
(C) int function(char[][])*).void tryExec(scope void
delegate())+0x18) [0x8081a20]
crash(extern (C) int rt.dmain2._d_run_main(int, char**, extern
(C) int function(char[][])*).void runAll()+0x32) [0x8081db2]
crash(extern (C) int rt.dmain2._d_run_main(int, char**, extern
(C) int function(char[][])*).void tryExec(scope void
delegate())+0x18) [0x8081a20]
crash(_d_run_main+0x121) [0x80819f1]
crash(main+0x14) [0x80818c4]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0xf75014d3]
----------------
However, on a Gentoo and an Ubuntu server, I get this:
std.file.FileException at std/file.d(214): nonexisting: No such file
or directory
----------------
crash() [0x804c010]
crash() [0x8049de2]
crash() [0x8049dc8]
crash() [0x804b384]
crash() [0x804b030]
crash() [0x804b3c2]
crash() [0x804b030]
crash() [0x804b001]
crash() [0x804aed4]
/lib32/libc.so.6(__libc_start_main+0xe5) [0xf75cfbb5]
crash() [0x8049ce1]
----------------
For some reason, backtrace_symbols is returning an empty string.
addr2line has no issue with decoding the addresses, however.
If I copy a binary compiled on one machine to another, its
behavior is preserved, so it appears to be something in the build
environment (and not the execution environment). It's not the D
compiler... does anyone know what might cause this? (gcc / ld
version?)
More information about the Digitalmars-d
mailing list