After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 317997 - indexer crashes on spam html, maybe
indexer crashes on spam html, maybe
Status: RESOLVED FIXED
Product: beagle
Classification: Other
Component: General
0.1.x
Other Linux
: Normal major
: ---
Assigned To: Beagle Bugs
Beagle Bugs
Depends on:
Blocks:
 
 
Reported: 2005-10-05 09:31 UTC by Henry S. Thompson
Modified: 2005-10-06 15:53 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
File which crashes the indexer (5.59 KB, text/plain)
2005-10-05 09:32 UTC, Henry S. Thompson
  Details
Patch to catch the null Source problem (575 bytes, patch)
2005-10-06 08:14 UTC, Henry S. Thompson
none Details | Review
Always enforce non-null task source (586 bytes, patch)
2005-10-06 12:56 UTC, Daniel Drake
committed Details | Review
IndexSynchronization fix (950 bytes, patch)
2005-10-06 13:03 UTC, Daniel Drake
committed Details | Review

Description Henry S. Thompson 2005-10-05 09:31:35 UTC
Version details: 0.1.1
Distribution/Version: Fedora Core 3

index the attached file, maybe
Comment 1 Henry S. Thompson 2005-10-05 09:32:40 UTC
Created attachment 53045 [details]
File which crashes the indexer
Comment 2 Henry S. Thompson 2005-10-05 09:33:37 UTC
Here's the backtrace:

DEBUG: +file:///disk/b/mail/Mail/group-2002-02/351

Unhandled Exception: System.ArgumentNullException: null key
Parameter name: key
in [0x000c7] System.Collections.Hashtable:Find (System.Object key)
in [0x00002] (at /tmp/scratch/BUILD/mono-1.1.8.3/mcs/class/corlib/System.Collect
ions/Hashtable.cs:395) System.Collections.Hashtable:Contains (System.Object key)
in <0x00231> Beagle.Util.Scheduler:Worker ()
in (wrapper delegate-invoke) System.MulticastDelegate:invoke_void ()
Comment 3 Henry S. Thompson 2005-10-05 17:10:49 UTC
I am not at all convinced that the file shown in the DEBUG log as the most
recently indexed is the problem -- I've seen another half-dozen of these
crashes, some of the files look very inocuous, and in at least one case there
was no indexing going on at all, i.e. the log looks like this:

DEBUG: Done crawling '/disk/b/mail/Mail/pers-2002-05'
DEBUG: Done crawling '/disk/b/mail/Mail/pers-2002-06'
DEBUG: Done crawling '/disk/b/mail/Mail/pers-2002-07'
DEBUG: Done crawling '/disk/b/mail/Mail/pers-2002-08'
DEBUG: Done crawling '/disk/b/mail/Mail/pers-2002-09'

Unhandled Exception: System.ArgumentNullException: null key
Parameter name: key
in [0x000c7] System.Collections.Hashtable:Find (System.Object key)
in [0x00002] (at /tmp/scratch/BUILD/mono-1.1.8.3/mcs/class/corlib/System.Collect
ions/Hashtable.cs:395) System.Collections.Hashtable:Contains (System.Object key)
in <0x00231> Beagle.Util.Scheduler:Worker ()
in (wrapper delegate-invoke) System.MulticastDelegate:invoke_void ()
INFO: NetBeagleConfigurationChanged EventHandler invoked
INFO: WebServicesConfigurationChanged EventHandler invoked
Comment 4 Henry S. Thompson 2005-10-06 08:14:01 UTC
Created attachment 53091 [details] [review]
Patch to catch the null Source problem
Comment 5 Henry S. Thompson 2005-10-06 08:14:51 UTC
So it now seems clear the problem is not with the data
I have now been running for 12 hours with the attached patch, which has fired 20
times (Tag always empty also) in the course of indexing 65000 files in 250
directories.  Any suggestions about more information to log when the null Source
is detected would be welcome.
Comment 6 Daniel Drake 2005-10-06 12:56:25 UTC
Created attachment 53108 [details] [review]
Always enforce non-null task source

Thanks for investigating that. I tracked it down to KopeteQueryable running
without inotify, and raddy on IRC happened to report this at the same time.
This is now fixed in CVS.

I'm attaching another patch for review which would prevent this problem
reoccurring so subtly in future.
Comment 7 Daniel Drake 2005-10-06 13:03:04 UTC
Created attachment 53109 [details] [review]
IndexSynchronization fix

This fixes another source of tasks without Source. This one is different as the
task is created in static context. This sets the source to the lock object,
which should do the trick..?
Comment 8 Joe Shaw 2005-10-06 15:19:42 UTC
Yeah, both of these patches are good.  Please commit.