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

Segfault in gnome_program_init



Greetings,

Since apt-get dist-upgrading in testing about a week ago, the following
gnome_program_init command has segfaulted with the GNOME error dialog --
even when it's the first line of code in main()!  (Or rather, the
second, after a printf().)

gnome_program_init ("TSView", VERSION, LIBGNOMEUI_MODULE, argc, argv, NULL);

I'll note that the libluminate library which this program links has had
trouble with prelink and also with ldd on ARM which I haven't been able
to track down.  For details see:
http://lists.debian.org/debian-devel/2004/09/msg00616.html which
received no reply, and bug #271650.

Also, running this program tsview-ng consumes hundreds of megs of RAM
even before this line is executed, and has for some time now.  On the
other hand, running another binary in the illuminator tree which links
libluminate but not the GNOME libs runs just fine, no hundreds of megs,
no segfault.

strace and watching the multiload applet show that the memory
consumption happens right between the following two calls:

[about 5 mprotect calls]
mprotect(0x40018000, 704512, PROT_READ|PROT_EXEC) = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0x4e5466a0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0

The segfault happens here:

open("/tmp/gconfd-hazelsct/lock/ior", O_RDONLY) = 13
fstat64(13, {st_mode=S_IFREG|0700, st_size=625, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4e80e000
read(13, "8644:IOR:010000001500000049444c3"..., 4096) = 625
read(13, "", 4096)                      = 0
close(13)                               = 0
munmap(0x4e80e000, 4096)                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 13
fcntl64(13, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
fcntl64(13, F_SETFD, FD_CLOEXEC)        = 0
connect(13, {sa_family=AF_FILE, path="/tmp/orbit-hazelsct/linc-21c4-0-2ab997ee1ccf4"}, 48) = 0
writev(13, [{"GIOP\1\2\1\0T\0\0\0", 12}, {"P\363\377\277\3\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\231H\350"..., 84}], 2) = 96
poll([{fd=6, events=POLLIN}, {fd=13, events=POLLIN|POLLPRI, revents=POLLIN}], 2, -1) = 1
read(13, "GIOP\1\2\1\1(\0\0\0", 12)     = 12
read(13, "P\363\377\277\0\0\0\0\1\0\0\0\1\0\0\0\f\0\0\0\1\1\1\1\1"..., 40) = 40
--- SIGSEGV (Segmentation fault) @ 0 (0) ---

What could be going wrong?

Thanks,

-Adam P.

GPG fingerprint: D54D 1AEE B11C CE9B A02B  C5DD 526F 01E8 564E E4B6

Welcome to the best software in the world today cafe!
http://lyre.mit.edu/~powell/The_Best_Stuff_In_The_World_Today_Cafe.ogg



Reply to: