Skip to content

[bug] 0.7.0 Nuitka bundle: AssertionError 'unix_signal_add_full was set deprecated but wasn't added to __all__' #14

@cocoveal

Description

@cocoveal

Summary

The Nuitka-bundled /usr/bin/clipse-gui from the AUR package (clipse-gui 0.7.0-24) crashes at startup on current Arch Linux. Same class of bug as closed issue #13 (which was about __annotate__ on 0.6.0). The bundled binary ships a pinned PyGObject==3.52.3 (per upstream requirements.txt), which is incompatible with the system GLib when deprecation-handling internals change.

Environment

  • Arch Linux, kernel 6.19.11-arch1-1
  • clipse-gui 0.7.0-24 (AUR, Nuitka onefile at /opt/clipse-gui/clipse-gui)
  • System python 3.14.4-1
  • System python-gobject 3.56.2-1
  • System glib2 2.88.0-1

Repro

$ clipse-gui

Full traceback

2026-04-14 21:14:37 - __main__ - INFO - Logging initialized (INFO)
2026-04-14 21:14:37 - __main__ - CRITICAL - Unhandled exception in main: unix_signal_add_full was set deprecated but wasn't added to __all__
Traceback (most recent call last):
  File "/tmp/onefile_373575_1776194077_311454/gi/overrides/__init__.py", line 159, in load_overrides
  File "/tmp/onefile_373575_1776194077_311454/gi/overrides/__init__.py", line 36, in __getattr__
  File "/tmp/onefile_373575_1776194077_311454/gi/module.py", line 123, in __getattr__
AttributeError: 'gi.repository.GLib' object has no attribute 'unix_signal_add_full'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/onefile_373575_1776194077_311454/clipse-gui.py", line 108, in main
  ...
  File "/tmp/onefile_373575_1776194077_311454/gi/importer.py", line 145, in create_module
  File "/tmp/onefile_373575_1776194077_311454/gi/overrides/__init__.py", line 161, in load_overrides
AssertionError: unix_signal_add_full was set deprecated but wasn't added to __all__

Analysis

The pinned PyGObject==3.52.3 in requirements.txt (used by the Nuitka build in justfile) is what gets frozen into the onefile bundle. unix_signal_add_full was removed / changed upstream, and the bundled gi/overrides/GLib.py fails its deprecation-list assertion at import time.

Running from source against system python-gobject 3.56.2 works fine, so this is purely a packaging / pinning issue.

Suggested fixes

  • Bump PyGObject in requirements.txt to a version that matches current GLib (3.56.x at minimum), rebuild the Nuitka bundle, re-release the AUR package.
  • Or: unpin and let the build pick the current release.
  • Longer-term: consider shipping a plain Python package (pyproject + entry point) rather than a Nuitka onefile — it would remove this whole class of bug, since users would link against system python-gobject.

Same class of bug as #13. Worth keeping an eye on the release pipeline so it doesn't recur on the next version bump.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions