Skip to content

Crash when using launcher #36

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

Open
TheSunCat opened this issue May 11, 2025 · 4 comments
Open

Crash when using launcher #36

TheSunCat opened this issue May 11, 2025 · 4 comments
Labels
bug Something isn't working crash

Comments

@TheSunCat
Copy link

General crash information

General information
===== Build Information =====
Git Revision: 8863bf55ff5c4045e82e468aa7a8e7969e8c921d
Buildtime Qt Version: 6.9.0
Build Type: RelWithDebInfo
Compiler: Clang (19.1.7)
Complie Flags: 

Build configuration:
  Distributor: Official-Nix-Flake
  Distributor provided debuginfo: TRUE
  Disable precompild headers (dev): OFF
  Build tests (dev): OFF
  ASAN (dev): OFF
  Keep Frame Pointers (dev): OFF
  Crash Handling: TRUE
  Use jemalloc: TRUE
  Unix Sockets: ON
  Wayland: TRUE
    Wlroots Layer-Shell: ON
    Session Lock: ON
    Foreign Toplevel Management: ON
    Hyprland: TRUE
      Hyprland IPC: ON
      Hyprland Global Shortcuts: ON
      Hyprland Focus Grabbing: ON
      Hyprland Surface Extensions: ON
    Screencopy: TRUE
      Image Copy Capture: ON
      Wlroots Screencopy: ON
      Hyprland Toplevel Export: ON
  X11: ON
  I3/Sway: TRUE
    I3/Sway IPC: ON
  System Tray: ON
  PipeWire: TRUE
  Mpris: ON
  Pam: TRUE
  Greetd: ON
  UPower: ON
  Notifications: ON

===== Runtime Information =====
Runtime Qt Version: 6.9.0
Crashed process ID: 68258
Run ID: exb1nca4ws
Shell ID: c68d38b89bfbbbae76d4851a1e4494e4
Config Path: /home/mat/.config/quickshell/shell.qml

===== Report Integrity =====
Minidump save status: 0
Log save status: 0
Binary copy status: 0

===== System Information =====

/etc/os-release:
ANSI_COLOR="0;38;2;126;186;228"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="25.05.20250508.dda3dcd"
CPE_NAME="cpe:/o:nixos:nixos:25.05"
DEFAULT_HOSTNAME=nixos
DOCUMENTATION_URL="https://nixos.org/learn.html"
HOME_URL="https://nixos.org/"
ID=nixos
ID_LIKE=""
IMAGE_ID=""
IMAGE_VERSION=""
LOGO="nix-snowflake"
NAME=NixOS
PRETTY_NAME="NixOS 25.05 (Warbler)"
SUPPORT_URL="https://nixos.org/community.html"
VARIANT=""
VARIANT_ID=""
VENDOR_NAME=NixOS
VENDOR_URL="https://nixos.org/"
VERSION="25.05 (Warbler)"
VERSION_CODENAME=warbler
VERSION_ID="25.05"

/etc/lsb-release:
DISTRIB_CODENAME=warbler
DISTRIB_DESCRIPTION="NixOS 25.05 (Warbler)"
DISTRIB_ID=nixos
DISTRIB_RELEASE="25.05"
LSB_VERSION="25.05 (Warbler)"

What caused the crash

When typing into the search field from my launcher, Quickshell often crashes. Sometimes it auto restarts, other times I have to start it myself. It's not consistent to reproduce but happens multiple times per day.

Minidump

minidump.dmp.log

Log file

log.qslog.log

Configuration

https://git.allpurposem.at/mat/Quickbar/src/commit/36973928da0bbf388a7054308e35e747141139c6

Backtrace

                Stack trace of thread 68258:
                #0  0x00007f678eb45b80 _ZL16incrementIndexesP21QQmlDelegateModelItemiPKi (libQt6QmlModels.so.6 + 0x8bb80)
                #1  0x00007f678eb5246b _ZN24QQmlDelegateModelPrivate13itemsInsertedERK5QListIN18QQmlListCompositor6InsertEEP15QVarLengthArrayIS0_IN13QQmlChangeSet6ChangeEELx11EEP5QHashIiS0_IP21QQmlDelegateModelItemEE (libQt6QmlModels.so.6 + 0x9846b)
                #2  0x00007f678eb58f94 _ZN24QQmlDelegateModelPrivate10itemsMovedERK5QListIN18QQmlListCompositor6RemoveEERKS0_INS1_6InsertEE (libQt6QmlModels.so.6 + 0x9ef94)
                #3  0x00007f678eb5a606 _ZN17QQmlDelegateModel13_q_itemsMovedEiii (libQt6QmlModels.so.6 + 0xa0606)
                #4  0x00007f678c41c7a0 _Z10doActivateILb0EEvP7QObjectiPPv (libQt6Core.so.6 + 0x21c7a0)
                #5  0x00007f678c63c086 _ZN18QAbstractItemModel9rowsMovedERK11QModelIndexiiS2_iNS_14QPrivateSignalE (libQt6Core.so.6 + 0x43c086)
                #6  0x00007f678c64b9bd _ZN18QAbstractItemModel11endMoveRowsEv (libQt6Core.so.6 + 0x44b9bd)
                #7  0x000055a6abd91f54 _ZN11ScriptModel18updateValuesUniqueERK5QListI8QVariantE (/nix/store/hbkxhlxhdvz2m5mma50bp331jkhjmxzw-quickshell-0.1.0/bin/.quickshell-wrapped + 0x15cf54)
                #8  0x000055a6abd923a6 _ZN11ScriptModel9setValuesERK5QListI8QVariantE (/nix/store/hbkxhlxhdvz2m5mma50bp331jkhjmxzw-quickshell-0.1.0/bin/.quickshell-wrapped + 0x15d3a6)
                #9  0x00007f678d210eb4 _ZNK16QQmlPropertyData13writePropertyEP7QObjectPv6QFlagsINS_9WriteFlagEE.isra.0 (libQt6Qml.so.6 + 0x410eb4)
                #10 0x00007f678d216dcb _ZN19QQmlPropertyPrivate5writeEP7QObjectRK16QQmlPropertyDataRK8QVariantRK14QQmlRefPointerI15QQmlContextDataE6QFlagsINS2_9WriteFlagEE (libQt6Qml.so.6 + 0x416dcb)
                #11 0x00007f678d140e6d _ZN11QQmlBinding9slowWriteERK16QQmlPropertyDataS2_RKN3QV45ValueEb6QFlagsINS0_9WriteFlagEE (libQt6Qml.so.6 + 0x340e6d)
                #12 0x00007f678d144c65 _ZN14GenericBindingILi0EE5writeERKN3QV45ValueEb6QFlagsIN16QQmlPropertyData9WriteFlagEE (libQt6Qml.so.6 + 0x344c65)
                #13 0x00007f678d13e829 _ZN11QQmlBinding8doUpdateERKN24QQmlJavaScriptExpression13DeleteWatcherE6QFlagsIN16QQmlPropertyData9WriteFlagEERN3QV45ScopeE (libQt6Qml.so.6 + 0x33e829)
                #14 0x00007f678d1424b1 _ZN11QQmlBinding6updateE6QFlagsIN16QQmlPropertyData9WriteFlagEE (libQt6Qml.so.6 + 0x3424b1)
                #15 0x00007f678d1e8df5 _ZN12QQmlNotifier10emitNotifyEP20QQmlNotifierEndpointPPv (libQt6Qml.so.6 + 0x3e8df5)
                #16 0x00007f678c41c185 _Z10doActivateILb0EEvP7QObjectiPPv (libQt6Core.so.6 + 0x21c185)
                #17 0x00007f678e4caa61 _ZN22QQuickTextInputPrivate12finishChangeEibb (libQt6Quick.so.6 + 0x2caa61)
                #18 0x00007f678e4d0417 _ZN22QQuickTextInputPrivate15processKeyEventEP9QKeyEvent (libQt6Quick.so.6 + 0x2d0417)
                #19 0x00007f678e4d04d0 _ZN15QQuickTextInput13keyPressEventEP9QKeyEvent (libQt6Quick.so.6 + 0x2d04d0)
                #20 0x00007f678e43ac23 _ZN17QQuickItemPrivate15deliverKeyEventEP9QKeyEvent (libQt6Quick.so.6 + 0x23ac23)
                #21 0x00007f678e43b060 _ZN10QQuickItem5eventEP6QEvent (libQt6Quick.so.6 + 0x23b060)
                #22 0x00007f678c3b2698 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt6Core.so.6 + 0x1b2698)
                #23 0x00007f678e61fc7f _ZN26QQuickDeliveryAgentPrivate15deliverKeyEventEP9QKeyEvent (libQt6Quick.so.6 + 0x41fc7f)
                #24 0x00007f678d8689a8 _ZN7QWindow5eventEP6QEvent (libQt6Gui.so.6 + 0x2689a8)
                #25 0x00007f678c3b2698 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt6Core.so.6 + 0x1b2698)
                #26 0x00007f678d7fc6db _ZN22QGuiApplicationPrivate15processKeyEventEPN29QWindowSystemInterfacePrivate8KeyEventE (libQt6Gui.so.6 + 0x1fc6db)
                #27 0x00007f678d86ce64 _ZN22QWindowSystemInterface22sendWindowSystemEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt6Gui.so.6 + 0x26ce64)
                #28 0x00007f678d86d08f _ZN22QWindowSystemInterface23flushWindowSystemEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt6Gui.so.6 + 0x26d08f)
                #29 0x00007f678c40dd97 _ZN7QObject5eventEP6QEvent (libQt6Core.so.6 + 0x20dd97)
                #30 0x00007f678c3b2698 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt6Core.so.6 + 0x1b2698)
                #31 0x00007f678c3b63e4 _ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData (libQt6Core.so.6 + 0x1b63e4)
                #32 0x00007f678c6c42c7 _ZL23postEventSourceDispatchP8_GSourcePFiPvES1_ (libQt6Core.so.6 + 0x4c42c7)
                #33 0x00007f678bd09fc1 g_main_context_dispatch_unlocked (libglib-2.0.so.0 + 0x60fc1)
                #34 0x00007f678bd0c280 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0x63280)
                #35 0x00007f678bd0cabc g_main_context_iteration (libglib-2.0.so.0 + 0x63abc)
                #36 0x00007f678c6c39a3 _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt6Core.so.6 + 0x4c39a3)
                #37 0x00007f678c3c0beb _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt6Core.so.6 + 0x1c0beb)
                #38 0x00007f678c3bc02e _ZN16QCoreApplication4execEv (libQt6Core.so.6 + 0x1bc02e)
                #39 0x000055a6abcd8812 _ZN2qs6launch6launchERKNS0_10LaunchArgsEPPcP16QCoreApplication (/nix/store/hbkxhlxhdvz2m5mma50bp331jkhjmxzw-quickshell-0.1.0/bin/.quickshell-wrapped + 0xa3812)
                #40 0x000055a6abcd11a0 _ZN2qs6launch12_GLOBAL__N_117launchFromCommandERNS0_12CommandStateEP16QCoreApplication (/nix/store/hbkxhlxhdvz2m5mma50bp331jkhjmxzw-quickshell-0.1.0/bin/.quickshell-wrapped + 0x9c1a0)
                #41 0x000055a6abcd0513 _ZN2qs6launch10runCommandEiPPcP16QCoreApplication (/nix/store/hbkxhlxhdvz2m5mma50bp331jkhjmxzw-quickshell-0.1.0/bin/.quickshell-wrapped + 0x9b513)
                #42 0x000055a6abcc7449 _ZN2qs6launch4mainEiPPc (/nix/store/hbkxhlxhdvz2m5mma50bp331jkhjmxzw-quickshell-0.1.0/bin/.quickshell-wrapped + 0x92449)
                #43 0x00007f678ba2a47e __libc_start_call_main (libc.so.6 + 0x2a47e)
                #44 0x00007f678ba2a539 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x2a539)
                #45 0x000055a6abcc55d5 _start (/nix/store/hbkxhlxhdvz2m5mma50bp331jkhjmxzw-quickshell-0.1.0/bin/.quickshell-wrapped + 0x905d5)
                ELF object binary architecture: AMD x86-64

Executable

No response

@TheSunCat TheSunCat added bug Something isn't working crash labels May 11, 2025
@outfoxxed
Copy link
Member

outfoxxed commented May 12, 2025

Can you edit a println into the model source, e.g.

values: {
                            const r = DesktopEntries.applications.values.map(object => {
                            const query = searchInput.text.toLowerCase();
                            const name = object.name.toLowerCase();
                            
                            let score = 0;
                            let queryIndex = 0;
                            let nameIndex = 0;

                            while (queryIndex < query.length && nameIndex < name.length) {
                                if (query[queryIndex] === name[nameIndex]) {
                                    score++;
                                    queryIndex++;
                                } else {
                                    score--;
                                }
                                nameIndex++;
                            }

                            while (queryIndex < query.length) {
                                score--;
                                queryIndex++;
                            }

                            return {
                                object: object,
                                score: score
                            };
                        }).filter(entry => entry !== null).sort((a, b) => {
                            return b.score - a.score;
                        }).map(entry => entry.object);

                        console.log(r)
                        return r
                        }

And then send the log file after a crash so we can see exactly what change triggered it?

@TheSunCat
Copy link
Author

Of course. I modified my code to match the one you sent, here is a new log file:

log.qslog.log
minidump.dmp.log

@outfoxxed
Copy link
Member

Does this crash for you?

import Quickshell
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts

FloatingWindow {
	property var values1: [
		"DesktopEntry(0x7fae57d28e80)",
		"DesktopEntry(0x7fae57d6f7c0)",
		"DesktopEntry(0x7fae57d276c0)",
		"DesktopEntry(0x7fae57d27e40)",
		"DesktopEntry(0x7fae57d70e40)",
		"DesktopEntry(0x7fae57d28480)",
		"DesktopEntry(0x7fae57d6ea00)",
		"DesktopEntry(0x7fae57d26f40)",
		"DesktopEntry(0x7fae57d72240)",
		"DesktopEntry(0x7fae57d285c0)",
		"DesktopEntry(0x7fae57d6edc0)",
		"DesktopEntry(0x7fae57d71700)",
		"DesktopEntry(0x7fae57d29d80)",
		"DesktopEntry(0x7fae57d6f040)",
		"DesktopEntry(0x7fae57d25a00)",
		"DesktopEntry(0x7fae5d9d2840)",
		"DesktopEntry(0x7fae57d6f540)",
		"DesktopEntry(0x7fae57d27a80)",
		"DesktopEntry(0x7fae57d280c0)",
		"DesktopEntry(0x7fae5d9d2200)",
		"DesktopEntry(0x7fae57d26e00)",
		"DesktopEntry(0x7fae57d6e500)",
		"DesktopEntry(0x7fae5d9d3b00)",
		"DesktopEntry(0x7fae5d9d3100)",
		"DesktopEntry(0x7fae57d29600)",
		"DesktopEntry(0x7fae57d27080)",
		"DesktopEntry(0x7fae57d72100)",
		"DesktopEntry(0x7fae57d27580)",
		"DesktopEntry(0x7fae5d9d1bc0)",
		"DesktopEntry(0x7fae57d6e000)",
		"DesktopEntry(0x7fae5d9d2fc0)",
		"DesktopEntry(0x7fae57d70800)",
		"DesktopEntry(0x7fae57d6fe00)",
		"DesktopEntry(0x7fae57d29740)",
		"DesktopEntry(0x7fae57d29880)",
		"DesktopEntry(0x7fae57d6e780)",
		"DesktopEntry(0x7fae57d71d40)",
		"DesktopEntry(0x7fae57d28c00)",
		"DesktopEntry(0x7fae57d70bc0)",
		"DesktopEntry(0x7fae57d27d00)",
		"DesktopEntry(0x7fae57d29b00)",
		"DesktopEntry(0x7fae57d271c0)",
		"DesktopEntry(0x7fae57d26b80)",
		"DesktopEntry(0x7fae57d28fc0)",
		"DesktopEntry(0x7fae57d28340)",
		"DesktopEntry(0x7fae5d9d2d40)",
		"DesktopEntry(0x7fae57d28700)",
		"DesktopEntry(0x7fae5d9d2ac0)",
		"DesktopEntry(0x7fae5d9d1f80)",
		"DesktopEntry(0x7fae57d26900)",
		"DesktopEntry(0x7fae5d9d3880)",
		"DesktopEntry(0x7fae5d9d3600)",
		"DesktopEntry(0x7fae5d9d2700)",
		"DesktopEntry(0x7fae57d28200)",
		"DesktopEntry(0x7fae5d9d25c0)",
		"DesktopEntry(0x7fae57d70080)",
		"DesktopEntry(0x7fae57d70940)",
		"DesktopEntry(0x7fae57d25140)",
		"DesktopEntry(0x7fae57d6fa40)",
		"DesktopEntry(0x7fae57d28d40)",
		"DesktopEntry(0x7fae57d267c0)",
		"DesktopEntry(0x7fae57d28840)",
		"DesktopEntry(0x7fae5d9d2e80)",
		"DesktopEntry(0x7fae57d25000)"
	]

	property var values2: [
		"DesktopEntry(0x7fae57d28e80)",
		"DesktopEntry(0x7fae57d6f7c0)",
		"DesktopEntry(0x7fae57d276c0)",
		"DesktopEntry(0x7fae57d27e40)",
		"DesktopEntry(0x7fae57d70e40)",
		"DesktopEntry(0x7fae57d28480)",
		"DesktopEntry(0x7fae57d6edc0)",
		"DesktopEntry(0x7fae57d72240)",
		"DesktopEntry(0x7fae57d6ea00)",
		"DesktopEntry(0x7fae57d285c0)",
		"DesktopEntry(0x7fae57d71700)",
		"DesktopEntry(0x7fae57d6f040)",
		"DesktopEntry(0x7fae57d25a00)",
		"DesktopEntry(0x7fae57d29d80)",
		"DesktopEntry(0x7fae5d9d2840)",
		"DesktopEntry(0x7fae57d6f540)",
		"DesktopEntry(0x7fae57d280c0)",
		"DesktopEntry(0x7fae57d27a80)",
		"DesktopEntry(0x7fae57d26e00)",
		"DesktopEntry(0x7fae5d9d2200)",
		"DesktopEntry(0x7fae57d6e500)",
		"DesktopEntry(0x7fae57d29600)",
		"DesktopEntry(0x7fae5d9d3100)",
		"DesktopEntry(0x7fae57d26f40)",
		"DesktopEntry(0x7fae5d9d3b00)",
		"DesktopEntry(0x7fae57d27080)",
		"DesktopEntry(0x7fae5d9d1bc0)",
		"DesktopEntry(0x7fae57d72100)",
		"DesktopEntry(0x7fae57d6e000)",
		"DesktopEntry(0x7fae57d29880)",
		"DesktopEntry(0x7fae57d6fe00)",
		"DesktopEntry(0x7fae57d70800)",
		"DesktopEntry(0x7fae57d29740)",
		"DesktopEntry(0x7fae5d9d2fc0)",
		"DesktopEntry(0x7fae57d71d40)",
		"DesktopEntry(0x7fae57d6e780)",
		"DesktopEntry(0x7fae57d28c00)",
		"DesktopEntry(0x7fae57d70bc0)",
		"DesktopEntry(0x7fae57d29b00)",
		"DesktopEntry(0x7fae57d271c0)",
		"DesktopEntry(0x7fae57d27d00)",
		"DesktopEntry(0x7fae57d26b80)",
		"DesktopEntry(0x7fae57d28fc0)",
		"DesktopEntry(0x7fae57d28340)",
		"DesktopEntry(0x7fae57d28700)",
		"DesktopEntry(0x7fae5d9d2d40)",
		"DesktopEntry(0x7fae5d9d1f80)",
		"DesktopEntry(0x7fae5d9d3600)",
		"DesktopEntry(0x7fae5d9d3880)",
		"DesktopEntry(0x7fae5d9d2ac0)",
		"DesktopEntry(0x7fae57d26900)",
		"DesktopEntry(0x7fae5d9d2700)",
		"DesktopEntry(0x7fae57d28200)",
		"DesktopEntry(0x7fae5d9d25c0)",
		"DesktopEntry(0x7fae57d70080)",
		"DesktopEntry(0x7fae57d70940)",
		"DesktopEntry(0x7fae57d25140)",
		"DesktopEntry(0x7fae57d28d40)",
		"DesktopEntry(0x7fae57d267c0)",
		"DesktopEntry(0x7fae57d6fa40)",
		"DesktopEntry(0x7fae5d9d2e80)",
		"DesktopEntry(0x7fae57d28840)",
		"DesktopEntry(0x7fae57d27580)",
		"DesktopEntry(0x7fae57d25000)"
	]

	property var swap: false

	ColumnLayout {
		anchors.fill: parent

		Button {
			text: "Swap"
			onClicked: swap = !swap
		}

		ListView {
			Layout.fillWidth: true
			Layout.fillHeight: true

			model: ScriptModel {
				values: swap ? values2 : values1
			}

			delegate: Text {
				required property string modelData;
				text: modelData
			}

			add: Transition {
				NumberAnimation {
					property: "opacity"
					from: 0
					to: 1
					duration: 100
				}
			}

			displaced: Transition {
				NumberAnimation {
					property: "y"
					duration: 200
					easing.type: Easing.OutCubic
				}
				NumberAnimation {
					property: "opacity"
					to: 1
					duration: 100
				}
			}

			move: Transition {
				NumberAnimation {
					property: "y"
					duration: 100
					easing.type: Easing.OutCubic
				}
				NumberAnimation {
					property: "opacity"
					to: 1
					duration: 50
				}
			}

			remove: Transition {
				NumberAnimation {
					property: "y"
					duration: 100
					easing.type: Easing.OutCubic
				}
				NumberAnimation {
					property: "opacity"
					to: 0
					duration: 50
				}
			}
		}
	}
}

@TheSunCat
Copy link
Author

Nope, clicking the "Swap" button correctly swaps between both lists and plays an animation. It's possible that I just haven't gotten lucky enough, since the launcher crash is pretty random as well, but I tested this for a few minutes with no luck.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working crash
Projects
None yet
Development

No branches or pull requests

2 participants