GNOME Bugzilla – Bug 111790
assertion `pan_file_exists (filename_tmp)' failed
Last modified: 2006-06-18 05:01:27 UTC
I get this message in the log file at random and have done for a while now. Using CVS from today it just happened again. Log snippet will be attached. Dave
Created attachment 16087 [details] Log file from Pan
Another one from CVS of 15th May
Created attachment 16631 [details] Pan Log file
This assertion is only in one place: pan_file_swap_datafile (filename_tmp, filename) that tries to move the tmp file to the real one. This is called from all over, in file-grouplist.c, newsrc-port.c, filter-xml.c, identity-xml.c, and rule-xml.c, so it'll take some looking through to find the problem. If this is still happening for you, Dave, it might be easier for you to run Pan in gdb, set a breakpoint for log_error_breakpoint, and wait for the error to show up again, and attach a backtrace. Would this be possible?
Yes, it's still happening (but not as frequently as before I think). I'll get you a backtrace. Dave
Created attachment 18697 [details] partial backtrace. note concurrent calls to save_groups_to_file().
Add'l info: the above backtrace was generated by getting new headers for all subscribed groups.
Chris: I wonder how important it is, actually, to invoke server_save_grouplist_if_dirty() from task_headers. The only thing it does here is update the article counts.
I think you're right. Note that task-headers unrefs the articles just after that call, which also calls server_save_grouplist_if_dirty (but protected by a mutex, preventing the problem). Fixed in CVS: http://cvs.gnome.org/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&subdir=pan/pan&command=DIFF_FRAMESET&file=task-headers.c&rev1=1.148&rev2=1.149&root=/cvs/gnome