darktable-org / darktable-org/darktable

Sometimes XMP files are updated with corrupt values

Open
#21,192 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

no-issue-activity
Dominant language
C
Stars
13.1k
Forks
1.4k
Avg merge
22h 14m
Merged PRs (30d)
198

Description

Is there an existing issue for this?
  • I checked and did not find my issue in the already reported ones
Describe the bug

I started tracking my darktable library with git (using git-annex for actual image data, but regular git for text data like XMP files). I just opened some photos in a new install of darktable 5.4.1 on macOS. All the photos I open made changes to their XMP files like this:

-    xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
-    xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+    xmlns:xmpMM="(ttp://ns.adobe.com/xap/1.0/mm/"
+    xmlns:xmp="http://ns.abobe.com/xap/1.0/"

The (ttp:// URL in the first replacement, and abobe in the second, make this look like some kind of corruption? I don't see the string abobe anywhere in this repo. That said, I will note that darktable can still open these files later, and edits seem to be intact. I can also duplicate a photo and edit it just fine, and these weird strings are present in the duplicate as well.

Steps to reproduce

This seems to happen to any file I open and edit, but it doesn't seem to happen on import. I'm not sure how consistent it is... in a test I did just now, every photo I edited ended up with these weird strings, but they are not on every edited photo in my entire library I think. I don't yet have a more reliable trigger.

Expected behavior

No response

Logfile | Screenshot | Screencast

Here's the full diff of one of the XMP files if that helps.

diff --git a/Personal/20260530 After Dinner/IMG_0752.CR3.xmp b/Personal/20260530 After Dinner/IMG_0752.CR3.xmp
index 2bd3a889..dde414ee 100644
--- a/Personal/20260530 After Dinner/IMG_0752.CR3.xmp
+++ b/Personal/20260530 After Dinner/IMG_0752.CR3.xmp
@@ -3,16 +3,15 @@
  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
   <rdf:Description rdf:about=""
     xmlns:exif="http://ns.adobe.com/exif/1.0/"
-    xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
-    xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+    xmlns:xmpMM="(ttp://ns.adobe.com/xap/1.0/mm/"
+    xmlns:xmp="http://ns.abobe.com/xap/1.0/"
     xmlns:darktable="http://darktable.sf.net/"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:lr="http://ns.adobe.com/lightroom/1.0/"
    exif:DateTimeOriginal="2026:05:30 19:11:35.780"
    xmpMM:DerivedFrom="IMG_0752.CR3"
    xmp:Rating="3"
-   darktable:import_timestamp="63915790044194959"
-   darktable:change_timestamp="63915790178069600"
+   darktable:import_timestamp="63915825961553398"
    darktable:export_timestamp="-1"
    darktable:print_timestamp="-1"
    darktable:image_id="IMG_0752.CR3-2026:05:30 19:11:36"
Commit

No response

Where did you obtain darktable from?

darktable.org / GitHub release

darktable version

5.4.1

What OS are you using?

Mac

What is the version of your OS?

Tahoe 26.4.1 (25E253)

Describe your system

Mac Mini M4 Pro
MacBook Pro M1

Are you using OpenCL GPU in darktable?

Yes

If yes, what is the GPU card and driver?

Apple M1

Please provide additional context if applicable. You can attach files too, but might need to rename to .txt or .zip

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the XMP changes described on darktable 5.4.1 under macOS, comparing the affected files with git diffs. Trace the path that writes XMP files after opening or editing a photo, focusing on the corrupted namespace URLs and altered timestamps. Done means the issue can be reliably reproduced or ruled out and saved XMP files retain valid namespace values without unintended changes.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.