Bug 466926 - Crash in OpenVpnUiPlugin::importConnectionSettings() when importing faulty WireGuard config
Summary: Crash in OpenVpnUiPlugin::importConnectionSettings() when importing faulty Wi...
Status: RESOLVED DUPLICATE of bug 465484
Alias: None
Product: plasma-nm
Classification: Plasma
Component: general (show other bugs)
Version: 5.27.2
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2023-03-06 07:12 UTC by daniel
Modified: 2023-04-12 14:16 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description daniel 2023-03-06 07:12:19 UTC
Application: systemsettings (5.27.2)

Qt Version: 5.15.8
Frameworks Version: 5.103.0
Operating System: Linux 6.2.2-arch1-1 x86_64
Windowing System: X11
Distribution: "Arch Linux"
DrKonqi: 5.27.2 [KCrashBackend]

-- Information about the crash:
Tried to import a wireguard config, which had not working keys, see here:
https://www.hardill.me.uk/wordpress/2021/04/20/setting-up-wireguard-ipv6/

[Interface]
Address = 10.9.0.2/32, 2001:8b0:2c1:xxx::2/128
PrivateKey = UFIJGgtKsor6xxxxxxxxxxxbWeKmw+Bb5ODpyNblEA=
DNS = 8.8.8.8
 
[Peer]
PublicKey = jMB2oMu+YTKigGxxxxxxxxxxSYcTde/7HT+QlQoZFm0=
AllowedIPs = 0.0.0.0/0, ::0/0
Endpoint = hardill.me.uk:53145

The crash can be reproduced every time.

-- Backtrace:
Application: Systemeinstellungen (systemsettings), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>}
[KCrash Handler]
#6  0x00007f03b2de7b97 in OpenVpnUiPlugin::importConnectionSettings(QString const&) (this=<optimized out>, fileName=...) at /usr/src/debug/plasma-nm/plasma-nm-5.27.2/vpn/openvpn/openvpn.cpp:187
#7  0x00007f03c5fe3f7f in KCMNetworkmanagement::importVpn() (this=0x55777f7c79f0) at /usr/src/debug/plasma-nm/plasma-nm-5.27.2/kcm/kcm.cpp:569
#8  KCMNetworkmanagement::onRequestCreateConnection(int, QString const&, QString const&, bool) (this=0x55777f7c79f0, connectionType=<optimized out>, vpnType=<optimized out>, specificType=<optimized out>, shared=<optimized out>) at /usr/src/debug/plasma-nm/plasma-nm-5.27.2/kcm/kcm.cpp:279
#9  0x00007f03e70bec20 in doActivate<false>(QObject*, int, void**) (sender=0x55777ffa5150, signal_index=31, argv=0x7ffc85c914c0) at kernel/qobject.cpp:3935
#10 0x00007f03e4e3209c in QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) (this=0x55777f9d0440, o=<optimized out>, c=QMetaObject::InvokeMetaMethod, _id=48, a=0x7ffc85c914c0) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlvmemetaobject.cpp:969
#11 0x00007f03e4e76544 in QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const (this=0x7ffc85c91760, type=QMetaObject::InvokeMetaMethod, index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlobjectorgadget.cpp:51
#12 0x00007f03e4d77671 in CallMethod (callType=<optimized out>, callArgs=<optimized out>, engine=<optimized out>, argTypes=<optimized out>, argCount=<optimized out>, returnType=<optimized out>, index=<optimized out>, object=<optimized out>) at /usr/include/qt/QtCore/qvarlengtharray.h:189
#13 CallPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call) (object=<optimized out>, data=<optimized out>, engine=<optimized out>, callArgs=<optimized out>, callType=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1553
#14 0x00007f03e4d7cde2 in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const (this=<optimized out>, thisObject=<optimized out>, argv=0x7f03b33c06d8, argc=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2115
#15 0x00007f03e4d8eda3 in QV4::Moth::VME::interpret(QV4::CppStackFrame*, QV4::ExecutionEngine*, char const*) (frame=0x7ffc85c91b70, engine=0x55777f9b4350, code=0x7f03b33c06c0 "\300\311\377\262\003\177") at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:757
#16 0x00007f03e4d94804 in QV4::Moth::VME::exec(QV4::CppStackFrame*, QV4::ExecutionEngine*) (frame=<optimized out>, engine=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:466
#17 0x00007f03e4d36c36 in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>, context=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4function.cpp:69
#18 0x00007f03e4e971ad in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) (this=0x55777fb73290, callData=0x7f03b33c0618, isUndefined=0x0) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmljavascriptexpression.cpp:212
#19 0x00007f03e4e537f1 in QQmlBoundSignalExpression::evaluate(void**) (this=this@entry=0x55777fb73290, a=a@entry=0x7ffc85c93a60) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:224
#20 0x00007f03e4e5476c in QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) (a=0x7ffc85c93a60, e=0x55777fb733b0) at ../../include/QtQml/5.15.8/QtQml/private/../../../../../../qtdeclarative/src/qml/qml/qqmlboundsignalexpressionpointer_p.h:69
#21 QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) (e=0x55777fb733b0, a=0x7ffc85c93a60) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:341
#22 0x00007f03e4e7647f in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) (endpoint=<optimized out>, a=0x7ffc85c93a60) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:104
#23 0x00007f03e70be740 in doActivate<false>(QObject*, int, void**) (sender=0x55777ffc9fe0, signal_index=21, argv=0x7ffc85c93a60) at kernel/qobject.cpp:3815
#24 0x00007f03e4e3209c in QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) (this=0x55777f596fb0, o=<optimized out>, c=QMetaObject::InvokeMetaMethod, _id=45, a=0x7ffc85c93a60) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlvmemetaobject.cpp:969
#25 0x00007f03e4e76544 in QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const (this=0x7ffc85c93d00, type=QMetaObject::InvokeMetaMethod, index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlobjectorgadget.cpp:51
#26 0x00007f03e4d77671 in CallMethod (callType=<optimized out>, callArgs=<optimized out>, engine=<optimized out>, argTypes=<optimized out>, argCount=<optimized out>, returnType=<optimized out>, index=<optimized out>, object=<optimized out>) at /usr/include/qt/QtCore/qvarlengtharray.h:189
#27 CallPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call) (object=<optimized out>, data=<optimized out>, engine=<optimized out>, callArgs=<optimized out>, callType=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1553
#28 0x00007f03e4d7cde2 in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const (this=<optimized out>, thisObject=<optimized out>, argv=0x7f03b33c0550, argc=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2115
#29 0x00007f03e4d8eda3 in QV4::Moth::VME::interpret(QV4::CppStackFrame*, QV4::ExecutionEngine*, char const*) (frame=0x7ffc85c94110, engine=0x55777f9b4350, code=0x7f03b33c0538 "") at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:757
#30 0x00007f03e4d94804 in QV4::Moth::VME::exec(QV4::CppStackFrame*, QV4::ExecutionEngine*) (frame=<optimized out>, engine=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:466
#31 0x00007f03e4d36c36 in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>, context=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4function.cpp:69
#32 0x00007f03e4e971ad in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) (this=0x55777f9fe3d0, callData=0x7f03b33c04d0, isUndefined=0x0) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmljavascriptexpression.cpp:212
#33 0x00007f03e4e537f1 in QQmlBoundSignalExpression::evaluate(void**) (this=this@entry=0x55777f9fe3d0, a=a@entry=0x0) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:224
#34 0x00007f03e4e5476c in QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) (a=0x0, e=0x55777f9fe350) at ../../include/QtQml/5.15.8/QtQml/private/../../../../../../qtdeclarative/src/qml/qml/qqmlboundsignalexpressionpointer_p.h:69
#35 QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) (e=0x55777f9fe350, a=0x0) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:341
#36 0x00007f03e4e7647f in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) (endpoint=<optimized out>, a=0x0) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:104
#37 0x00007f03e70be740 in doActivate<false>(QObject*, int, void**) (sender=0x55777faf38e0, signal_index=64, argv=0x0) at kernel/qobject.cpp:3815
#38 0x00007f03e2295a5a in QQuickAbstractButtonPrivate::handleRelease(QPointF const&) (this=0x55777fc31420, point=...) at /usr/src/debug/qt5-quickcontrols2/qtquickcontrols2/src/quicktemplates2/qquickabstractbutton.cpp:182
#39 0x00007f03e22b0d39 in QQuickControl::mouseReleaseEvent(QMouseEvent*) (this=<optimized out>, event=0x7ffc85c96170) at /usr/src/debug/qt5-quickcontrols2/qtquickcontrols2/src/quicktemplates2/qquickcontrol.cpp:2181
#40 0x00007f03e5440849 in QQuickItem::event(QEvent*) (this=0x55777faf38e0, ev=0x7ffc85c96170) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickitem.cpp:8287
#41 0x00007f03e7d78b5c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55777faf38e0, e=0x7ffc85c96170) at kernel/qapplication.cpp:3640
#42 0x00007f03e708df48 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55777faf38e0, event=0x7ffc85c96170) at kernel/qcoreapplication.cpp:1064
#43 0x00007f03e708dfb3 in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#44 0x00007f03e544edc5 in QQuickWindowPrivate::deliverMouseEvent(QQuickPointerMouseEvent*) (this=this@entry=0x557781840da0, pointerEvent=0x557780eb6570) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickwindow.cpp:2025
#45 0x00007f03e544f812 in QQuickWindowPrivate::deliverPointerEvent(QQuickPointerEvent*) (this=0x557781840da0, event=0x557780eb6570) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickwindow.cpp:2628
#46 0x00007f03e75559f5 in QWindow::event(QEvent*) (this=0x557781afd7b0, ev=<optimized out>) at kernel/qwindow.cpp:2455
#47 0x00007f03e7d78b5c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x557781afd7b0, e=0x7ffc85c96170) at kernel/qapplication.cpp:3640
#48 0x00007f03e708df48 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x557781afd7b0, event=0x7ffc85c96170) at kernel/qcoreapplication.cpp:1064
#49 0x00007f03e708dfd3 in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1474
#50 0x00007f03e753efbc in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (e=0x7f03dc01ce00) at kernel/qguiapplication.cpp:2285
#51 0x00007f03e7528885 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#52 0x00007f03e132e8d0 in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at /usr/src/debug/qt5-base/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:105
#53 0x00007f03e5b1682b in g_main_dispatch (context=0x7f03dc005010) at ../glib/glib/gmain.c:3454
#54 g_main_context_dispatch (context=0x7f03dc005010) at ../glib/glib/gmain.c:4172
#55 0x00007f03e5b6dcc9 in g_main_context_iterate.constprop.0 (context=0x7f03dc005010, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4248
#56 0x00007f03e5b150e2 in g_main_context_iteration (context=0x7f03dc005010, may_block=1) at ../glib/glib/gmain.c:4313
#57 0x00007f03e70d8c6c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55777ede8bb0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#58 0x00007f03e70866ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7ffc85c96510, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#59 0x00007f03e7091219 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#60 0x00007f03e7539fe2 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
#61 0x00007f03e7d76f2a in QApplication::exec() () at kernel/qapplication.cpp:2832
#62 0x000055777d215c07 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/systemsettings/systemsettings-5.27.2/app/main.cpp:188
[Inferior 1 (process 2085) detached]

Reported using DrKonqi
Comment 1 Nicolas Fella 2023-04-12 14:14:58 UTC

*** This bug has been marked as a duplicate of bug 465484 ***
Comment 2 Nicolas Fella 2023-04-12 14:16:37 UTC
Both WireGuard and OpenVPN use files ending in .conf

When importing a .conf file we first try to import it as wireguard, which fails here, then we try again as OpenVPN, which crashes because of https://bugs.kde.org/show_bug.cgi?id=465484