Any suggestions on how to further narrow down the problem are welcome. I will report on progress with gdb.
In case somebody runs into the same problem. I was able to solve the problem the following way. 1) build your own shotwell as described on https://wiki.gnome.org/Apps/Shotwell/BuildingAndInstalling 2) Patch Tag.vala to produce output about the source of the error:
diff --git a/src/Tag.vala b/src/Tag.vala index 46cbfaa2..7b284250 100644 --- a/src/Tag.vala +++ b/src/Tag.vala @@ -1142,6 +1142,9 @@ public class Tag : DataSource, ContainerSource, Proxyable, Indexable { MediaSource source = (MediaSource) view.get_source(); bool is_removed = row.source_id_list.remove(source.get_source_id()); + if(is_removed != true) { + critical("Removing failed for source %s with id: %s", source.to_string(), source.get_source_id()); + } assert(is_removed); bool is_added = removed_sources.add(source);
3) build the patched version of shotwell and run it. 4) Backup the database file of shotwell 5) Edit the database manually and delete the one image causing the error from the PhotoTable 6) Reimport the image The debugger didn't help a lot, since vala is "compiled" twice. The information about the vala-source is not available in the debugger. Thanks for the initial hint. Greetings Dominik
Attachment:
signature.asc
Description: OpenPGP digital signature