Re: [Tracker] Crashes in trackerd (G_IS_FILE failure)

Laurent Aguerreche wrote:

Hi :)

I see many crashes of trackerd when I am building a software. I think
this can also happen when I create/remove many times a set of files in a

I tested this this morning and it was fine for me. How up to date is your version of Tracker?

I always see those assertions:
(trackerd:7564): GLib-GIO-CRITICAL **: g_file_get_path: assertion
`G_IS_FILE (file)' failed

sometimes I see many lines like this before trackerd crashes.

This reminds me of a bug we fixed recently regarding this in the tracker-monitor code.

A trace with GDB:

(trackerd:7564): Tracker-DEBUG:
 (FILE) (create monitor event or user request)
(trackerd:7564): Tracker-DEBUG: Comparing now:1232292648 to
then:1232292648, diff:0
(trackerd:7564): Tracker-DEBUG: Comparing now:1232292648 to
then:1232292648, diff:0
Tracker-Message: Queue for module:'files' deleted items processed,
sending first 103 to the indexer
(trackerd:7564): Tracker-DEBUG: Sent!
Tracker-Message: Queue for module:'files' created items processed,
sending first 1 to the indexer
(trackerd:7564): Tracker-DEBUG: Sent!
(trackerd:7564): Tracker-DEBUG: Checking for cached events that have
timed out...
(trackerd:7564): Tracker-DEBUG: Comparing now:1232292650 to
then:1232292648, diff:2
(trackerd:7564): Tracker-DEBUG: Cached event:8 has timed out (2 seconds
have elapsed)

(trackerd:7564): GLib-GIO-CRITICAL **: g_file_get_path: assertion
`G_IS_FILE (file)' failed

(trackerd:7564): Tracker-WARNING **: Could not get module name from
GFile (path:'/local/laguerre/MySoftware/Build/CMakeFiles/Progress/99' or

Yea, if the GFile is not a real GFile, it will definitely break here.

Program received signal SIGSEGV, Segmentation fault.
IA__g_str_hash (v=0x0) at gstring.c:95
95        guint32 h = *p;
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-14.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-
openldap-2.4.12-1.fc10.x86_64 openssl-0.9.8g-12.fc10.x86_64
(gdb) bt
#0  IA__g_str_hash (v=0x0) at gstring.c:95
#1  0x0000003af982a2ed in g_hash_table_lookup_node () at ghash.c:118
#2  IA__g_hash_table_lookup (hash_table=0x67f340, key=0x0) at
#3  0x000000000041fcd0 in processor_files_update (processor=0x66d0f0,
module_name=0x0, file=0x7fffe0145300, is_directory=0) at
#4  0x00000000004200d4 in monitor_item_updated_cb (monitor=0x714030,
module_name=0x0, file=0x7fffe0145300, is_directory=0,
user_data=0x66d0f0) at tracker-processor.c:1309
#5  0x0000000000424582 in tracker_marshal_VOID__STRING_OBJECT_BOOLEAN
(closure=0x76f910, return_value=0x0, n_param_values=4,
param_values=0x7fffec552b60, invocation_hint=0x7fffffffd160,
marshal_data=0x0) at tracker-marshal.c:256
#6  0x0000003afc80b7dd in IA__g_closure_invoke (closure=0x76f910,
return_value=0x0, n_param_values=4, param_values=0x7fffec552b60,
invocation_hint=0x7fffffffd160) at gclosure.c:767
#7  0x0000003afc8214bd in signal_emit_unlocked_R (node=0x7715c0,
detail=0, instance=0x714030, emission_return=0x0,
instance_and_params=0x7fffec552b60) at gsignal.c:3244
#8  0x0000003afc822b68 in IA__g_signal_emit_valist (instance=0x714030,
signal_id=<value optimized out>, detail=0, var_args=0x7fffffffd340) at
#9  0x0000003afc823093 in IA__g_signal_emit (instance=0x0, signal_id=0,
detail=0) at gsignal.c:3034
#10 0x000000000042970d in libinotify_cached_events_timeout_cb
(data=0x714030) at tracker-monitor.c:1148
#11 0x0000003af9837f5b in g_timeout_dispatch (source=0x8c1740,
callback=0, user_data=0x0) at gmain.c:3589
#12 0x0000003af983779b in g_main_dispatch () at gmain.c:2144
#13 IA__g_main_context_dispatch (context=0x666980) at gmain.c:2697
#14 0x0000003af983af6d in g_main_context_iterate (context=0x666980,
block=1, dispatch=1, self=<value optimized out>) at gmain.c:2778
#15 0x0000003af983b49d in IA__g_main_loop_run (loop=0x718250) at
#16 0x0000000000423daf in main (argc=1, argv=0x7fffffffd828) at
(gdb) frame 3
#3  0x000000000041fcd0 in processor_files_update (processor=0x66d0f0,
module_name=0x0, file=0x7fffe0145300, is_directory=0) at
1184            crawler = g_hash_table_lookup (processor->private->crawlers,
(gdb) print module_name
$1 = (const gchar *) 0x0
(gdb) print processor->private->crawlers
$2 = (GHashTable *) 0x67f340

Note: trackerd always crashes when I am building softwares...

Yea, it definitely shouldn't do that. Can you make sure you have the latest version installed and see if it is reproducible using that please? :)


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