GNOME Bugzilla – Bug 428736
beagle-search crashes with "Unrecognized image file format" exception
Last modified: 2007-04-18 15:34:36 UTC
Steps to reproduce: Description of problem: I'm having an issue with the beagle-search window crashing with "Unhandled Exception: GLib.GException: Unrecognized image file format" when some results are returned. It seems to be related to rss feeds since disabling the Lifrea back end seems to resolve the issue. Version-Release number of selected component (if applicable): $ rpm -qa | grep beagle beagle-0.2.13-1.fc6 beagle-gui-0.2.13-1.fc6 libbeagle-0.2.13-1.fc6 beagle-evolution-0.2.13-1.fc6 How reproducible: Enable the Lifrea back end and run a search that returns a rss feed. Actual results: beagle search crashes and throws an exception Expected results: search results should be displayed Additional info: I'm attaching the exception output from when the crash occurs Stack trace: $ beagle-search GTK Accessibility Module initialized Bonobo accessibility support initialized Debug: Loading Beagle.Util.Conf+IndexingConfig from indexing.xml Debug: Loading Beagle.Util.Conf+DaemonConfig from daemon.xml Debug: Loading Beagle.Util.Conf+SearchingConfig from searching.xml Unhandled Exception: GLib.GException: Unrecognized image file format at Gdk.Pixbuf..ctor (string,int,int) <0x000bc> at Search.Tiles.RSSFeed.LoadIcon (Gtk.Image,int) [0x00022] in /builddir/build/BUILD/beagle-0.2.13/search/Tiles/RSSFeed.cs:36 at Search.Tiles.TileTemplate.OnRealized () [0x00038] in /builddir/build/BUILD/beagle-0.2.13/search/Tiles/TileTemplate.cs:39 at Gtk.Widget.realized_cb (intptr) <0x00036> at (wrapper native-to-managed) Gtk.Widget.realized_cb (intptr) <0x00032> in (unmanaged) 0x485b20f8 at (wrapper managed-to-native) Gtk.Widget.gtk_widget_set_parent (intptr,intptr) <0x00004> at Gtk.Widget.set_Parent (Gtk.Widget) <0x00037> at Search.Category.OnAdded (Gtk.Widget) [0x0001f] in /builddir/build/BUILD/beagle-0.2.13/search/Category.cs:144 at Search.TileCategory.OnAdded (Gtk.Widget) [0x0000c] in /builddir/build/BUILD/beagle-0.2.13/search/TileCategory.cs:20 at Gtk.Container.added_cb (intptr,intptr) <0x00063> at (wrapper native-to-managed) Gtk.Container.added_cb (intptr,intptr) <0x00035> in (unmanaged) 0x485b1608 at (wrapper managed-to-native) Gtk.Container.gtk_container_add (intptr,intptr) <0x00004> at Gtk.Container.Add (Gtk.Widget) <0x00037> at Search.GroupView.AddHit (Search.Tiles.Tile) [0x00034] in /builddir/build/BUILD/beagle-0.2.13/search/GroupView.cs:54 at Search.MainWindow.OnHitsAdded (Beagle.HitsAddedResponse) [0x00058] in /builddir/build/BUILD/beagle-0.2.13/search/Search.cs:433 at (wrapper delegate-invoke) System.MulticastDelegate.invoke_void_HitsAddedResponse (Beagle.HitsAddedResponse) <0x0003b> at Beagle.Query.OnHitsAdded (Beagle.ResponseMessage) [0x00012] in /builddir/build/BUILD/beagle-0.2.13/BeagleClient/Query.cs:96 at (wrapper delegate-invoke) System.MulticastDelegate.invoke_void_ResponseMessage (Beagle.ResponseMessage) <0x0003b> at Beagle.RequestMessage.OnAsyncResponse (Beagle.ResponseMessage) [0x0001d] in /builddir/build/BUILD/beagle-0.2.13/BeagleClient/Message.cs:144 at (wrapper delegate-invoke) System.MulticastDelegate.invoke_void_ResponseMessage (Beagle.ResponseMessage) <0x0003b> at EventThrowingClosure.ThrowEvent () [0x00010] in /builddir/build/BUILD/beagle-0.2.13/BeagleClient/Client.cs:57 at (wrapper delegate-invoke) System.MulticastDelegate.invoke_bool () <0x00037> at IdleProxy.Handler () <0x0002a> at (wrapper native-to-managed) IdleProxy.Handler () <0x00036> in (unmanaged) 0x485256e0 at (wrapper managed-to-native) Gtk.Application.gtk_main () <0x00004> at Gtk.Application.Run () <0x00007> at Gnome.Program.Run () <0x00007> at Search.MainWindow.Main (string[]) [0x00075] in /builddir/build/BUILD/beagle-0.2.13/search/Search.cs:59 Other information:
Can you run the same search on the command-line using "beagle-query --verbose" and take a look at the beagle:cachedimg property? I'd like to know what kind of file that is, and if you can, please attach it to the bug.
(In reply to comment #1) > Can you run the same search on the command-line using "beagle-query --verbose" > and take a look at the beagle:cachedimg property? I'd like to know what kind > of file that is, and if you can, please attach it to the bug. > $ beagle-query --verbose --source Liferea American > beagle-query.out The output from that query is over 1700 lines long. Since I'm not sure which hit is causing the problem can you help me understand the procedure for finding that out?
Most Liferea hits have a "fixme:cachedimg" property that points to a file in ~/.liferea/cache/favicons. That image is loaded by the UI and displayed as the image in search results. One of yours is causing beagle-search to crash. What I'd like to know is what image that is, what format it is in, etc. -- basically, I want the image -- so that I can fix the bug rather than treat the symptom. What I was hoping was that the number of search results was fairly small so that it would be pretty straightforward to identify the problematic file. Do you have an idea which document is causing the problem, or can you reproduce the issue with a more specific search that returns fewer results?
That was the information I think I needed. I narrowed it down to several cached icons. . . that all seem to have a zero size. Seems like those icons have become corrupted somehow because eog crashes on them as well. I guess the real bug here is to have beagle display a generic error icon in place of corrupted or missing icons instead of crashing the entire beagle-search window. I'm going to try having Liferea update all the favicons to see if that clears up the issue.
I was able to confirm that deleting the favicons with a zero size seems to resolve the problem.
Thanks for tracking this down. I checked in a fix, r3661.