Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kupfer seems broken with Python 3.11.8 (but not 3.11.7) #176

Closed
torstenchr opened this issue Apr 9, 2024 · 7 comments
Closed

Kupfer seems broken with Python 3.11.8 (but not 3.11.7) #176

torstenchr opened this issue Apr 9, 2024 · 7 comments

Comments

@torstenchr
Copy link

Environment

Kupfer Version: 325
Window Manager: xfwm4
Desktop Environment: XFCE
Linux Distribution: Arch Linux

Actual Behaviour

Running fully update Arch (as of 2024-04-09) with the latest Python (3.11.8) the program crashed with segmentation fault. The crash does not occur immediately but after some time when activating it through my selected shortcut keys.

Running with debugging on the terminal does not show any information as to why it crashed. The log only shows the output from processes started through kupfer.

Reverting back to previous version of python 3.11.7, this behaviour is not observed.

I'm not sure if this a problem within kupfer itself or a bug in python.

Expected Behaviour

Kupfer should run stable on version of Python > 3.0

@KarolBedkowski
Copy link
Contributor

I don't see any problem with python 3.11.8 on Debian Sid.
What is last message before crash?
Try to disable all/some plugins.

@nanawel
Copy link

nanawel commented Apr 15, 2024

Running fully update Arch (as of 2024-04-09) with the latest Python (3.11.8) the program crashed with segmentation fault. The crash does not occur immediately but after some time when activating it through my selected shortcut keys.

Same here. I can't find any hint using the console output or even strace 🤷‍♂️

@KarolBedkowski
Copy link
Contributor

I don't see any problem on fresh Arch installation (py 3.11.8, xfce4, Kupfer from repo or git and enabled all plugins).
Also other arch-based distro (EndeavourOS, manjaro) with py 3.11.8 work fine.
Without more derailed information I can't help

@torstenchr
Copy link
Author

torstenchr commented Apr 17, 2024

This is the dump I get from running in a terminal: (this is without debug info, i will try that next)

`
[torsten@rainier:/home/torsten]$ kupfer
Kupfer: A free software (GPLv3+) launcher
Copyright © 2007–2023 Ulrik Sverdrup with others
https://kupferlauncher.github.io/

INF [kupfer.core.sources] SourceController: Initial sources load
INF [kupfer.core.sources] PeriodicRescanner: scan Applications: 152 leaves in 0.00504 s
INF [kupfer.core.sources] PeriodicRescanner: scan torsten: 79 leaves in 0.00000 s
INF [kupfer.core.sources] PeriodicRescanner: scan Desktop: 10 leaves in 0.00000 s
INF [kupfer.ui.browser] WindowController: Trying to register space to spawn kupfer.. success
INF [kupfer.core.sources] PeriodicRescanner: Starting new campaign, interval 1 s
/usr/lib/python3.11/site-packages/gi/overrides/Gtk.py:1694: Warning: g_value_get_int: assertion 'G_VALUE_HOLDS_INT (value)' failed
return _Gtk_main(*args, **kwargs)

(kupfer.py:4639): Gdk-CRITICAL **: 07:49:39.371: gdk_app_launch_context_set_screen: assertion 'screen == NULL || gdk_screen_get_display (screen) == context->display' failed
INF [kupfer.core.sources] PeriodicRescanner: scan torsten: 79 leaves in 0.00272 s
INF [kupfer.core.sources] PeriodicRescanner: scan Desktop: 10 leaves in 0.00078 s
INF [kupfer.core.sources] PeriodicRescanner: Campaign finished, pausing 60 s
INF [kupfer.core.sources] PeriodicRescanner: Starting new campaign, interval 1 s
INF [kupfer.core.sources] PeriodicRescanner: Campaign finished, pausing 60 s
INF [kupfer.core.sources] PeriodicRescanner: Starting new campaign, interval 1 s
INF [kupfer.core.sources] PeriodicRescanner: Campaign finished, pausing 60 s
INF [kupfer.core.sources] PeriodicRescanner: Starting new campaign, interval 1 s
INF [kupfer.core.sources] PeriodicRescanner: Campaign finished, pausing 60 s
INF [kupfer.core.sources] PeriodicRescanner: Starting new campaign, interval 1 s
INF [kupfer.core.sources] PeriodicRescanner: Campaign finished, pausing 60 s
INF [kupfer.core.sources] PeriodicRescanner: Starting new campaign, interval 1 s
INF [kupfer.core.sources] PeriodicRescanner: Campaign finished, pausing 60 s
INF [kupfer.core.sources] PeriodicRescanner: Starting new campaign, interval 1 s
INF [kupfer.core.sources] PeriodicRescanner: Campaign finished, pausing 60 s
INF [kupfer.core.sources] PeriodicRescanner: Starting new campaign, interval 1 s
INF [kupfer.core.sources] PeriodicRescanner: Campaign finished, pausing 60 s
INF [kupfer.core.sources] PeriodicRescanner: Starting new campaign, interval 1 s
INF [kupfer.core.sources] PeriodicRescanner: Campaign finished, pausing 60 s
INF [kupfer.core.sources] PeriodicRescanner: Starting new campaign, interval 1 s
INF [kupfer.core.sources] PeriodicRescanner: Campaign finished, pausing 60 s
Segmentation fault (core dumped)
`

@torstenchr
Copy link
Author

I've attached a file where i had a run WITH debug info on as well.
kupfer-debug.txt

@KarolBedkowski
Copy link
Contributor

KarolBedkowski commented Apr 17, 2024

Look like problem with gdk and detecting default display. Maybe some other updates take place (gi, gtk, gdk) or gi binding in Arch is broken.

Please comment or remove line 537:
uievents.try_close_unused_displays(screen)
in kupfer/ui/browser.py and we'll see if it help.

KarolBedkowski added a commit to KarolBedkowski/kupfer that referenced this issue Apr 18, 2024
On try_close_unused_displays current display is put in skip_displays list
and is not closing. But compare Display objects don't work right and
default / current display may be tried to close. Normally this should be
harmful.

Now skip_displays list contains displays name. Also - if somehow - there is
no default_display - do not close anything.


Close: kupferlauncher#176 (maybe)
@torstenchr
Copy link
Author

@KarolBedkowski - i've been running with that line disabled for the entire weekend now and if does indeed seem to have fixed the issue! I haven't had any segmentation faults since!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants