NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
16.98k stars 13.34k forks source link

bluedevil-wizard coredumps when trying to connect to airpods #263935

Closed C0D3-M4513R closed 9 months ago

C0D3-M4513R commented 9 months ago

Describe the bug

I want to pair some airpods, but in the gui it only shows The setup of <devicename> has failed.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Use Plasma5 as the DE
  2. Try to pair airpods (or probably any other audio device?)
  3. look in the system journal and view the coredump

Please note, that I did not have programs.dconf.enable = true; present in my configuration. Further attempts to pair that device will result in an immediate failure, rather than trying again (which would be what I expect).

Expected behavior

I expect pairing to be successful and the bluetooth wizard not to coredump.

Screenshots

If applicable, add screenshots to help explain your problem.

Additional context

Add any other context about the problem here.

`journalctl` log of the cordump message

``` Okt 28 11:27:58 nixos plasmashell[1732]: file:///nix/store/aslm8fb2gpqa5cgffmzy0siyw9k2zmxy-plasma-workspace-5.27.9/share/plasma/plasmoids/org.kde.plasma.private.systemtray/contents/ui/> Okt 28 11:28:11 nixos plasmashell[1732]: trying to show an empty dialog Okt 28 11:28:15 nixos systemd[1581]: Started Add Bluetooth Device - Add Bluetooth Device. ░░ Subject: A start job for unit UNIT has finished successfully ░░ Defined-By: systemd ░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel ░░ ░░ A start job for unit UNIT has finished successfully. ░░ ░░ The job identifier is 511. Okt 28 11:28:22 nixos systemd[1581]: Started Add Bluetooth Device - Add Bluetooth Device. ░░ Subject: A start job for unit UNIT has finished successfully ░░ Defined-By: systemd ░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel ░░ ░░ A start job for unit UNIT has finished successfully. ░░ ░░ The job identifier is 515. Okt 28 11:28:22 nixos kernel: QDBusConnection[74816]: segfault at 7f2dc4154a68 ip 00007f2dd24faebd sp 00007f2dcdc28a00 error 4 in libQt5Core.so.5.15.10[7f2dd2297000+317000] likely on CP> Okt 28 11:28:22 nixos kernel: Code: 00 00 48 03 6d 10 0f b6 45 00 83 e0 03 83 e8 01 83 f8 01 0f 87 40 06 00 00 48 8d 45 01 48 89 44 24 20 48 8b 7c 24 10 48 8b 07 10 48 8b 2d 12 f7 > Okt 28 11:28:22 nixos systemd[1]: Started Process Core Dump (PID 74823/UID 0). ░░ Subject: A start job for unit systemd-coredump@1-74823-0.service has finished successfully ░░ Defined-By: systemd ░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel ░░ ░░ A start job for unit systemd-coredump@1-74823-0.service has finished successfully. ░░ ░░ The job identifier is 14775. Okt 28 11:28:22 nixos systemd-coredump[74827]: [🡕] Process 74815 (.bluedevil-wiza) of user 1000 dumped core. Module libpciaccess.so.0 without build-id. Module libxml2.so.2 without build-id. Module libncursesw.so.6 without build-id. Module libdrm_intel.so.1 without build-id. Module libdrm_nouveau.so.2 without build-id. Module libdrm_amdgpu.so.1 without build-id. Module libelf.so.0 without build-id. Module libdrm_radeon.so.1 without build-id. Module libxcb-present.so.0 without build-id. Module libxcb-dri3.so.0 without build-id. Module libxshmfence.so.1 without build-id. Module libXxf86vm.so.1 without build-id. Module libxcb-dri2.so.0 without build-id. Module libdrm.so.2 without build-id. Module libxcb-glx.so.0 without build-id. Module libqxcb-glx-integration.so without build-id. Module libcomposeplatforminputcontextplugin.so without build-id. Module liblzma.so.5 without build-id. Module libKF5Archive.so.5 without build-id. Module libQt5Svg.so.5 without build-id. Module libQt5PrintSupport.so.5 without build-id. Module libKF5GlobalAccel.so.5 without build-id. Module libKF5Crash.so.5 without build-id. Module libQt5QuickTemplates2.so.5 without build-id. Module libffi.so.8 without build-id. Module libattr.so.1 without build-id. Module libacl.so.1 without build-id. Module libKF5GuiAddons.so.5 without build-id. Module libQt5WaylandClient.so.5 without build-id. Module libQt5Xml.so.5 without build-id. Module libKF5Solid.so.5 without build-id. Module libKF5ItemViews.so.5 without build-id. Module libKF5Codecs.so.5 without build-id. Module libKF5AuthCore.so.5 without build-id. Module libKF5Auth.so.5 without build-id. Module libKF5ConfigGui.so.5 without build-id. Module libKF5ConfigWidgets.so.5 without build-id. Module libKF5IconThemes.so.5 without build-id. Module libKF5XmlGui.so.5 without build-id. Module libKF5Bookmarks.so.5 without build-id. Module libQt5Concurrent.so.5 without build-id. Module libKF5Completion.so.5 without build-id. Module libKF5Service.so.5 without build-id. Module libKF5JobWidgets.so.5 without build-id. Module libKF5KIOCore.so.5 without build-id. Module libKF5KIOGui.so.5 without build-id. Module libQt5Qml.so.5 without build-id. Module libQt5QmlModels.so.5 without build-id. Module libQt5Quick.so.5 without build-id. Module libQt5QuickControls2.so.5 without build-id. Module libKF5KIOWidgets.so.5 without build-id. Module libKF5KIOFileWidgets.so.5 without build-id. Module KDEPlasmaPlatformTheme.so without build-id. Module libXrender.so.1 without build-id. Module libXcursor.so.1 without build-id. Module libxcb-util.so.1 without build-id. Module libexpat.so.1 without build-id. Module libxkbcommon.so.0 without build-id. Module libxkbcommon-x11.so.0 without build-id. Module libICE.so.6 without build-id. Module libSM.so.6 without build-id. Module libxcb-xinput.so.0 without build-id. Module libxcb-xkb.so.1 without build-id. Module libxcb-xinerama.so.0 without build-id. Module libxcb-xfixes.so.0 without build-id. Module libxcb-sync.so.1 without build-id. Module libxcb-shape.so.0 without build-id. Module libxcb-render.so.0 without build-id. Module libxcb-render-util.so.0 without build-id. Module libxcb-randr.so.0 without build-id. Module libxcb-shm.so.0 without build-id. Module libxcb-image.so.0 without build-id. Module libxcb-icccm.so.4 without build-id. Module libX11-xcb.so.1 without build-id. Module libfontconfig.so.1 without build-id. Module libQt5XcbQpa.so.5 without build-id. Module libqxcb.so without build-id. Module libmp3lame.so.0 without build-id. Module libmpg123.so.0 without build-id. Module libogg.so.0 without build-id. Module libopus.so.0 without build-id. Module libvorbisenc.so.2 without build-id. Module libvorbis.so.0 without build-id. Module libFLAC.so.12 without build-id. Module libbrotlicommon.so.1 without build-id. Module libsndfile.so.1 without build-id. Module libbrotlidec.so.1 without build-id. Module libbz2.so.1 without build-id. Module libkeyutils.so.1 without build-id. Module libkrb5support.so.0 without build-id. Module libcom_err.so.3 without build-id. Module libk5crypto.so.3 without build-id. Module libkrb5.so.3 without build-id. Module libpulsecommon-16.1.so without build-id. Module libpcre2-8.so.0 without build-id. Module libsystemd.so.0 without build-id. Module libgraphite2.so.3 without build-id. Module libfreetype.so.6 without build-id. Module libGLdispatch.so.0 without build-id. Module libXext.so.6 without build-id. Module libGLX.so.0 without build-id. Module libcap.so.2 without build-id. Module libgssapi_krb5.so.2 without build-id. Module libXdmcp.so.6 without build-id. Module libXau.so.6 without build-id. Module libpulse-mainloop-glib.so.0 without build-id. Module libpulse.so.0 without build-id. Module libzstd.so.1 without build-id. Module libpcre2-16.so.0 without build-id. Module libicudata.so.73 without build-id. Module libicuuc.so.73 without build-id. Module libicui18n.so.73 without build-id. Module libdbus-1.so.3 without build-id. Module libharfbuzz.so.0 without build-id. Module libz.so.1 without build-id. Module libpng16.so.16 without build-id. Module libGL.so.1 without build-id. Module libudev.so.1 without build-id. Module libQt5Network.so.5 without build-id. Module libxcb-keysyms.so.1 without build-id. Module libXfixes.so.3 without build-id. Module libxcb.so.1 without build-id. Module libdbusmenu-qt5.so.2 without build-id. Module libphonon4qt5.so.4 without build-id. Module libKF5ConfigCore.so.5 without build-id. Module libQt5X11Extras.so.5 without build-id. Module libgcc_s.so.1 without build-id. Module libstdc++.so.6 without build-id. Module libQt5Core.so.5 without build-id. Module libQt5DBus.so.5 without build-id. Module libQt5Gui.so.5 without build-id. Module libQt5Widgets.so.5 without build-id. Module libX11.so.6 without build-id. Module libKF5CoreAddons.so.5 without build-id. Module libKF5BluezQt.so.6 without build-id. Module libKF5WindowSystem.so.5 without build-id. Module libKF5WidgetsAddons.so.5 without build-id. Module libKF5Notifications.so.5 without build-id. Module libKF5DBusAddons.so.5 without build-id. Module libKF5I18n.so.5 without build-id. Module .bluedevil-wizard-wrapped without build-id. Stack trace of thread 74816: #0 0x00007f2dd24faebd _ZN7QObject10disconnectEPKS_PKcS1_S3_ (libQt5Core.so.5 + 0x2faebd) #1 0x00007f2dd2f978f8 _ZN22QDBusConnectionPrivate15closeConnectionEv (libQt5DBus.so.5 + 0x298f8) #2 0x00007f2dd2f877d7 _ZN22QDBusConnectionManager3runEv (libQt5DBus.so.5 + 0x197d7) #3 0x00007f2dd22d5b2c _ZN14QThreadPrivate5startEPv (libQt5Core.so.5 + 0xd5b2c) #4 0x00007f2dd1c9ee64 start_thread (libc.so.6 + 0x85e64) #5 0x00007f2dd1d209f0 __clone3 (libc.so.6 + 0x1079f0) Stack trace of thread 74815: #0 0x00007f2dd1c9ba76 __futex_abstimed_wait_common (libc.so.6 + 0x82a76) #1 0x00007f2dd1c9e268 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x85268) #2 0x00007f2dd22dba3b _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt5Core.so.5 + 0xdba3b) #3 0x00007f2dd22d57f1 _ZN7QThread4waitE14QDeadlineTimer (libQt5Core.so.5 + 0xd57f1) #4 0x00007f2dd2f8789c _ZN22QDBusConnectionManagerD2Ev (libQt5DBus.so.5 + 0x1989c) #5 0x00007f2dd2f87949 _ZZN12_GLOBAL__N_116Q_QGS__q_manager13innerFunctionEvEN6HolderD2Ev (libQt5DBus.so.5 + 0x19949) #6 0x00007f2dd1c542c5 __run_exit_handlers (libc.so.6 + 0x3b2c5) #7 0x00007f2dd1c543fe exit (libc.so.6 + 0x3b3fe) #8 0x00007f2dd3c63c87 _ZN12Registration19attemptRegistrationEv (libKF5DBusAddons.so.5 + 0x10c87) #9 0x00007f2dd3c6111f _ZN12KDBusServiceC1E6QFlagsINS_13StartupOptionEEP7QObject (libKF5DBusAddons.so.5 + 0xe11f) #10 0x000000000040e2e3 main (.bluedevil-wizard-wrapped + 0xe2e3) #11 0x00007f2dd1c3cb0e __libc_start_call_main (libc.so.6 + 0x23b0e) #12 0x00007f2dd1c3cbc9 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x23bc9) #13 0x000000000040e415 _start (.bluedevil-wizard-wrapped + 0xe415) Stack trace of thread 74817: #0 0x00007f2dd1d137bf __poll (libc.so.6 + 0xfa7bf) #1 0x00007f2dd20e1d12 _xcb_conn_wait (libxcb.so.1 + 0xdd12) #2 0x00007f2dd20e3fea xcb_wait_for_event (libxcb.so.1 + 0xffea) #3 0x00007f2dcdd20310 _ZN14QXcbEventQueue3runEv (libQt5XcbQpa.so.5 + 0x6a310) #4 0x00007f2dd22d5b2c _ZN14QThreadPrivate5startEPv (libQt5Core.so.5 + 0xd5b2c) #5 0x00007f2dd1c9ee64 start_thread (libc.so.6 + 0x85e64) #6 0x00007f2dd1d209f0 __clone3 (libc.so.6 + 0x1079f0) ELF object binary architecture: AMD x86-64 ░░ Subject: Process 74815 (.bluedevil-wiza) dumped core ░░ Defined-By: systemd ░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel ░░ Documentation: man:core(5) ░░ ░░ Process 74815 (.bluedevil-wiza) crashed and dumped core. ░░ ░░ This usually indicates a programming error in the crashing program and ░░ should be reported to its vendor as a bug. Okt 28 11:28:22 nixos systemd[1]: systemd-coredump@1-74823-0.service: Deactivated successfully. ░░ Subject: Unit succeeded ░░ Defined-By: systemd ░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel ░░ ░░ The unit systemd-coredump@1-74823-0.service has successfully entered the 'dead' state. ```

I additionally tried to pair with blueman-manager, and that gives me the following:

blueman-manager 11.54.25 ERROR    Manager:223 error_handler:  Authentication Rejected
Traceback (most recent call last):
  File "/nix/store/111m5404gvpsb4rijzj2spxgjh53dv1g-blueman-2.3.5/lib/python3.10/site-packages/blueman/bluez/Base.py", line 78, in callback
    value = proxy.call_finish(result).unpack()
gi.repository.GLib.GError: g-io-error-quark: GDBus.Error:org.bluez.Error.AuthenticationRejected: Authentication Rejected (36)

Maybe this helps with the debugging.

Notify maintainers

@ttuegel @nyanloutre (per https://search.nixos.org/packages?channel=23.05&show=libsForQt5.bluedevil&from=0&size=50&sort=relevance&type=packages&query=bluedevil) @K900 (per git blame when you go to source in the above link)

I hope I didn't @ any people I shouldn't have.

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.60, NixOS, 23.05 (Stoat), 23.05.4527.60b9db998f71`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.6`
 - channels(root): `"nixos-23.05"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`
K900 commented 9 months ago

That error is likely unrelated and is a Qt bug that has been fixed in nixos-unstable (and the upcoming 23.11). I'd probably look at the logs for BlueZ and Pulseaudio or Pipewire (whichever you're using).

C0D3-M4513R commented 9 months ago

I do not use bluez and the issue is that the device doesn't even connect correctly in the first place (so no pipewire logs). I was eventually able to get it working just now by using blueman-manager and disconnecting, removing, untrusting, reconnecting and repairing (in that order, via the blueman-manager gui).

K900 commented 9 months ago

The KDE stuff requires BlueZ, and so do Pipewire/Pulse for actual sound output.

C0D3-M4513R commented 9 months ago

I do not have bluez as a service or any bluez related programms installed though. I do not explicitly disable bluez.

The sound output works rn as expected after pairing and connecting with blueman-manager...

K900 commented 9 months ago

hardware.bluetooth.enable automatically enables BlueZ.

C0D3-M4513R commented 9 months ago

I ofc do have hardware.bluetooth.enable set. Guess that bluez does not install any services named after it. I do have bluez in my nix store, so looks like it is installed.

Sorry for the confusion. I'm still very new to nix.

C0D3-M4513R commented 9 months ago

That error is likely unrelated and is a Qt bug that has been fixed in nixos-unstable (and the upcoming 23.11). I'd probably look at the logs for BlueZ and Pulseaudio or Pipewire (whichever you're using).

So should I close this? Especially because there is a workaround?

K900 commented 9 months ago

There are two different issues here. One is your earphones not pairing, and you need to look at BlueZ for that. The other one is bluedevil-wizard crashing on a normal exit (and yes, that was very likely a normal exit), which is resolved in the latest Qt 5 patchsets in unstable.

C0D3-M4513R commented 9 months ago

One is your earphones not pairing, and you need to look at BlueZ for that

My earphones are now paired, connected and playing music. So BlueZ works as expected ig

The other one is bluedevil-wizard crashing on a normal exit (and yes, that was very likely a normal exit), which is resolved in the latest Qt 5 patchsets in unstable.

Closing then, as this issue was targeted towards the bluedevil-wizard crash