GNOME Bugzilla – Bug 85525
Lockup caused by clicking on main window while writing followup
Last modified: 2006-06-18 05:15:45 UTC
Procedure: Read article containing first part of multi-part binary. <F> to followup. Click on main window. ==> Pan consumes 100% CPU and is unresponsive to stimuli. No tasks running; Pan is otherwise idle.
Created attachment 9264 [details] Runlog of activity leading up to lockup
I can't reproduce this bug, but the trace is pretty good. I'll look into this for 0.12.1. (BTW please just attach them as .txt files so that they're easier to read in a browser.)
Created attachment 9441 [details] Finally caught it... here's the backtrace!
Durnit... don't know what happened with the browser, but that attachment is *not* for this problem, it's for segfault-on-exit... please remove it if you can! :( Sorry...
The end of that runlog: ( text.c:0293: update_body_pane)(thread 0x814b7e0)(time 00:38:05)(depth 4) TRACE: + update_body_pane^M ( text.c:0224: append_text_buffer_nolock)(thread 0x814b7e0)(time 00:38:05)(depth 5) TRACE: + append_text_buffer_nolock ( text.c:0285: append_text_buffer_nolock)(thread 0x814b7e0)(time 00:38:05)(depth 4) TRACE: - append_text_buffer_nolock ( text.c:0300: update_body_pane)(thread 0x814b7e0)(time 00:38:05)(depth 3) TRACE: - update_body_pane ( identity-manager.c:0236: identity_manager_get_default)(thread 0x814b7e0)(time 00:38:05)(depth 4) TRACE: + identity_manager_get_default ( identity-manager.c:0183: identity_manager_get_identity)(thread 0x814b7e0)(time 00:38:05)(depth 5) TRACE: + identity_manager_get_identity ( identity-manager.c:0199: identity_manager_get_identity)(thread 0x814b7e0)(time 00:38:05)(depth 4) TRACE: - identity_manager_get_identity ( identity-manager.c:0245: identity_manager_get_default)(thread 0x814b7e0)(time 00:38:05)(depth 3) TRACE: - identity_manager_get_default ( identity-manager.c:0292:identity_manager_get_identities)(thread 0x814b7e0)(time 00:38:05)(depth 4) TRACE: + identity_manager_get_identities ( identity-manager.c:0302:identity_manager_get_identities)(thread 0x814b7e0)(time 00:38:05)(depth 3) TRACE: - identity_manager_get_identities ( identity-manager.c:0183: identity_manager_get_identity)(thread 0x814b7e0)(time 00:38:05)(depth 4) TRACE: + identity_manager_get_identity ( identity-manager.c:0199: identity_manager_get_identity)(thread 0x814b7e0)(time 00:38:05)(depth 3) TRACE: - identity_manager_get_identity ( text.c:0293: update_body_pane)(thread 0x814b7e0)(time 00:38:05)(depth 4) TRACE: + update_body_pane ( text.c:0224: append_text_buffer_nolock)(thread 0x814b7e0)(time 00:38:05)(depth 5) TRACE: + append_text_buffer_nolock ( text.c:0285: append_text_buffer_nolock)(thread 0x814b7e0)(time 00:38:05)(depth 4) TRACE: - append_text_buffer_nolock ( text.c:0300: update_body_pane)(thread 0x814b7e0)(time 00:38:05)(depth 3) TRACE: - update_body_pane ( group.c:0998: group_unref_articles)(thread 0x814b7e0)(time 00:38:05)(depth 4) TRACE: + group_unref_articles ( group.c:1039: group_unref_articles)(thread 0x814b7e0)(time 00:38:05)(depth 3) TRACE: - group_unref_articles ( gui.c:0218: gui_set_title_idle)(thread 0x814b7e0)(time 00:38:05)(depth 4) TRACE: + gui_set_title_idle ( articlelist.c:0288:articlelist_get_selected_count_nolock)(thread 0x814b7e0)(time 00:38:05)(depth 5) TRACE: + articlelist_get_selected_count_nolock ( articlelist.c:0292:articlelist_get_selected_count_nolock)(thread 0x814b7e0)(time 00:38:05)(depth 4) TRACE: - articlelist_get_selected_count_nolock ( gui.c:0250: gui_set_title_idle)(thread 0x814b7e0)(time 00:38:05)(depth 3) TRACE: - gui_set_title_idle (pan:26074): Gtk-CRITICAL **: file ../../gtk/gtktextiter.c: line 3525 (gtk_text_iter_set_line_offset): assertion `char_on_line <= chars_in_line' failed ( queue.c:1160: sockets_upkeep)(thread 0x81a1500)(time 00:38:20)(depth 1) TRACE: + socket_upkeep ( queue.c:1245: sockets_upkeep)(thread 0x81a1500)(time 00:38:20)(depth 0) TRACE: - socket_upkeep
0.12 branch is probably complete, so bumping these for investigation in 0.13.1
I can't duplicate this in cvs head (soon to be 0.12.93). Carl, I think this is fixed. I suspect it was caused by the way Pan handled reading a single part of a multipart binary in 0.12.0, which has been cleaned up a great deal. Please re-open if you can still tickle the problem, but based the way the code has changed between 0.11.94 and 0.12.93 I'm going to go out on a limb and mark this closed.