Re: [Tracker] DBus calls _exit() !!!??? [WAS: miner-fs: Could not process file (timeout by message bus)]

On 03/09/10 11:09, Mildred Ki'Lya wrote:
On 09/02/2010 04:35 PM, Mildred Ki'Lya wrote:
Hi again :)

Sorry to bother you with my problem but it seems I can't get
tracker-miner-fs to index my mbox files. tracker-info cannot find
anything about the file whereas tracker-miner-fs tells me that the file
should be monitored. And when I manually run tracker-extract on that
file, it print a lot of SPARQL queries and don't fail.

I found the problem ... is in DBus

When I ask tracker-extract to extract medatadata from a file, if I wait
for the DBus request (dbus-send --print-reply),  tracker-extract exist,
if I don't wait for the DBus answer, tracker-extract continues its life.

When I run tracker-extract in gdb and put a breakpoint on _exit, and
send the following dbus request:

dbus-send --session --print-reply \
     --dest=org.freedesktop.Tracker1.Extract \
     /org/freedesktop/Tracker1/Extract \
     org.freedesktop.Tracker1.Extract.GetMetadata \
     string:"file:///.../comments.mbox" string:"application/mbox"

I get the following stack trace:

Breakpoint 2, 0x0000003b8e8ade10 in _exit () from /lib64/
(gdb) bt
#0  0x0000003b8e8ade10 in _exit () from /lib64/
#1  0x0000003b93c2bec9 in ?? () from /lib64/
#2  0x0000003b93c0df20 in ?? () from /lib64/
#3  0x0000003b93c0f167 in ?? () from /lib64/
#4  0x0000003b93c0c0af in dbus_bus_remove_match () from
#5  0x00000032ab012da5 in ?? () from /usr/lib64/
#6  0x00000032ab01307c in ?? () from /usr/lib64/
#7  0x00000032a8411540 in g_object_run_dispose () from
#8  0x00000032ab00fecb in ?? () from /usr/lib64/
#9  0x0000003b93c0fb4c in dbus_connection_dispatch () from
#10 0x00000032ab0099d5 in ?? () from /usr/lib64/
#11 0x00000032a7c43233 in g_main_context_dispatch () from
#12 0x00000032a7c43a10 in ?? () from /lib64/
#13 0x00000032a7c44082 in g_main_loop_run () from /lib64/
#14 0x000000000040917e in main ()

is there a way to avoid this behaviour?

Are you checking all data is UTF-8 before sending it over d-bus?

Exit is called by D-Bus internally in a few situations, invalid UTF-8 is one of them.


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