Re: [Evolution-hackers] e-d-s refusing to exit



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]