Re: Index Helper for beagle++ hangs occasionally
- From: "D Bera" <dbera web gmail com>
- To: "Max Wiehle" <max wiehle gmail com>
- Cc: dashboard hackers <dashboard-hackers gnome org>
- Subject: Re: Index Helper for beagle++ hangs occasionally
- Date: Sat, 8 Dec 2007 10:02:14 -0500
Hi Max,
> We are using external programms to do some of the metadata extraction
> for us. The communication works via stdin and stdout - i.e. we start the
> programm from within the IndexHelper and then read and parse its stdout.
> Now from time to time IndexHelper will stop reading even though more
> lines are available on stdin. It sits in a
> while((line = StreamReader.ReadLine()) != null)
> loop and does nothing.
> The whole thing happens during the flush. All flushed filenames are
> handed to the external filter via its stdIn and then the metadata is
> read from its stdout.
So you mean there is an external-filter like scenario here ? In
IndexHelper, it calls this external application, which reads its input
and outputs some data on its stdout and then IndexHelper reads that
output data (via a pipe ? setting stdout of the child external
application ? reads stdout of the external application as our
external-filter does it - just by reading the stdout of the external
application ?).
Make sure that the stderr of the external application is closed.
Otherwise, the external application might be printing some information
to its stderr, which will block stdout for a long time. Check our
pdf/mplayer etc external app based filters.
> I don't have any idea what keeps the Index-Helper from Reading this for
> almost 20 minutes. So i wonder if it's something specific about the
> Index-Helper especially since the Helper Size message pops up inbetween.
The Helper-Size message is printed by a different thread, so that is a
red herring.
> Looks like BEAGLE_EXERCISE_THE_DOG was not set but i still wonder why it
> would sleep for 20 minutes especialy since the machiene was not under
> heavy load.
If its all happening in IndexHelper then EXERCISE_THE_DOG will not
affect anything. EXERCISE_THE_DOG controls beagled (the scheduler) and
not indexhelper.
- dBera
--
-----------------------------------------------------
Debajyoti Bera @ http://dtecht.blogspot.com
beagle / KDE fan
Mandriva / Inspiron-1100 user
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]