On Wed, Jul 9, 2008 at 12:58 PM, Sven Hartge <[EMAIL PROTECTED]> wrote:
> Um 09:09 Uhr am 09.07.08 schrieb Lars Lindner:
>
>> Thanks for the retest. This time it did help, the crash is now a line
>> below in feedlist_free(). Now we could solve this second issue by
>> another check, but I would like to ask you one thing first: can you
>> please determine how many times feedlist_free() is really called? I'd
>> suggest to set a breakpoint using gdb or to add a g_print("something")
>> at the start of feedlist_free().
>
>> I think the method is called twice in your case and this is not correct.
>
> You are right.
>
> Output of my test (annotations by me):
>
> ,----
> | [EMAIL PROTECTED]:~$ liferea
> | libnm_glib_nm_state_cb: dbus returned an error.
> |   (org.freedesktop.DBus.Error.ServiceUnknown) The name 
> org.freedesktop.NetworkManager was not provided by any .service files
>> start of: feedlist_free
>> ^^^^^^^^^^^^^^^^^^^^^^^ -> 1
> | (liferea:14969): GLib-CRITICAL **: g_source_remove: assertion `tag > 0' 
> failed
> |
> | (liferea:14969): GLib-CRITICAL **: g_hash_table_lookup: assertion 
> `hash_table != NULL' failed
> |
> | ** (liferea:14969): WARNING **: mozsupport_get_zoom(): Could not retrieve 
> browser...
> |
> | (liferea:14969): Gtk-CRITICAL **: gtk_tree_view_get_selection: assertion 
> `GTK_IS_TREE_VIEW (tree_view)' failed
> |
> | (liferea:14969): Gtk-CRITICAL **: gtk_tree_selection_unselect_all: 
> assertion `GTK_IS_TREE_SELECTION (selection)' failed
> |
> | ** (liferea:14969): CRITICAL **: feedlist_schedule_save_cb: assertion `NULL 
> != rootNode' failed
>> start of: feedlist_free
>> ^^^^^^^^^^^^^^^^^^^^^^^ -> 2
> | (liferea:14969): GLib-CRITICAL **: g_source_remove: assertion `tag > 0' 
> failed
> | **
> | ** ERROR:(node.c:515):node_foreach_child_full: assertion failed: (NULL != 
> node)
> | Aborted
> `----

Thanks for this debugging info. I think we'll need the extra check to avoid the
double free caused by calling feedlist_free() twice. This is the least invasive
solution.

Can you please retest using the attached patch?

With Best Regards,
Lars Lindner

Attachment: feedlist.c.patch
Description: Binary data

Reply via email to