pan-users
[Top][All Lists]
Advanced

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

Re: [Pan-users] speed of "Get new articles"


From: Charles Kerr
Subject: Re: [Pan-users] speed of "Get new articles"
Date: Sat, 30 Nov 2002 07:13:08 -0800
User-agent: Mutt/1.3.20i

On Sat, Nov 30, 2002 at 12:38:25PM +0100, Gert wrote:
> Charles Kerr (address@hidden) wrote:
> > On Wed, Nov 27, 2002 at 10:36:03PM +0100, Gert wrote:
> > > Hi,
> > > 
> > > I have a question. Do you think it is possible to shorten the time pan
> > > spends processing the newsgroup after getting the new headers? I am
> > > subscribed to a binary newsgroup which has about 300.000 articles, and I
> > > just clicked on the get new article headers menu item. It started
> > > downloading, which it finished after a minute of 5, fetching the 90.000
> > > new headers. That was 29 minutes ago (and yes, this problem is common
> > > ;).

> > What does the status bar at the bottom say?
> 
> Nothing at all, the GUI won't update.

What did it last say?

> > Try attaching to the running pan process with gdb and hitting
> > ctrl-c to pause it every few minutes, and get a backtrace.
> > Where is Pan spending its time during these 30 minutes?
> > 
> > It will be practically impossible to fix this without helpers...
> 
> Got one here ;)
> Ok,I just updated my headers, but this time (in gdb) it only took about
> 8 minutes. Main difference is that a lot of articles seemed to be
> missing after I started pan. (My guess is it's a feature, pan removes
> all messages from the window that aren't served by the newsserver? -
> good feature anyways).
> I did some backtraces during the CPU cycles, and continued to get traces
> like:
> 
> #0  0x40524991 in nanosleep () from /lib/libc.so.6
> #1  0x404787d2 in __pthread_timedsuspend_new () from /lib/libpthread.so.0
> #2  0x40475286 in pthread_cond_timedwait_relative () from /lib/libpthread.so.0
> #3  0x40475408 in pthread_cond_timedwait () from /lib/libpthread.so.0
> #4  0x4046b7ab in _init () from /usr/lib/libgthread-2.0.so.0
> #5  0x0807efb0 in gtk_widget_grab_focus ()
> #6  0x4038d1d0 in g_static_private_free () from /usr/lib/libglib-2.0.so.0
> #7  0x40475fa5 in pthread_start_thread () from /lib/libpthread.so.0
> #8  0x40475fed in pthread_start_thread_event () from /lib/libpthread.so.0
> 
> Which I thing is just a worker thread. A backtrace on thread #1 (gdb
> cmd "t 1") resulted in the following backtrace:

Best to get backtraces on _all_ the threads.
See http://pan.rebelbase.com/bugs/ for instructions.

> #0  0x404f88dd in memmove () from /lib/libc.so.6
> #1  0x40364539 in g_ptr_array_remove_index () from /usr/lib/libglib-2.0.so.0
> #2  0x40364641 in g_ptr_array_remove () from /usr/lib/libglib-2.0.so.0
> #3  0x0805740a in gtk_widget_grab_focus ()
> #4  0x08065a4c in gtk_widget_grab_focus ()
> #5  0x0808b449 in gtk_widget_grab_focus ()
> #6  0x40379f98 in g_main_context_wakeup () from /usr/lib/libglib-2.0.so.0
> #7  0x40377a19 in g_get_current_time () from /usr/lib/libglib-2.0.so.0
> #8  0x40378837 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
> #9  0x40378c13 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
> #10 0x403792ef in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
> #11 0x400d000f in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
> #12 0x08074031 in gtk_widget_grab_focus ()
> #13 0x4049d0bf in __libc_start_main () from /lib/libc.so.6
> 
> Perhaps this suggests a gtk bug? Do I even have the right thread (24 of
> them are running or so)? My experience with gdb-ing threaded programs is
> limited (make it zero ;)...
> 
> Hope it helps?

Hmm, it's a start, but doesn't give much on its own, sorry.
There are two things we could try:

(1) get backtraces on all threads every minute or so, or

(2) run with --debug and watch what scrolls by in the console during
    these long periods of Pan freezing.  

The second is probably the faster choice....




reply via email to

[Prev in Thread] Current Thread [Next in Thread]