Re: [Evolution-hackers] e-d-s refusing to exit
- From: Ross Burton <ross burtonini com>
- To: Not Zed <notzed ximian com>
- Cc: Evolution Hackers <evolution-hackers lists ximian com>
- Subject: Re: [Evolution-hackers] e-d-s refusing to exit
- Date: Tue, 09 Dec 2003 13:14:01 +0000
On Mon, 2003-12-08 at 13:36, Not Zed wrote:
> > So I had a quick poke into evolution-data-server not actually
> > terminating when it says it is... it turns out that main() should be
> > returning (it reaches the return) but there are three threads still
> > running... something isn't shutting down.
> >
> > Anyone know an easy way to debug this? is there an way to get
> > information about what thread was started from where?
>
> Well, the entry point to the thread will show where in the code it was
> invoked (depending on how many calls to that entry point are in the
> code, usually not many). i.e. from the backtrace. Unless you're
> using the non-npt threads, i'm not sure if you can get thread
> parent/child relationships (or easily).
Right, this is the output from running e-d-s inside gdb:
...
evolution-data-server-Message: termination_handler(): Terminating the Server. Have a nice day.
in server_log_handler
[hit control-c]
Program received signal SIGINT, Interrupt.
0x4070461a in poll () from /lib/libc.so.6
(gdb) thread apply all bt
Thread 3 (Thread 16386 (LWP 14536)):
#0 0x4070461a in poll () from /lib/libc.so.6
#1 0x405f3df2 in g_main_loop_get_context () from /usr/lib/libglib-2.0.so.0
#2 0x405f32cb in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#3 0x405f39b0 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#4 0x404c4b02 in link_thread_io_context () from /usr/lib/libORBitCosNaming-2.so.0
#5 0x406076f1 in g_static_private_free () from /usr/lib/libglib-2.0.so.0
#6 0x4055ce31 in pthread_start_thread () from /lib/libpthread.so.0
#7 0x4055ceaf in pthread_start_thread_event () from /lib/libpthread.so.0
#8 0x4070d30a in clone () from /lib/libc.so.6
Thread 2 (Thread 32769 (LWP 14535)):
#0 0x4070461a in poll () from /lib/libc.so.6
#1 0x4055cb30 in __pthread_manager () from /lib/libpthread.so.0
#2 0x4055cd37 in __pthread_manager_event () from /lib/libpthread.so.0
#3 0x4070d30a in clone () from /lib/libc.so.6
Thread 1 (Thread 16384 (LWP 14533)):
#0 0x4055f5d4 in __pthread_sigsuspend () from /lib/libpthread.so.0
#1 0x4055f398 in __pthread_wait_for_restart_signal () from /lib/libpthread.so.0#2 0x00000020 in ?? ()
#3 0xbffff3b4 in ?? ()
#4 0x404d26bc in ?? () from /usr/lib/libORBit-2.so.0
#0 0x4070461a in poll () from /lib/libc.so.6
(gdb)
I see that threads 1 and 3 involve ORBit...
This is where I admit complete ignorance of debugging ORBit/bonobo.
Ross
--
Ross Burton mail: ross burtonini com
jabber: ross burtonini com
www: http://www.burtonini.com./
PGP Fingerprint: 1A21 F5B0 D8D0 CFE3 81D4 E25A 2D09 E447 D0B4 33DF
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]