darktable icon indicating copy to clipboard operation
darktable copied to clipboard

Darktable 4.6.0 crashes when clicking "show global preferences"

Open esm7 opened this issue 1 year ago • 14 comments

Describe the bug

After upgrading to Darktable 4.6.0, as soon as I click "show global preferences", the application exists.

Steps to reproduce

  1. Open Darktable (shown in Lighttable mode).
  2. Click "show global preferences" (the button before the "lighttable" title).

Expected behavior

Open the preferences dialog.

Logfile | Screenshot | Screencast

darktable_bt_YO9TI2.txt

Commit

No response

Where did you obtain darktable from?

distro packaging

darktable version

4.6.0

What OS are you using?

Linux

What is the version of your OS?

Manjaro

Describe your system?

An updated Manjaro distro. X11.

Are you using OpenCL GPU in darktable?

I dont know

If yes, what is the GPU card and driver?

No response

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

No response

esm7 avatar Feb 11 '24 08:02 esm7

Cannot reproduce with 4.7.0+524~g44b346cc0f, Ubuntu 22.04

Did you try launching darktable from the commandline with a fresh configuration ( --configdir <dirname> ) , dirname pointing to an empty or non existing directory. See https://darktable-org.github.io/dtdocs/en/special-topics/program-invocation/darktable/

Can you provide a debug log of the crash ( for example -d common or -d all ) ?

pehar1 avatar Feb 11 '24 08:02 pehar1

  1. Launching Darktable with a fresh configuration opens fine. Are there hints in the crash log what's part of my configuration is causing this? (it worked before upgrading just a few days ago)
  2. Attached is the debug log using -d all. darktable_bt_TCQWI2.txt

esm7 avatar Feb 11 '24 09:02 esm7

Darktable with a fresh configuration opens fine

Possibly a damaged darktablerc ? You can check this by restoring your old configuration without darktablerc, then launching darktable again. Still crashing ?

You provided a backtrace of the crash. The debug log -d all is the terminal output of darktable before it crashes. You can redirect it to a file, for example darktable -d all > path/to/logfile.txt

pehar1 avatar Feb 11 '24 10:02 pehar1

I deleted darktablerc, it opened with what seemed to be some default configuration (e.g. not my style settings), but still crashed the same. Here's a log with -d all directed to file. log.txt

esm7 avatar Feb 11 '24 10:02 esm7

From the log for me this looks like a problem with your presets. They are saved in data.db. Can you check again with your old configuration but now without data.db ?

pehar1 avatar Feb 11 '24 10:02 pehar1

Launching without data.db works, I can open the global preferences. Is there a way to narrow down the issue further?

esm7 avatar Feb 11 '24 10:02 esm7

Inside data.db there is a table presets. One could try to analyze the content of this table. But for this we need an expert for darktables databases... Does anyone feel addressed ? @TurboGit ?

pehar1 avatar Feb 11 '24 11:02 pehar1

@esm7 , do you still have an older darktable version? And backups of your databases ( ...-pre-4.6.0 ) ? Can you open the preferences dialog with this version ? In this case, you can also try to narrow down the problem further by exporting your personal presets using Preferences -> Presets -> Export. Then start darktable 4.6.0 without data.db and try to re-import your exported presets step by step.

pehar1 avatar Feb 13 '24 07:02 pehar1

I have all the backups (great thing that Darktable saves them) but not quite sure how to install an older Darktable on Manjaro as a rolling release. I'll look into it.

esm7 avatar Feb 13 '24 10:02 esm7

Disclaimer: I never used Manjaro, so I can't tell you for sure if this would work... https://wiki.manjaro.org/index.php/Downgrading_packages#Introduction

pehar1 avatar Feb 13 '24 15:02 pehar1

Sorry for the holdup. I tried to give this a go but downgrading packages in Manjaro/Arch is a hit or miss, and this time it was a miss... Since the whole distro is rolled as one unit, a downgrade of a single package quickly escalates into a dependency hell. At least that's my experience... I tried with the manjaro-downgrade utility, but starting from an incompatibility with libjxl.so.0.8 and going further, it became too much of a project :( Is there any way to export presets from the command line or without opening the settings window?

esm7 avatar Feb 25 '24 08:02 esm7

presets are contained in ~/.config/darktable/data.db and visible using sqlite3 or sqlitebrowser or ...

ptilopteri avatar Feb 25 '24 14:02 ptilopteri

Example to just list the content of a table as terminal output (create a backup copy of your database first) : sqlite3 /path/to/your/data.db "select * from presets" but consider: the table contains BLOBs (Binary Large Objects) which are not human readable

... or dump the content of table presets into a file with SQL commands

$ sqlite3 /path/to/your/data.db
sqlite> .output /path/to/presets.sql
sqlite> .dump presets
sqlite> .quit

Part of these commands (INSERT INTO) could be used to reimport (part of) your presets into a fresh database.

... or you can use a tool with graphical user interface like SQLiteStudio (only one example of several tools available)

pehar1 avatar Feb 26 '24 09:02 pehar1

This issue has been marked as stale due to inactivity for the last 60 days. It will be automatically closed in 300 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.

github-actions[bot] avatar Apr 27 '24 00:04 github-actions[bot]