Bug 463753 - systemsettings crash on "Edit VPN" in NetworkManager - untick "All users may connect to this network"
Summary: systemsettings crash on "Edit VPN" in NetworkManager - untick "All users may ...
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: general (show other bugs)
Version: 5.26.4
Platform: Fedora RPMs Linux
: HI crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
: 461234 461924 463217 464415 465574 465709 (view as bug list)
Depends on:
Blocks:
 
Reported: 2023-01-02 22:04 UTC by avemilia
Modified: 2023-05-02 13:53 UTC (History)
11 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.27
Sentry Crash Report:


Attachments
New crash information added by DrKonqi (3.84 KB, text/plain)
2023-01-26 01:06 UTC, Rigoberto Leyva Salmeron
Details

Note You need to log in before you can comment on or make changes to this bug.
Description avemilia 2023-01-02 22:04:03 UTC
Application: systemsettings (5.26.4)

Qt Version: 5.15.7
Frameworks Version: 5.101.0
Operating System: Linux 6.0.15-300.fc37.x86_64 x86_64
Windowing System: Wayland
Distribution: Fedora Linux 37 (KDE Plasma)
DrKonqi: 5.26.4 [KCrashBackend]

-- Information about the crash:
To reproduce:

1. Import an .ovpn file with pkcs12 via NetworkManager GUI.
2. Go to "General" and untick "All users may connect to this network".
3. The crash occurs on the untick.

I was following the internal documentatation on how to set up VPN for work.

The crash can be reproduced every time.

-- Backtrace:
Application: System Settings (systemsettings), signal: Segmentation fault

[KCrash Handler]
#4  0x00007efff68cd32c in WifiSecurity::setStoreSecretsSystemWide (this=0x55bf252a9e30, system=false) at /usr/src/debug/plasma-nm-5.26.4-1.fc37.x86_64/libs/editor/settings/wifisecurity.cpp:115
#5  0x00007f004b0dbc26 in QtPrivate::QSlotObjectBase::call (a=0x7fffd2cd21b0, r=<optimized out>, this=0x55bf2567bb70) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#6  doActivate<false> (sender=0x55bf255ec080, signal_index=8, argv=0x7fffd2cd21b0) at kernel/qobject.cpp:3919
#7  0x00007f004b0dbc26 in QtPrivate::QSlotObjectBase::call (a=0x7fffd2cd22e0, r=<optimized out>, this=0x55bf25725970) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#8  doActivate<false> (sender=0x55bf26e116b0, signal_index=12, argv=0x7fffd2cd22e0) at kernel/qobject.cpp:3919
#9  0x00007f004b0d6bb7 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f004c2dad40 <QCheckBox::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffd2cd22e0) at kernel/qobject.cpp:3979
#10 0x00007f004beb4aa2 in QCheckBox::stateChanged (this=<optimized out>, _t1=<optimized out>) at .moc/moc_qcheckbox.cpp:172
#11 0x00007f004bea515a in QAbstractButtonPrivate::click (this=0x55bf263f6ff0) at widgets/qabstractbutton.cpp:399
#12 0x00007f004bea52ab in QAbstractButton::mouseReleaseEvent (this=0x55bf26e116b0, e=0x7fffd2cd2830) at widgets/qabstractbutton.cpp:1045
#13 0x00007f004bdf1818 in QWidget::event (this=0x55bf26e116b0, event=0x7fffd2cd2830) at kernel/qwidget.cpp:9043
#14 0x00007f004bdaed12 in QApplicationPrivate::notify_helper (this=this@entry=0x55bf24796200, receiver=receiver@entry=0x55bf26e116b0, e=e@entry=0x7fffd2cd2830) at kernel/qapplication.cpp:3637
#15 0x00007f004bdb7382 in QApplication::notify (this=<optimized out>, receiver=0x55bf26e116b0, e=<optimized out>) at kernel/qapplication.cpp:3081
#16 0x00007f004b0a8278 in QCoreApplication::notifyInternal2 (receiver=0x55bf26e116b0, event=0x7fffd2cd2830) at kernel/qcoreapplication.cpp:1064
#17 0x00007f004bdb5482 in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x55bf26e116b0, event=event@entry=0x7fffd2cd2830, alienWidget=<optimized out>, nativeWidget=0x7f0028006630, buttonDown=buttonDown@entry=0x7f004c30c330 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2619
#18 0x00007f004be0ab7c in QWidgetWindow::handleMouseEvent (this=0x55bf249e86d0, event=0x7fffd2cd2ae0) at kernel/qwidgetwindow.cpp:683
#19 0x00007f004be0df40 in QWidgetWindow::event (this=0x55bf249e86d0, event=0x7fffd2cd2ae0) at kernel/qwidgetwindow.cpp:300
#20 0x00007f004bdaed12 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55bf249e86d0, e=0x7fffd2cd2ae0) at kernel/qapplication.cpp:3637
#21 0x00007f004b0a8278 in QCoreApplication::notifyInternal2 (receiver=0x55bf249e86d0, event=0x7fffd2cd2ae0) at kernel/qcoreapplication.cpp:1064
#22 0x00007f004b56ae7d in QGuiApplicationPrivate::processMouseEvent (e=0x7f002c004df0) at kernel/qguiapplication.cpp:2278
#23 0x00007f004b54a02c in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:1169
#24 0x00007f004835f3f4 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5WaylandClient.so.5
#25 0x00007f0049719cbf in g_main_dispatch (context=0x7f0030005010) at ../glib/gmain.c:3444
#26 g_main_context_dispatch (context=0x7f0030005010) at ../glib/gmain.c:4162
#27 0x00007f004976f598 in g_main_context_iterate.constprop.0 (context=0x7f0030005010, block=1, dispatch=1, self=<optimized out>) at ../glib/gmain.c:4238
#28 0x00007f0049716f40 in g_main_context_iteration (context=0x7f0030005010, may_block=1) at ../glib/gmain.c:4303
#29 0x00007f004b0f938a in QEventDispatcherGlib::processEvents (this=0x55bf247c30e0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#30 0x00007f004b0a6cca in QEventLoop::exec (this=this@entry=0x7fffd2cd2e70, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#31 0x00007f004b0aed92 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#32 0x00007f004b55fbe0 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1863
#33 0x00007f004bdaec89 in QApplication::exec () at kernel/qapplication.cpp:2829
#34 0x000055bf22f0e409 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-systemsettings-5.26.4-1.fc37.x86_64/app/main.cpp:188
[Inferior 1 (process 3483) detached]

Reported using DrKonqi
Comment 1 Nicolas Fella 2023-01-02 23:54:15 UTC
Can confirm on master

#0  0x00007fffa3f17218 in WifiSecurity::setStoreSecretsSystemWide(bool) (this=0x2337b50, system=false) at /home/nico/kde/src/plasma-nm/libs/editor/settings/wifisecurity.cpp:124
#1  0x00007ffff5ce7aa2 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fffffffc870, r=0x133faa0, this=0x16e6970) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#2  doActivate<false>(QObject*, int, void**) (sender=0x2f7b370, signal_index=8, argv=0x7fffffffc870) at kernel/qobject.cpp:3919
#3  0x00007ffff5ce7aa2 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fffffffc9a0, r=0x2f7b370, this=0x1d81f60) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#4  doActivate<false>(QObject*, int, void**) (sender=0x21d9580, signal_index=12, argv=0x7fffffffc9a0) at kernel/qobject.cpp:3919
#5  0x00007ffff5ce12ff in QMetaObject::activate(QObject*, QMetaObject const*, int, void**)
    (sender=<optimized out>, m=m@entry=0x7ffff7268700 <QCheckBox::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffc9a0) at kernel/qobject.cpp:3979
#6  0x00007ffff6e763ae in QCheckBox::stateChanged(int) (this=<optimized out>, _t1=<optimized out>) at .moc/moc_qcheckbox.cpp:172
#7  0x00007ffff6e6812a in QAbstractButtonPrivate::click() (this=0x15088e0) at widgets/qabstractbutton.cpp:399
#8  0x00007ffff6e68267 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) (this=0x21d9580, e=0x7fffffffce00) at widgets/qabstractbutton.cpp:1045
#9  0x00007ffff6dba928 in QWidget::event(QEvent*) (this=0x21d9580, event=0x7fffffffce00) at kernel/qwidget.cpp:9043
#10 0x00007ffff6d7c34e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x44b3d0, receiver=receiver@entry=0x21d9580, e=e@entry=0x7fffffffce00) at kernel/qapplication.cpp:3637
#11 0x00007ffff6d842e2 in QApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x21d9580, e=<optimized out>) at kernel/qapplication.cpp:3081
#12 0x00007ffff5cb2828 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x21d9580, event=0x7fffffffce00) at kernel/qcoreapplication.cpp:1064
#13 0x00007ffff6d8248b in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool)
    (receiver=receiver@entry=0x21d9580, event=event@entry=0x7fffffffce00, alienWidget=<optimized out>, 
    alienWidget@entry=0x21d9580, nativeWidget=0x4f3710, buttonDown=buttonDown@entry=0x7ffff7290a10 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false)
    at kernel/qapplication.cpp:2619
#14 0x00007ffff6dd2bb9 in QWidgetWindow::handleMouseEvent(QMouseEvent*) (this=0x71b2f0, event=0x7fffffffd090) at kernel/qwidgetwindow.cpp:683
#15 0x00007ffff6dd5d19 in QWidgetWindow::event(QEvent*) (this=0x71b2f0, event=0x7fffffffd090) at kernel/qwidgetwindow.cpp:300
#16 0x00007ffff6d7c34e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x71b2f0, e=0x7fffffffd090) at kernel/qapplication.cpp:3637
#17 0x00007ffff5cb2828 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x71b2f0, event=0x7fffffffd090) at kernel/qcoreapplication.cpp:1064
#18 0x00007ffff63436ac in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (e=0x7fffd800a410) at kernel/qguiapplication.cpp:2285
#19 0x00007ffff63183ac in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=...) at kernel/qwindowsysteminterface.cpp:1169
#20 0x00007ffff4d63460 in userEventSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at qeventdispatcher_glib.cpp:74
#21 0x00007ffff2116cbf in g_main_dispatch (context=0x7fffdc005010) at ../glib/gmain.c:3444
#22 g_main_context_dispatch (context=0x7fffdc005010) at ../glib/gmain.c:4162
#23 0x00007ffff216c598 in g_main_context_iterate.constprop.0 (context=0x7fffdc005010, block=1, dispatch=1, self=<optimized out>) at ../glib/gmain.c:4238
#24 0x00007ffff2113f40 in g_main_context_iteration (context=0x7fffdc005010, may_block=1) at ../glib/gmain.c:4303
#25 0x00007ffff5d06e16 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x473c00, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#26 0x00007ffff5cb140b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffd410, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#27 0x00007ffff5cb8f12 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#28 0x00007ffff6337a3c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
#29 0x00007ffff6d7c2c5 in QApplication::exec() () at kernel/qapplication.cpp:2829
#30 0x000000000040dd7b in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /home/nico/kde/src/systemsettings/app/main.cpp:188
Comment 2 Bug Janitor Service 2023-01-03 00:05:47 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-nm/-/merge_requests/205
Comment 3 Nicolas Fella 2023-01-03 20:20:16 UTC
Git commit 145cb877f8541208d504e8f5ea812ea2b66e338d by Nicolas Fella.
Committed on 03/01/2023 at 20:14.
Pushed by nicolasfella into branch 'master'.

Reset wifi security when changing edited connection

initialize() sets m_wifiSecurity for Wifi connections, but doesn't null it when it's not a wifi connection

That means when switching from a wifi to non-wifi connection m_wifiSecurity will not be changed

This will cause onAllUsersChanged to do things it shouldn't do

M  +1    -0    libs/editor/connectioneditorbase.cpp

https://invent.kde.org/plasma/plasma-nm/commit/145cb877f8541208d504e8f5ea812ea2b66e338d
Comment 4 Nicolas Fella 2023-01-17 17:01:04 UTC
*** Bug 461924 has been marked as a duplicate of this bug. ***
Comment 5 Nicolas Fella 2023-01-17 17:01:26 UTC
*** Bug 464415 has been marked as a duplicate of this bug. ***
Comment 6 Nicolas Fella 2023-01-17 17:01:58 UTC
*** Bug 463217 has been marked as a duplicate of this bug. ***
Comment 7 Nicolas Fella 2023-01-17 17:02:13 UTC
*** Bug 461234 has been marked as a duplicate of this bug. ***
Comment 8 Rigoberto Leyva Salmeron 2023-01-26 01:06:22 UTC
Created attachment 155647 [details]
New crash information added by DrKonqi

systemsettings (5.26.5) using Qt 5.15.8

after untick the check button for "All users may connect this network"  on VPN profile, the app crasheed

-- Backtrace (Reduced):
#4  0x00007f95063105ff in PasswordField::setPasswordOption(PasswordField::PasswordOption) () at /lib/x86_64-linux-gnu/libplasmanm_editor.so
#5  0x00007f95062fb4e7 in WifiSecurity::setStoreSecretsSystemWide(bool) () at /lib/x86_64-linux-gnu/libplasmanm_editor.so
[...]
#8  0x00007f9558c06412 in QCheckBox::stateChanged(int) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
[...]
#10 0x00007f9558bf6ad7 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007f9558b4197e in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
Comment 9 Nicolas Fella 2023-02-11 15:04:36 UTC
*** Bug 465574 has been marked as a duplicate of this bug. ***
Comment 10 Nate Graham 2023-02-14 17:10:53 UTC
*** Bug 465709 has been marked as a duplicate of this bug. ***
Comment 11 Nate Graham 2023-02-14 17:12:09 UTC
Got a duplicate report (Bug 465709) from someone using Plasma 5.27 where this was supposed to be fixed; re-opening.
Comment 12 denbip 2023-02-17 11:48:53 UTC
Also I can't save any password (wifi or vpn) to storage, it always asks me to enter the password again, (version 5.27)
Comment 13 Harald Sitter 2023-04-28 21:45:41 UTC
Is this still reproducible? Can we get a more complete backtrace if it is, please?
Comment 14 Miguel Rozsas 2023-05-02 13:53:31 UTC
(In reply to Harald Sitter from comment #13)
> Is this still reproducible? Can we get a more complete backtrace if it is,
> please?

No, not anymore in KDE 5.27.4 .
I guess it was fixed.