[Tracker] [BUG] crasher with crawled dirs



Hey,

apparently my test were not enough. Last night I let trackerd index my
files from within gdb and it segfaulted.

So here is what I did to debug the case with gdb:

----------------------snip----------------------
(gdb) b trackerd.c:341
Breakpoint 1 at 0x804ee73: file trackerd.c, line 341.
(gdb) cond 1 uri[0]!='/'
(gdb) r -s 0 -v 4 -t 0
...<lots of text>...
indexing directories to be crawled...
[Switching to Thread -1216140400 (LWP 17461)]

Breakpoint 1, schedule_dir_check (uri=0x80be7a8 "(\027\f\b",
db_con=0x81255a8) at trackerd.c:341
(gdb) bt f
#0  schedule_dir_check (uri=0x80be7a8 "(\027\f\b", db_con=0x81255a8)
at trackerd.c:341
       __PRETTY_FUNCTION__ = "schedule_dir_check"
#1  0xb7d19631 in g_slist_foreach () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#2  0x080505d8 in process_files_thread () at trackerd.c:1159
       res = (char ***) 0xb7c899e4
       k = -1216142424
       info = (FileInfo *) 0x0
       need_index = 0
       signal_set = {__val = {2147483647, 4294967294, 4294967295
<repeats 30 times>}}
       db_con = (DBConnection *) 0x81255a8
       blob_db_con = (DBConnection *) 0x8139b08
       emails_db_con = (DBConnection *) 0x813d4a0
       common_db_con = (DBConnection *) 0xb6711620
       file_index_db_con = (DBConnection *) 0xb6724390
       email_index_db_con = (DBConnection *) 0xb672b118
       moved_from_list = (GSList *) 0x0
       pushed_events = 0
       first_run = 1
#3  0xb7d1f64f in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#4  0x00000000 in ?? ()
No symbol table info available.
----------------------snap----------------------

As tracker->crawl_directory_list is needed afterwards for
tracker_file_is_crawled it should contain valid data, however, I could
not fix this one... My suspect is add_dirs_to_list () as it is the new
code and the action just before tracker->crawl_directory_list shows up
corrupt.

Here is the segfault, the first call to tracker_file_is_crawled after
the inspection above:

----------------------snip----------------------
Indexing /mnt/.auto/halde/scientology/http/www.heinzeundalwart.de/pdfs/2007_03_06_AGB.pdf
with service Documents and mime application/pdf (new)
service id for Documents is 4 and sid is 247648 with mime application/pdf

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1212971344 (LWP 17441)]
0x08079ec1 in tracker_file_is_crawled (uri=0x815dc88 "/home/m/core")
at tracker-utils.c:1116
(gdb) bt f
#0  0x08079ec1 in tracker_file_is_crawled (uri=0x815dc88
"/home/m/core") at tracker-utils.c:1116
       compare_uri = 0xb5718c08 "|"
       lst = (GSList *) 0x33
       __PRETTY_FUNCTION__ = "tracker_file_is_crawled"
#1  0x080536bf in process_inotify_events () at tracker-inotify.c:401
       str = 0x815dc88 "/home/m/core"
       file_utf8_uri = 0x815db48 "core"
       cookie = 0
       res = (char ***) 0x815db48
       event = (struct inotify_event *) 0x8165930
       filename = 0x8165940 "core"
       monitor_name = 0x8159dd8 "/home/m"
       action_type = TRACKER_ACTION_WRITABLE_FILE_CLOSED
       str_wd = 0x8159dd8 "/home/m"
       dir_utf8_uri = 0x815db58 "/home/m"
#2  0xb7cffd01 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#3  0x00000000 in ?? ()
----------------------snap----------------------

Let me know if you need more information.

Best regards, Marcus

PS: is tracker indexing it's own core file? ;)



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