View Issue Details

IDProjectCategoryView StatusLast Update
0017708ScribusGeneralpublic2025-12-18 18:10
Reporternotoo1 Assigned To 
PriorityurgentSeveritycrashReproducibilityalways
Status newResolutionopen 
Product Version1.7.0 
Summary0017708: scribus: crashes with "Settings schema 'org.gtk.Settings.FileChooser' is not installed"
DescriptionScribus crashes immediately on launch with GTK schema error on NixOS.

Steps To Reproducenix run nixpkgs#scribus
Additional Information(scribus:5880): GLib-GIO-ERROR **: 21:27:47.362: Settings schema 'org.gtk.Settings.FileChooser' is not installed
fish: Job 1, 'nix run nixpkgs#scribus' terminated by signal SIGTRAP (Trace or breakpoint trap)

System info
NixOS version: 25.11.20251120.117cc7f (Xantusia)
Scribus version: 1.7.0
Channel: nixos-unstable

Workaround
Creating a wrapper script with proper GTK environment setup works:

(writeShellScriptBin "scribus" ''
  export XDG_DATA_DIRS="${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS"
  export GSETTINGS_SCHEMA_DIR="${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}/glib-2.0/schemas"
  exec ${scribus}/bin/scribus "$@"
'')
This creates a wrapper that sets up the GTK schemas environment before launching Scribus.
TagsNo tags attached.
PatchNo

Activities

ale

2025-12-11 10:08

manager   ~0053363

thanks for copying the ticket in here!

do you have ways to create a backtrace, so that it's a bit easier to know if it's Scribus or Qt that crashes and have a first estimation of possible cause and the effort needed for a fix?

notoo1

2025-12-18 14:40

reporter   ~0053387

## Environment
- NixOS version: 26.05.20251215.1306659 (Yarara)
- Scribus version: 1.7.0
- Package: /nix/store/q2qf4jxnnv7c00d5kz76a7gxvd2b42za-scribus-1.7.0

## Problem
Scribus crashes immediately on startup with SIGTRAP when trying to use GTK file chooser dialogs.

## Error Output
(scribus:48406): GLib-GIO-ERROR **: 15:29:46.047: Settings schema 'org.gtk.Settings.FileChooser' is not installed
fish: Job 1, 'scribus' terminated by signal SIGTRAP (Trace or breakpoint trap)

## GDB Backtrace
GNU gdb (GDB) 16.3
Reading symbols from scribus...
(No debugging symbols found in scribus)
(gdb) run
Starting program: /nix/store/s4vss8wdgj1pb58r5f8r52a4rp45z132-user-environment/bin/scribus
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/nix/store/xx7cm72qy2c0643cm1ipngd87aqwkcdp-glibc-2.40-66/lib/libthread_db.so.1".
process 48406 is executing new program: /nix/store/q2qf4jxnnv7c00d5kz76a7gxvd2b42za-scribus-1.7.0/bin/.scribus-wrapped
(scribus:48406): GLib-GIO-ERROR **: 15:29:46.047: Settings schema 'org.gtk.Settings.FileChooser' is not installed
Thread 1 ".scribus-wrappe" received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff450e12f in g_log_structured_array () from /nix/store/5qdsnc26nv61j5rrw492f19xav2rz45v-glib-2.86.1/lib/libglib-2.0.so.0
(gdb) bt full
#0 0x00007ffff450e12f in g_log_structured_array () from /nix/store/5qdsnc26nv61j5rrw492f19xav2rz45v-glib-2.86.1/lib/libglib-2.0.so.0
No symbol table info available.
Backtrace stopped: Cannot access memory at address 0x7fffffff8208

## Root Cause
Scribus (a Qt application) uses GTK file chooser dialogs which require the `org.gtk.Settings.FileChooser` schema from `gsettings-desktop-schemas`. The current package wrapper does not include this dependency in `XDG_DATA_DIRS`.

ale

2025-12-18 16:19

manager   ~0053388

Thanks for the backtrace.

From what I can understand from it, it looks like it's GTK that is crashing, not Scribus.

But, maybe, Scribus is calling it in the wrong way... who knows?
Let's see if somebody else can find out more.

notoo1

2025-12-18 17:31

reporter   ~0053391

## Investigation

The schema `org.gtk.Settings.FileChooser` exists in GTK3 packages:
```bash
$ find /nix/store/*gtk+3-3.24*/share/gsettings-schemas/*/glib-2.0/schemas/ -name "*.xml" -exec grep -l "FileChooser" {} \;
/nix/store/cs86fhm7hsgxm20m826cl5qqc4nyg33s-gtk+3-3.24.51/share/gsettings-schemas/gtk+3-3.24.51/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml
```

However, it's not available at runtime:
```bash
$ gsettings list-schemas | grep -i filechooser
org.gtk.gtk4.Settings.FileChooser

$ gsettings list-recursively org.gtk.Settings.FileChooser
No such schema "org.gtk.Settings.FileChooser"
```

Scribus depends on GTK3:
```bash
$ nix-store -q --tree /nix/store/q2qf4jxnnv7c00d5kz76a7gxvd2b42za-scribus-1.7.0 | grep gtk
│ ├───/nix/store/cs86fhm7hsgxm20m826cl5qqc4nyg33s-gtk+3-3.24.51
```

## Root Cause
Scribus depends on GTK3 (shown in dependency tree) but the package wrapper does not include GTK3 schemas in `XDG_DATA_DIRS`. This causes Scribus to crash when attempting to access GTK3 file chooser settings.

## Expected Fix
The scribus package wrapper should include GTK3 gsettings schemas in `XDG_DATA_DIRS`, similar to how other Qt applications that use GTK platform themes handle this dependency.

notoo1

2025-12-18 18:10

reporter   ~0053392

I've confirmed this fixes the issue locally:

(symlinkJoin {
      name = "scribus-wrapped";
      paths = [ scribus ];
      buildInputs = [ makeWrapper ];
      postBuild = ''
        wrapProgram $out/bin/scribus \
          --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}"
        
        # Recreate desktop file to point to wrapped executable
        if [ -d ${scribus}/share/applications ]; then
          rm -f $out/share/applications/*.desktop
          for desktop in ${scribus}/share/applications/*.desktop; do
            substitute $desktop $out/share/applications/$(basename $desktop) \
              --replace-fail "Exec=scribus" "Exec=$out/bin/scribus"
          done
        fi
      '';
    })

The fix needs gtk3 schemas added to XDG_DATA_DIRS in the package wrapper.

Issue History

Date Modified Username Field Change
2025-12-10 21:34 notoo1 New Issue
2025-12-11 10:08 ale Note Added: 0053363
2025-12-18 14:40 notoo1 Note Added: 0053387
2025-12-18 16:19 ale Note Added: 0053388
2025-12-18 17:31 notoo1 Note Added: 0053391
2025-12-18 18:10 notoo1 Note Added: 0053392