Hi Laurent! On jue, 2009-01-15 at 22:19 +0100, Laurent Aguerreche wrote: > Hi! > > I see tracker-indexer crashing at the same point but not always with the > same files: > > ... > Tracker-Message: <--- [33] DBus request to check 1000 files > Tracker-Message: ---> [33] Success, no error given > (tracker-indexer:10627): Tracker-DEBUG: Parent > path:'/local/laguerre/FretsOnFire' exists in cache, should index > (tracker-indexer:10627): Tracker-DEBUG: Updating item > '/local/laguerre/FretsOnFire/pygame.mouse.so' > (tracker-indexer:10627): Tracker-DEBUG: Parent > path:'/local/laguerre/FretsOnFire' exists in cache, should index > (tracker-indexer:10627): Tracker-DEBUG: Updating item > '/local/laguerre/FretsOnFire/_random.so' > (tracker-indexer:10627): Tracker-DEBUG: Transaction commit > (tracker-indexer:10627): Tracker-DEBUG: Flushing index with 18 items in > cache > > Program received signal SIGSEGV, Segmentation fault. > 0x00007ffff7bbf78d in indexer_update_word (indez=0x7518d0, > word=0x11e51e0 "_random", new_hits=0x115c580) at tracker-db-index.c:611 > 611 if (new_hit->id > previous_hits[center].id) { > Missing separate debuginfos, use: debuginfo-install > e2fsprogs-libs-1.41.3-2.fc10.x86_64 gamin-0.1.9-6.fc10.x86_64 > gvfs-1.0.3-4.fc10.x86_64 hal-libs-0.5.12-12.20081027git.fc10.x86_64 > keyutils-libs-1.2-3.fc9.x86_64 krb5-libs-1.6.3-16.fc10.x86_64 > libcap-2.10-2.fc10.x86_64 libcurl-7.18.2-9.fc10.x86_64 > libidn-0.6.14-8.x86_64 libselinux-2.0.73-1.fc10.x86_64 > libssh2-0.18-7.fc9.x86_64 libxslt-1.1.24-2.fc10.x86_64 > nspr-4.7.3-2.fc10.x86_64 nss-3.12.2.0-3.fc10.x86_64 > openldap-2.4.12-1.fc10.x86_64 openssl-0.9.8g-12.fc10.x86_64 > raptor-1.4.18-1.fc10.x86_64 > (gdb) bt > #0 0x00007ffff7bbf78d in indexer_update_word (indez=0x7518d0, > word=0x11e51e0 "_random", new_hits=0x115c580) at tracker-db-index.c:611 > #1 0x00007ffff7bbfa4a in cache_flush_item (key=0x11e51e0, > value=0x115c580, user_data=0x7518d0) at tracker-db-index.c:724 > #2 0x00007ffff7bc00bb in tracker_db_index_flush (indez=0x6840a0) at > tracker-db-index.c:878 > #3 0x0000000000408f49 in flush_data (indexer=0x778820) at > tracker-indexer.c:350 > #4 0x0000003af9837f5b in g_timeout_dispatch (source=0x801bc0, > callback=0x7fffffffd44b, user_data=0x0) at gmain.c:3589 > #5 0x0000003af983779b in g_main_dispatch () at gmain.c:2144 > #6 IA__g_main_context_dispatch (context=0x6315a0) at gmain.c:2697 > #7 0x0000003af983af6d in g_main_context_iterate (context=0x6315a0, > block=1, dispatch=1, self=<value optimized out>) at gmain.c:2778 > #8 0x0000003af983b49d in IA__g_main_loop_run (loop=0x799cc0) at > gmain.c:2986 > #9 0x000000000040faf5 in main (argc=1, argv=0x7fffffffd928) at > tracker-main.c:396 > (gdb) print center > $1 = 2147483647 > (gdb) print right > $2 = 4294967295 > (gdb) print left > $3 = 0 > (gdb) print old_hit_count > $4 = 5 > (gdb) print word > $5 = (const gchar *) 0x11e51e0 "_random" > (gdb) print tsiz > $6 = 40 > > > Any ideas?
I figured out what was happening, the pivots to perform binary search were declared as guint, however the right pivot could potentially get to be -1 if the item isn't found, so it underflowed to G_MAXUINT. I've just fixed it in trunk. Thanks! :) _______________________________________________ tracker-list mailing list tracker-list@gnome.org http://mail.gnome.org/mailman/listinfo/tracker-list