GNOME Bugzilla – Bug 357735
crash when updating headers and selecting a range of messages to Save As...
Last modified: 2006-10-07 14:25:50 UTC
Steps to reproduce: 1. Started with an "Update headers in all subscribed groups" 2. Deleted a few messages while the update was running as this used to crash for me. See 356206. 3. Selecting a range and delete did not crash, so I selected another range and right-clicked to download. Download dialog box was drawn but application was core dumping. Stack trace: (gdb) thread apply all bt
+ Trace 73271
Thread 3 (LWP 100121)
Thread 2 (Thread 0x8293000 (runnable))
Thread 1 (Thread 0x9120c00 (LWP 100072))
Other information: % uname -a FreeBSD Grumpy.DynDNS.org 6.1-STABLE FreeBSD 6.1-STABLE #3: Wed Sep 6 16:30:46 CDT 2006 dkelly@Grumpy.DynDNS.org:/usr5/obj/usr/src/sys/OPUS i386
*** Bug 357737 has been marked as a duplicate of this bug. ***
*** Bug 357911 has been marked as a duplicate of this bug. ***
A lot of people seem to be hitting this bug. :)
I strongly suspect this is a side-effect of the corrupted data files where duplicates were allowed in 0.111-0.112. Could you "rm $HOME/.pan2/groups/*" and see if that makes the errors go away?
(In reply to comment #4) > I strongly suspect this is a side-effect of the corrupted > data files where duplicates were allowed in 0.111-0.112. > > Could you "rm $HOME/.pan2/groups/*" and see if that > makes the errors go away? I did have duplicates in my header listings. Have since deleted all of ~/.pan2/, upgraded to 0.115, and crashed similarly again in bug 358661.
Thanks for testing that. Well, that's one theory down. :|
*** Bug 358661 has been marked as a duplicate of this bug. ***
i think i'm getting a duplicate of this bug. 1. mark all headers as read in a group, except for some incompletes. 2. Select download new headers. 3. download headers task is added to bottom of task list. 4. I select that task, and click the top button. 5. At the end of the update to the headers. pan aborts. i did start pan from a terminal and save the text. /# /usr/local/bin/pan pan: task-pane.cc:159: virtual void pan::TaskPane::on_queue_task_removed(pan::Queue&, pan::Task&, int): Assertion `list_index == index' failed. Aborted
The way i have been getting around the abort in comment #8 is to make sure that all articles including incompletes are marked as read. then the group shows no unreads, and the new header download completes successfully.
*** Bug 353622 has been marked as a duplicate of this bug. ***
Created attachment 74157 [details] [review] 0.115 patch Aaaaaaaah, I see the problem now. This patch should fix it. Also has a small Quark tweak I noticed while testing this... the patch avoids creating temporary StringViews when testing a Quark and StringView for equality.
Could someone test & confirm this fix?
I don't observe the crash anymore, but I am not sure that my context, deleting a post for which headers are still being retrieved, is sufficient to trigger it.
Chris: that's the _exact_ trigger for this bug -- deleting articles during an xover. That's what all the backtraces are caused by. The lookup table calls find_article() on the Message-Id that xover has cached, and then dereferences the Article pointer without first checking to make sure it's non-null. whansard: the bug in comment #8 is a valid & separate issue though. Could you open a new bugzilla for it?
whansard: the bug in comment #8 is a valid & separate issue though. Could you open a new bugzilla for it? yes i can. (and i had just finished compiling pan with this patch and was about to test it. I think i will anyway.)
OK, it's just that it was not obvious that the conditions avoided by all other additional checks were not the culprit. And that I'm not used to technical usenet terminology such as "xover" (in spite of the file and function names) :-)