[Tracker] tracker using mmap on fuse filesystem.



Guys, 

I just had a go with the latest cvs of tracker and came across a,
probably unlikely, bug when using it on a fuse mounted filesystem. I
have my home directory mounted using encfs with fuse and so currently
there is no mmap allowed ( I think this is a limitation of fuse in
general)
Trackerd dies when it tries to mmap one of the files in the database and
then goes into a loop segfaulting over and over again. Perhaps it should
check first then drop out with an error?

I have to add that I am not 100% sure this is what the problem is but
moving ~/.Tracker
 off to a normal filesystem did fix it!

The relevant part of the strace of trackerd is below: 

open("/home/johnc/.Tracker/databases/Files.crtmp/depot", O_RDWR|O_CREAT,
0644) =
 4
fcntl64(4, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) =
0
ftruncate(4, 0)                         = 0
fstat64(4, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
lseek(4, 0, SEEK_SET)                   = 0
write(4, "[depot]\n\f\0\0\00014\0\0\0\0\0\0\0\0\0\0t\0\0\0\0\0\0"...,
48) = 48
lseek(4, 48, SEEK_SET)                  = 48
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
68) = 68
lseek(4, 0, SEEK_SET)                   = 0
read(4, "[depot]\n\f\0\0\00014\0\0\0\0\0\0\0\0\0\0t\0\0\0\0\0\0"..., 48)
= 48
mmap2(NULL, 116, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0) = -1 ENODEV (No
such de
vice)
close(4)                                = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---

Thanks

john

-- 
John Cooper
Systems Administrator, THUS plc

This message, including any attachment, contains information 
that may be confidential or legally privileged. If you are not 
the intended recipient please notify the sender and delete 
the message immediately.

Attachment: signature.asc
Description: This is a digitally signed message part



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