All pastes #947381 Raw Edit

Unnamed

public text v1 · immutable
·published 2008-03-18 13:42 UTC
rendered paste body
(gdb) step
camel_message_info_ptr (mi=0x822ca70, id=0) at camel-folder-summary.c:3667
3667            g_static_rec_mutex_lock (&global_lock);
(gdb) next
3669            if (mi==NULL || mi->refcount <= 0)
(gdb) print *mi
$14 = {summary = 0x8096a58, refcount = 2, uid = 0x825f9e8 "GmailId11835e3e5eb41c2c"}
(gdb) next
3673                    if (mi->summary)
(gdb) print mi->summary
$15 = (CamelFolderSummary *) 0x8096a58
(gdb) print * (CamelFolderSummary *) mi->summary
$16 = {parent = {klass = 0x0, hooks = 0x0, ref_count = 0, flags = 2}, priv = 0x0, version = 0, flags = 0, nextuid = 0, 
  time = 0, saved_count = 0, unread_count = 0, deleted_count = 0, junk_count = 0, message_info_size = 0, content_info_size = 0, 
  summary_path = 0x0, build_content = 0, messages = 0x0, expunged = 0x0, uidhash = 0x0, folder = 0x0, meta_summary = 0x0, 
  file = 0x0, filepos = 0x0, hash_lock = 0x0, dump_lock = 0x0, in_reload = 0, had_expunges = 0, idx = 0, 
  set_extra_flags_func = 0}
(gdb) 


VS

onst void *
camel_message_info_ptr(const CamelMessageInfo *mi, int id)
{
	const void * retval;

	g_static_rec_mutex_lock (&global_lock);

	if (mi==NULL || mi->refcount <= 0)
		retval = NULL;
	else
	{
		if (mi->summary)
			if (((CamelObject*)mi->summary)->ref_count > 0 && CAMEL_IS_FOLDER_SUMMARY (mi->summary))
				retval = ((CamelFolderSummaryClass *)((CamelObject *)mi->summary)->klass)->info_ptr(mi, id);
			else
				retval = NULL;
		else
			retval = info_ptr(mi, id);
	}

	g_static_rec_mutex_unlock (&global_lock);

	return retval;
}


----


TnyCamelQueue: tny_camel_folder_refresh_async_default is off the stage, done performing
[Thread -1247482992 (LWP 26389) exited]
[Switching to Thread -1228892496 (LWP 25961)]

Breakpoint 3, tny_camel_folder_get_headers_async_default (self=0xb380eab0, headers=0x835f6b0, refresh=0, 
    callback=0x804e2a1 <set_folder_cb>, status_callback=0x804c86b <status_update>, user_data=0x8082800)
    at tny-camel-folder.c:2070
2070            TnyCamelFolderPriv *priv = TNY_CAMEL_FOLDER_GET_PRIVATE (self);
(gdb) next
2073            info = g_slice_new (GetHeadersInfo);
(gdb) 
2074            info->session = TNY_FOLDER_PRIV_GET_SESSION (priv);
(gdb) 
2075            info->self = self;
(gdb) 
2076            info->headers = headers;
(gdb) 
2077            info->refresh = refresh;
(gdb) 
2078            info->callback = callback;
(gdb) 
2079            info->user_data = user_data;
(gdb) 
2080            info->err = NULL;
(gdb) 
2083            g_object_ref (info->self);
(gdb) 
2084            g_object_ref (info->headers);
(gdb) 
2086            _tny_camel_queue_cancel_remove_items (TNY_FOLDER_PRIV_GET_QUEUE (priv), 
(gdb) 
2090            _tny_camel_queue_launch_wflags (TNY_FOLDER_PRIV_GET_QUEUE (priv), 
(gdb) break tny_camel_folder_get_headers_async_thread
Breakpoint 4 at 0xb7458962: file tny-camel-folder.c, line 2021.

thread needs to start here

(gdb) cont
Continuing.
[New Thread -1247482992 (LWP 26413)]
tny_gtk_header_list_model_finalize


Finalize happened while thread was not yet started


Breakpoint 1, camel_folder_summary_finalize (obj=0x8248980) at camel-folder-summary.c:337
337             CamelFolderSummary *s = (CamelFolderSummary *)obj;
(gdb) bt
#0  camel_folder_summary_finalize (obj=0x8248980) at camel-folder-summary.c:337
#1  0xb6f43053 in camel_object_unref (vo=0x8248980) at camel-object.c:920
#2  0xb6ef224a in camel_folder_finalize (object=0x8392000) at camel-folder.c:289
#3  0xb6f43053 in camel_object_unref (vo=0x8392000) at camel-object.c:920
#4  0xb7454f70 in unload_folder_no_lock (priv=0xb380eac0, destroy=0) at tny-camel-folder.c:463
#5  0xb745e2f5 in tny_camel_folder_uncache_nl (self=0xb380eab0) at tny-camel-folder.c:4193
#6  0xb745e35e in _tny_camel_folder_unreason (priv=0xb380eac0) at tny-camel-folder.c:4227
#7  0xb744e491 in tny_camel_header_finalize (object=0x8114630) at tny-camel-header.c:306
#8  0xb759daec in g_object_unref () from /usr/lib/libgobject-2.0.so.0
#9  0xb74d6789 in g_ptr_array_foreach () from /usr/lib/libglib-2.0.so.0
#10 0xb748c886 in tny_gtk_header_list_model_finalize (object=0x821a180) at tny-gtk-header-list-model.c:1101
#11 0xb759daec in g_object_unref () from /usr/lib/libgobject-2.0.so.0
#12 0xb7b9e680 in gtk_tree_model_sort_set_model (tree_model_sort=0x8216240, child_model=0x0)
    at /build/buildd/gtk+2.0-2.12.0/gtk/gtktreemodelsort.c:1908
#13 0xb7b9e85f in gtk_tree_model_sort_finalize (object=0x8216240) at /build/buildd/gtk+2.0-2.12.0/gtk/gtktreemodelsort.c:345
#14 0xb759daec in g_object_unref () from /usr/lib/libgobject-2.0.so.0
#15 0xb7bb2f91 in IA__gtk_tree_view_set_model (tree_view=0x80b7150, model=0x8216380)
    at /build/buildd/gtk+2.0-2.12.0/gtk/gtktreeview.c:10780
#16 0x0804ca56 in set_header_view_model (header_view=0x80b7150, model=0x8216380) at tny-demoui-summary-view.c:160
#17 0x0804e689 in on_mailbox_view_tree_selection_changed (selection=0x80b1980, user_data=0x8082800)
    at tny-demoui-summary-view.c:955
#18 0xb75a8c09 in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0
#19 0xb759b772 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#20 0xb75ac323 in ?? () from /usr/lib/libgobject-2.0.so.0
#21 0x080bb618 in ?? ()
#22 0x00000000 in ?? ()
(gdb)