f-spot crashes on startup when color management enabled

Bug #291189 reported by Matthias Rosenkranz
22
This bug affects 1 person
Affects Status Importance Assigned to Milestone
F-Spot
Fix Released
Critical
f-spot (Ubuntu)
Fix Released
Medium
Unassigned
Intrepid
Fix Released
Undecided
Unassigned
Jaunty
Fix Released
Medium
Unassigned

Bug Description

Binary package hint: f-spot

1) Interpid, upgraded from Hardy on the release date, amd64
2) f-spot 0.5.0.3-0ubuntu2
3) f-spot starts with color managed display
4) When I enable color management from f-spot's preferences menu, f-spot won't start anymore. Starting it from a console gives
$ f-spot
[Info 17:33:27.950] Initializing DBus
[Info 17:33:28.056] Initializing Mono.Addins
[Info 17:33:28.418] Starting new FSpot server
error checking orientation
[Info 17:33:30.103] Starting BeagleService
[Info 17:33:30.103] Hack for gnome-settings-daemon engaged

(f-spot:7434): GdkPixbuf-WARNING **: GdkPixbufLoader finalized without calling gdk_pixbuf_loader_close() - this is not allowed. You must explicitly end the data stream to the loader before dropping the last reference.
error checking orientation
[Info 17:33:39.553] Exiting
rose@harper:~$ f-spot
[Info 17:33:41.237] Initializing DBus
[Info 17:33:41.323] Initializing Mono.Addins
[Info 17:33:41.455] Starting new FSpot server
error checking orientation
[Info 17:33:42.425] Starting BeagleService
[Info 17:33:42.425] Hack for gnome-settings-daemon engaged
Exception in Gtk# callback delegate
  Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception.
System.NullReferenceException: Object reference not set to an instance of an object
  at TagSelectionWidget.IconDataFunc (Gtk.TreeViewColumn column, Gtk.CellRenderer renderer, TreeModel model, TreeIter iter) [0x00000]
  at GtkSharp.TreeCellDataFuncWrapper.NativeCallback (IntPtr tree_column, IntPtr cell, IntPtr tree_model, IntPtr iter, IntPtr data) [0x00000]
   at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal)
   at GtkSharp.TreeCellDataFuncWrapper.NativeCallback(IntPtr tree_column, IntPtr cell, IntPtr tree_model, IntPtr iter, IntPtr data)
   at GtkSharp.TreeCellDataFuncWrapper.NativeCallback(IntPtr , IntPtr , IntPtr , IntPtr , IntPtr )
   at Gtk.Application.gtk_main()
   at Gtk.Application.gtk_main()
   at Gtk.Application.Run()
   at Gnome.Program.Run()
   at FSpot.Driver.Main(System.String[] args)

I can disable color management via gconf-editor and it starts flawlessly again.

==========

The impact of this bug is that if a user enables Color Management out of curiosity, F-Spot will not work next start next time they try to use it. Although the user can fix it by changing a gconf key, this will not be obvious to most users.

The bug has been addressed by backporting the patch from SVN. The crash is caused because a null check is performed on the wrong object, and the patch attached addresses this.

TEST CASE:
1) With F-Spot version 0.5.0.3-0ubuntu2, go to Edit -> Preferences and enable 'Color Management'.
2) Close F-Spot
3) Attempt to re-open F-Spot and notice that is crashes immediately.
4) Recover F-Spot by doing "gconftool-2 --type bool -s /apps/f-spot/ui/color_management_enabled 0"
5) Install the version of F-Spot with the full patch (0.5.0.3-0ubuntu4)
6) Enable 'Color Management' as before.
7) Close F-Spot
8) Open F-Spot again and notice that it no longer crashes
====
9) In addition to this, show tags in the left-hand pane and make sure it doesn't crash.
10) With tags shown in the left-hand pane, go to View - Tag Icons and select every icon size in turn (HIdden, Small, Medium, Large), making sure that no crash occurs and tag icon size is updated correctly.
11) With tag icons displayed (not hidden), make sure that you have at least one tag that has no icon defined, verifying that no crash occurs

Related branches

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

Thank you for your bug report. This bug has been reported to the developers of the software. You can track it and make comments here: http://bugzilla.gnome.org/show_bug.cgi?id=558751

Changed in f-spot:
importance: Undecided → Medium
status: New → Triaged
Revision history for this message
Chris Coulson (chrisccoulson) wrote :

This is fixed upstream now

Changed in f-spot:
status: Triaged → Fix Committed
Revision history for this message
Chris Coulson (chrisccoulson) wrote :

I've attached a debdiff for consideration for SRU

description: updated
Revision history for this message
Martin Pitt (pitti) wrote :

Sponsored, thank you!

Changed in f-spot:
status: New → In Progress
Revision history for this message
Martin Pitt (pitti) wrote :

Accepted into intrepid-proposed, please test and give feedback here. Please see https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in f-spot:
status: In Progress → Fix Committed
Revision history for this message
Pedro Villavicencio (pedro) wrote :

verification done:

- test with f-spot 0.5.0.3-0ubuntu2: followed the steps on bug http://bugzilla.gnome.org/show_bug.cgi?id=557793; enable the color management in the preferences dialog, choose View-> Tags Icons -> Hidden and f-spot crashed after disable the color management with the gconftool-2 command it starts to working again.

- test with f-spot 0.5.0.3-0ubuntu3, followed again the steps on bug http://bugzilla.gnome.org/show_bug.cgi?id=557793; enable the color management in the preferences dialog, choose View-> Tags Icons -> Hidden , f-spot didn't crashed, bug is fixed, thanks.

Revision history for this message
Sebastien Bacher (seb128) wrote :

bug #293437 seems to be a crash due to the update

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

It is. This fix has uncovered another pre-existing bug, which looks like it is already fixed upstream here: http://svn.gnome.org/viewvc/f-spot/trunk/src/Core/Tag.cs?r1=4556&r2=4555&pathrev=4556

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

I've update the patch to include the other part of the upstream change which fixes this issue. I can reproduce the new crash (bug 293437) and can verify that this patch fixes both problems.

description: updated
Revision history for this message
Martin Pitt (pitti) wrote :

Accepted into intrepid-proposed, please test and give feedback here. Please see https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Revision history for this message
Klaus Doblmann (moviemaniac) wrote :

Confirming the new proposed-version to work, this bug is fixed - thanks very much!

Revision history for this message
Martin Pitt (pitti) wrote :

intrepid-proposed package copied to jaunty.

Changed in f-spot:
status: Fix Committed → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote :

Copied to intrepid-updates.

Changed in f-spot:
status: Fix Committed → Fix Released
Revision history for this message
rrichter (rrichterzittau-deactivatedaccount) wrote :

1. insert SD-CARD in Printerslot
2. automatic sd-card identification {Question-Window (gnome)}
3. f-spot import question
4. -- no answer --
5. start f-spot in bash
6. crash

Crash when f-spot startup:
System: Ubuntu 8.10 64-Bit

Log:

[Info 19:03:25.886] Initializing DBus
[Info 19:03:26.004] Initializing Mono.Addins
[Info 19:03:26.206] Starting new FSpot server

(f-spot:9568): Gtk-CRITICAL **: gtk_window_resize: assertion `width > 0' failed
The program 'f-spot' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadRequest (invalid request code or no such operation)'.
  (Details: serial 336 error_code 1 request_code 143 minor_code 19)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

rrichter - that's a different bug. Please open a new bug report for that one.

Thanks

Revision history for this message
rrichter (rrichterzittau-deactivatedaccount) wrote :
Changed in f-spot:
status: Unknown → Fix Released
Changed in f-spot:
importance: Unknown → Critical
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.