https://bugs.kde.org/show_bug.cgi?id=465574

            Bug ID: 465574
           Summary: plasma-nm/systemsettings network settings preferences
                    crash via segfault when attempting to uncheck
                    checkbox
    Classification: Plasma
           Product: plasma-nm
           Version: 5.26.5
          Platform: Archlinux
                OS: Linux
            Status: REPORTED
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: plasma-b...@kde.org
          Reporter: a...@alexdelorenzo.dev
  Target Milestone: ---

SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug
symbols.
See
https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***

If an admin uses `nmcli` to add a WireGuard connection to NetworkManager,
attempting to uncheck the "All users may connect to this network" checkbox in
NetworkManager's preferences using the editor provided by plasma-nm in Plasma's
systemsettings app causes the GUI to crash with a segmentation fault.

STEPS TO REPRODUCE
1.  Generate an example WireGuard conf file via Bash:

    $ echo "[Interface]
    Address = 10.0.0.1/24
    PrivateKey = $(wg genkey)
    DNS = 1.1.1.1

    [Peer]
    PublicKey = $(wg genkey | wg pubkey)
    Endpoint = host:12345
    AllowedIPs = 10.0.0.0/24
    " > wgExample.conf

2. Add the WireGuard connection to NetworkManager via its CLI as root:

    $ sudo nmcli connection import type wireguard file wgExample.conf
    Connection 'wgExample' (11a6964f-874d-4ef5-a67d-c2577c4da210) successfully
added.

2.  Run `systemsettings` or use the plasma-nm widget to open NetworkManager
settings. If using `systemsettings`, go to the Connection tab.
3. Locate the new `wgExample` connection and click it
4. Open the "General configuration" tab
5. Uncheck "All users may connect to this network"

OBSERVED RESULT
`systemsettings` will segfault and crash.

Here's what gets printed to to the console, I don't think it has anything to do
with the crash, though. I posted a gdb trace at the end of this.

    file:///usr/lib/qt/qml/org/kde/kirigami.2/ScrollablePage.qml:200:9: QML
MouseArea: Binding loop detected for property "width"
    file:///usr/lib/qt/qml/org/kde/kirigami.2/ScrollablePage.qml:200:9: QML
MouseArea: Binding loop detected for property "width"
    QQmlEngine::setContextForObject(): Object already has a QQmlContext
    qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
    QQmlEngine::setContextForObject(): Object already has a QQmlContext

EXPECTED RESULT
No crash, either show an error message or uncheck the option. Ideally, if it's
a condition that can't be changed, the checkbox shouldn't be active at all and
should be disabled.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Arch Linux 6.1.10
KDE Plasma Version: 5.26.5
KDE Frameworks Version: 5.102.0
Qt Version: 5.15.8

ADDITIONAL INFORMATION
gdb:

    Thread 1 "systemsettings" received signal SIGSEGV, Segmentation fault.
    0x00007fffce71f70c in WifiSecurity::setStoreSecretsSystemWide
(this=0x555556b4b210, system=false) at
/usr/src/debug/plasma-nm/plasma-nm-5.26.5/libs/editor/settings/wifisecurity.cpp:115
    115            
m_ui->wepKey->setPasswordOption(PasswordField::StoreForAllUsers);

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to