[Rhythmbox-devel] assertion g_hash_table_remove in remove_child hit



Hello,

I'm hitting this assertion in rhyhtmbox. I'm using the current git
version 3a5b74ee288e52255ee3786f89e389289c22d756 .

static gboolean
remove_child (RhythmDBTreeProperty *parent,
	      gconstpointer data)
{
->	g_assert (g_hash_table_remove (parent->children, data));
	if (g_hash_table_size (parent->children) <= 0) {
		return TRUE;
	}
	return FALSE;
}

bug or feature?

kind regards
thomas

#0  0xf7750430 in __kernel_vsyscall ()
No symbol table info available.
#1  0x43d4198f in raise () from /lib/libc.so.6
No symbol table info available.
#2  0x43d432d5 in abort () from /lib/libc.so.6
No symbol table info available.
#3  0x4755407f in g_assertion_message (domain=0xf76fb117 "RhythmDB", file=0xf76fb17d "rhythmdb-tree.c", line=1517, func=0xf76fc176 "remove_child", message=<optimized out>) at gtestutils.c:1425
        lstr = "1517\000QSG\306\325TG\364\277`G\034\327TG\a\034\240\ns[ZG\364\277`G"
        s = 0xaa76c40 "\250n\247\n\020\244\353C:ERROR:rhythmdb-tree.c:1517:remove_child: assertion failed: (g_hash_table_remove (parent->children, datax"
#4  0x47554610 in g_assertion_message_expr (domain=0xf76fb117 "RhythmDB", file=0xf76fb17d "rhythmdb-tree.c", line=1517, func=0xf76fc176 "remove_child", expr=0xf76fba44 "g_hash_table_remove (parent->children, data)") at gtestutils.c:1436
        s = <optimized out>
#5  0xf76b06c0 in remove_child (parent=0xf0d47400, data=0xf0d8b120) at rhythmdb-tree.c:1517
        __PRETTY_FUNCTION__ = "remove_child"
#6  0xf76b075e in remove_entry_from_album (db=0x984b050 [RhythmDBTree], entry=0xf0d8b120) at rhythmdb-tree.c:1538
        table = 0xa030208
        __PRETTY_FUNCTION__ = "remove_entry_from_album"
#7  0xf76b0e13 in rhythmdb_tree_entry_delete (adb=0x984b050 [RhythmDBTree], entry=0xf0d8b120) at rhythmdb-tree.c:1689
        db = 0x984b050 [RhythmDBTree]
        __PRETTY_FUNCTION__ = "rhythmdb_tree_entry_delete"
#8  0xf76995e0 in rhythmdb_entry_delete (db=0x984b050 [RhythmDBTree], entry=0xf0d8b120) at rhythmdb.c:3712
        klass = 0x97def70
        __PRETTY_FUNCTION__ = "rhythmdb_entry_delete"
        __FUNCTION__ = "rhythmdb_entry_delete"
#9  0xf76abac3 in song_update_availability (entry_type=0x9777aa0 [RhythmDBSongEntryType], entry=0xf0d8b120, avail=RHYTHMDB_ENTRY_AVAIL_NOT_FOUND) at rhythmdb-song-entry-types.c:171
        db = 0x984b050 [RhythmDBTree]
        __FUNCTION__ = "song_update_availability"
        __PRETTY_FUNCTION__ = "song_update_availability"
#10 0xf76aad04 in rhythmdb_entry_update_availability (entry=0xf0d8b120, avail=RHYTHMDB_ENTRY_AVAIL_NOT_FOUND) at rhythmdb-entry-type.c:125
        etype = 0x9777aa0 [RhythmDBSongEntryType]
        klass = 0x97ea948
#11 0xf7695251 in rhythmdb_process_stat_event (db=0x984b050 [RhythmDBTree], event=0xf0dc3140) at rhythmdb.c:2103
        entry = 0xf0d8b120
        action = 0x43ecfc50
        file_type = 157574984
        __FUNCTION__ = "rhythmdb_process_stat_event"
        __PRETTY_FUNCTION__ = "rhythmdb_process_stat_event"
#12 0xf76964d7 in rhythmdb_process_one_event (event=0xf0dc3140, db=0x984b050 [RhythmDBTree]) at rhythmdb.c:2505
        free = 1
        __FUNCTION__ = "rhythmdb_process_one_event"
#13 0xf76d3c2c in rb_async_queue_watch_dispatch (source=0x97f17f0, callback=0xf76963e2 <rhythmdb_process_one_event>, user_data=0x984b050) at rb-async-queue-watch.c:85
        watch = 0x97f17f0
        cb = 0xf76963e2 <rhythmdb_process_one_event>
        item = 0xf0dc3140
#14 0x4752e62f in g_main_dispatch (context=0x9646748) at gmain.c:2441
        dispatch = 0xf76d3bd1 <rb_async_queue_watch_dispatch>
        was_in_call = 0
        user_data = 0x984b050
        callback = 0xf76963e2 <rhythmdb_process_one_event>
        cb_funcs = 0x4760c33c
        cb_data = 0x9800dc0
        current_source_link = {data = 0x97f17f0, next = 0x0}
        need_destroy = <optimized out>
        source = 0x97f17f0
        current = 0x9811de0
        i = <optimized out>
#15 g_main_context_dispatch (context=0x9646748) at gmain.c:3011
No locals.
#16 0x4752ed70 in g_main_context_iterate (context=0x9646748, block=1196677136, dispatch=1, self=0x963d080) at gmain.c:3089
        max_priority = 300
        timeout = 0
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = <optimized out>
        fds = <optimized out>
        __PRETTY_FUNCTION__ = "g_main_context_iterate"
#17 0x4752f3a7 in g_main_loop_run (loop=0x98b67d0) at gmain.c:3297
        self = 0x963d080
        __PRETTY_FUNCTION__ = "g_main_loop_run"
#18 0x460f8155 in gtk_main () at gtkmain.c:1362
        loop = 0x98b67d0
#19 0x4600af65 in gtk_application_run_mainloop (application=0x974a028 [RBShell]) at gtkapplication.c:115
No locals.
#20 0x4f8de55c in g_application_run (application=0x974a028 [RBShell], argc=2, argv=0xff830774) at gapplication.c:1323
        arguments = 0x98b67d0
        status = 0
        i = <optimized out>
        __PRETTY_FUNCTION__ = "g_application_run"
#21 0x08048e7a in main (argc=1, argv=0xff830774) at main.c:99
        shell = 0x974a028 [RBShell]
        autostarted = 0
        desktop_file_path = 0x9645600 ""
        new_argc = 2
        new_argv = 0xff830774




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]