So I added the following to the insert side of that
Tombstone.vala:notify_contents_altered() function:

                if (file_map.has_key(tombstone.get_file()))
                        debug("already have file for %s!", 
tombstone.get_name());

and now in the log I see

L 6394 2012-06-28 01:57:38 [DBG] Tombstone.vala:32: already have file for 
/home/roland/Pictures/CanonT1i-images/2012/06/05/IMG_6016_CR2_shotwell.jpg!
L 6394 2012-06-28 01:57:38 [DBG] Tombstone.vala:32: already have file for 
/home/roland/Pictures/CanonT1i-images/2012/04/19/IMG_5521_CR2_shotwell.jpg!
L 6394 2012-06-28 01:57:38 [DBG] Tombstone.vala:32: already have file for 
/home/roland/Pictures/CanonT1i-images/2012/02/14/IMG_3780_CR2_shotwell.jpg!

etc... (where that first filename, ..._6016_CR2_shotwell.jpg, is the one
it crashes removing).

I think what happens is that two tombstones for the same filename get
created, then both get removed, but the first removal clears the
file_map entry and so the second removal hits the assertion.

I don't understand the higher-level intention of this code well enough
to know if the bug is in adding two entries with the same filename or in
a too-strict assertion or what the right fix should be.  It definitely
seems like not a good situation if we still have a tombstone object
without a corresponding entry in the file_map, so maybe the problem is
in creating a second tombstone for the same file.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1016859

Title:
  shotwell crashes on startup

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/shotwell/+bug/1016859/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to