Contents

Examining the log files

Beagle keeps rather verbose log files in ~/.beagle/Log. You can look at the files in this directory to check for unhandled errors while running beagle.

Files are in the format:

Year-Month-Day-Hour-Minute-Second-Name

For example:

2006-02-08-10-06-47-IndexHelper

The "Name" is usually the program that generated the log file, either "Beagle" or "IndexHelper". There may also be files with "Console" or "Exceptions" in their names.

There are also always two symlinks in that directory, current-Beagle and current-IndexHelper, which point to the currently running (or most recently run) Beagle daemon and index helper processes.

Within the file, each line begins with the format:

YYYYMMDD HH:mm:ss.ffff <pid> <program name> <log level>: <message>
  • YYYYMMDD is year, month, date
  • HH:mm:ss.fff is hour (in 24-hour format), minutes, seconds, and fractions of a second
  • <pid> is the process ID.
  • <program name> is the name of the program, either "Beagle" or "IndexH"
  • <log level> is the message severity: ERROR, WARN, or DEBUG
  • <message> is the actual log message.

For example:

20070104 14:44:39.0058 25234 Beagle DEBUG: Starting Beagle Daemon (version 0.2.14)

Difference between Beagle daemon and index helper

The Beagle daemon is the main process and is always running. It is responsible for setting up backends, crawling data, and handling searches.

The index helper is started by the Beagle daemon whenever there is data to be indexed. It filters data fed to it by the daemon and stores it in the index. If the index helper is idle for some amount of time or it crosses a memory usage threshold it is shut down. If there is more data to index, it is restarted. Therefore, it is very common to have multiple index helpers run over time for a given daemon. The daemon's log files say when a new index helper process has been started and prints the PID.

For example:

20070104 14:44:40.1559 25234 Beagle DEBUG: Launching helper process
20070104 14:44:40.1642 25234 Beagle DEBUG: IndexHelper PID is 25249

Looking for errors in log files

The easiest way to find errors in log files is to open them up and search for the word "exception" in them. They typically will look something like this:

Exception occurred while indexing /tmp/tmp123456.
EX: System.Exception: Something bad happened.
EX: in [0x0014e] System.Blah:Blah ()
EX: in [0x00030] System.Foo:Foo (System.Blah blah)
(etc.)

When filing bugs, please include both the Beagle and corresponding index helper logfiles. If an error occurred while indexing, please also include the document that triggered the error.

Common exceptions

DllNotFoundException

The most common error is the DllNotFoundException. This means that Beagle was unable to find a required library. If you install Beagle's prerequisites into somewhere other than /usr or /usr/local, you probably need to set your LD_LIBRARY_PATH to the directory that contains the library printed in the exception (libgmime-2.0.so.2.1.19, for example).


This page was last modified 20:14, 4 January 2007. This page has been accessed 2,535 times.

  
MediaWiki

Copyright © 2004-2007