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 547524 - beagled-helper his 99% CPU on certain .a2w files
beagled-helper his 99% CPU on certain .a2w files
Status: RESOLVED NOTGNOME
Product: beagle
Classification: Other
Component: General
0.3.7
Other Linux
: Normal normal
: ---
Assigned To: Beagle Bugs
Beagle Bugs
Depends on:
Blocks:
 
 
Reported: 2008-08-13 03:06 UTC by Sandy Armstrong
Modified: 2008-09-12 22:37 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sandy Armstrong 2008-08-13 03:06:24 UTC
On certain Alice [http://www.alice.org] .a2w files, beagle-extract-content hits an exception and then hangs, using 99% CPU on one of my cores.  I'll attach a sample file, which provides this output for me, and then hangs:

sandy@linux:~> beagle-extract-content Desktop/Downloads/Alice/Required/tutorialWorlds/IceSkaterWorld.a2w
Filename: 
file:///home/sandy/Desktop/Downloads/Alice/Required/tutorialWorlds/IceSkaterWorld.a2w
Debug: Loaded 63 filters from /usr/lib/beagle/Filters/Filters.dll
Debug: Verifying filter_cache at /home/sandy/.beagle/filterver.dat ... 
cache is dirty ? False
Filter: Beagle.Filters.FilterArchive (determined in .18s)
MimeType: application/zip

Error: Caught exception extracting data from archive 
file:///home/sandy/Desktop/Downloads/Alice/Required/tutorialWorlds/IceSkaterWorld.a2w
ICSharpCode.SharpZipLib.Zip.ZipException: Data descriptor signature not 
found
  at ICSharpCode.SharpZipLib.Zip.ZipInputStream.ReadDataDescriptor () 
[0x00000]
  at ICSharpCode.SharpZipLib.Zip.ZipInputStream.BodyRead (System.Byte[] 
b, Int32 off, Int32 len) [0x00000]
  at ICSharpCode.SharpZipLib.Zip.ZipInputStream.Read (System.Byte[] 
destination, Int32 index, Int32 count) [0x00000]
  at Beagle.Filters.FilterArchive.StoreStreamInTempFile 
(System.IO.Stream stream, System.String extension, DateTime mtime) [0x00000]



On other .a2w files, I get an exception and then beagle-extract-content exits:

sandy@linux:~> beagle-extract-content Desktop/Downloads/Alice/Required/tutorialWorlds/space.a2w 
Filename: file:///home/sandy/Desktop/Downloads/Alice/Required/tutorialWorlds/space.a2w
Debug: Loaded 63 filters from /usr/lib/beagle/Filters/Filters.dll
Debug: Verifying filter_cache at /home/sandy/.beagle/filterver.dat ... cache is dirty ? False
Filter: Beagle.Filters.FilterArchive (determined in .16s)
MimeType: application/zip

Error: Caught exception extracting data from archive file:///home/sandy/Desktop/Downloads/Alice/Required/tutorialWorlds/space.a2w
ICSharpCode.SharpZipLib.Zip.ZipException: Data descriptor signature not found
  at ICSharpCode.SharpZipLib.Zip.ZipInputStream.ReadDataDescriptor () [0x00000] 
  at ICSharpCode.SharpZipLib.Zip.ZipInputStream.BodyRead (System.Byte[] b, Int32 off, Int32 len) [0x00000] 
  at ICSharpCode.SharpZipLib.Zip.ZipInputStream.Read (System.Byte[] destination, Int32 index, Int32 count) [0x00000] 
  at Beagle.Filters.FilterArchive.StoreStreamInTempFile (System.IO.Stream stream, System.String extension, DateTime mtime) [0x00000] 
Warn: Unable to extract file from file:///home/sandy/Desktop/Downloads/Alice/Required/tutorialWorlds/space.a2w
ICSharpCode.SharpZipLib.SharpZipBaseException: ICSharpCode.SharpZipLib.SharpZipBaseException: broken uncompressed block
  at ICSharpCode.SharpZipLib.Zip.Compression.Inflater.Decode () [0x00000] 
  at ICSharpCode.SharpZipLib.Zip.Compression.Inflater.Inflate (System.Byte[] buf, Int32 offset, Int32 len) [0x00000] 
  at ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.Read (System.Byte[] b, Int32 off, Int32 len) [0x00000] 
  at ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.Read (System.Byte[] b, Int32 off, Int32 len) [0x00000] 
  at ICSharpCode.SharpZipLib.Zip.ZipInputStream.BodyRead (System.Byte[] b, Int32 off, Int32 len) [0x00000] 
  at ICSharpCode.SharpZipLib.Zip.ZipInputStream.Read (System.Byte[] destination, Int32 index, Int32 count) [0x00000] 
  at ICSharpCode.SharpZipLib.Zip.ZipInputStream.CloseEntry () [0x00000] 
  at ICSharpCode.SharpZipLib.Zip.ZipInputStream.GetNextEntry () [0x00000] 
  at (wrapper remoting-invoke-with-check) ICSharpCode.SharpZipLib.Zip.ZipInputStream:GetNextEntry ()
  at Beagle.Filters.FilterArchive.GetNextEntryZip () [0x00000] 
  at Beagle.Filters.FilterArchive.DoGetNextEntry () [0x00000] 
Properties:
  Timestamp = 2006-06-21 21:19:02 (Utc)
  beagle:FileType = archive

Content:
elementCountHint.txt



Text extracted in .00s
Comment 1 Sandy Armstrong 2008-08-13 03:11:32 UTC
The files are too large to attach, so you can find them here:

Error then hang, using 99% CPU:
http://www.armstrong-clan.net/IceSkaterWorld.a2w

Error, no hang, exits cleanly:
http://www.armstrong-clan.net/space.a2w
Comment 2 Debajyoti Bera 2008-09-12 22:37:00 UTC
This seems to be a SharpZipLib bug. I have a feeling that the bug is fixed in a recent version of SharpZipLib release; unfortunately, the version included with mono is from 2005! I have filed a bug with mono to upgrade the included SharpZipLib
https://bugzilla.novell.com/show_bug.cgi?id=426065

If even that does not fix this problem, then a bug should be filed with SharpZipLib upstream.

Unfortunately there is nothing that can be done in beagle; till then, I suggest you move these files somewhere else or exclude all .a2w files.