Bug 440430 - KDevelop crashes launching debug session when launching arguments contain '\n'
Summary: KDevelop crashes launching debug session when launching arguments contain '\n'
Status: REPORTED
Alias: None
Product: kdevelop
Classification: Applications
Component: general (other bugs)
Version First Reported In: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2021-07-30 17:28 UTC by Eugene Shalygin
Modified: 2021-07-30 17:28 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eugene Shalygin 2021-07-30 17:28:54 UTC
Application: kdevelop (5.6.40)
 (Compiled from sources)
Qt Version: 5.15.2
Frameworks Version: 5.84.0
Operating System: Linux 5.13.5-gentoo x86_64
Windowing System: X11
Drkonqi Version: 5.22.4
Distribution: Gentoo/Linux

-- Information about the crash:
- What I was doing when the application crashed:
Accidently copied debug arguments with line break symbol and launched debugging session. GDB replied with error:

The exception is: Received a result with token not matching pending command. Pending: 23Received: 0
The MI response is: ^error,msg="Undefined command: \"_DIR\".  Try \"help\"."

and then KDEvelop crashed.

The crash can be reproduced every time.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Segmentation fault

[KCrash Handler]
#4  0x00007fceefa0325b in void doActivate<false>(QObject*, int, void**) () at /usr/lib64/libQt5Core.so.5
#5  0x00007fceb4a999c1 in KDevMI::MIDebugger::exited(bool, QString const&) (this=this@entry=0x560217709da0, _t1=<optimized out>, _t1@entry=true, _t2=...) at /var/portage/tmp/portage/dev-util/kdevelop-9999/work/kdevelop-9999_build/plugins/debuggercommon/kdevdebuggercommon_autogen/EWIEGA46WW/moc_midebugger.cpp:288
#6  0x00007fceb4aa0f17 in KDevMI::MIDebugger::processLine(QByteArray const&) (this=this@entry=0x560217709da0, line=...) at /var/portage/tmp/portage/dev-util/kdevelop-9999/work/kdevelop-9999/plugins/debuggercommon/midebugger.cpp:350
#7  0x00007fceb4aa11bf in KDevMI::MIDebugger::readyReadStandardOutput() (this=0x560217709da0) at /var/portage/tmp/portage/dev-util/kdevelop-9999/work/kdevelop-9999/plugins/debuggercommon/midebugger.cpp:162
#8  0x00007fceb4a9942a in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KDevMI::MIDebugger::*)()>::call(void (KDevMI::MIDebugger::*)(), KDevMI::MIDebugger*, void**) (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:152
#9  QtPrivate::FunctionPointer<void (KDevMI::MIDebugger::*)()>::call<QtPrivate::List<>, void>(void (KDevMI::MIDebugger::*)(), KDevMI::MIDebugger*, void**) (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:185
#10 QtPrivate::QSlotObject<void (KDevMI::MIDebugger::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:418
#11 0x00007fceefa03733 in void doActivate<false>(QObject*, int, void**) () at /usr/lib64/libQt5Core.so.5
#12 0x00007fceef96062d in QProcess::readyReadStandardOutput(QProcess::QPrivateSignal) () at /usr/lib64/libQt5Core.so.5
#13 0x00007fceef95a405 in QProcessPrivate::tryReadFromChannel(QProcessPrivate::Channel*) () at /usr/lib64/libQt5Core.so.5
#14 0x00007fceef960cfd in QProcess::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at /usr/lib64/libQt5Core.so.5
#15 0x00007fceefa03768 in void doActivate<false>(QObject*, int, void**) () at /usr/lib64/libQt5Core.so.5
#16 0x00007fceef9fe07d in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) () at /usr/lib64/libQt5Core.so.5
#17 0x00007fceef9ffff3 in QSocketNotifier::event(QEvent*) () at /usr/lib64/libQt5Core.so.5
#18 0x00007fcef065b4cf in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#19 0x00007fceef9d1418 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#20 0x00007fceefa1ab4c in socketNotifierSourceDispatch(_GSource*, int (*)(void*), void*) () at /usr/lib64/libQt5Core.so.5
#21 0x00007fceec03c44b in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#22 0x00007fceec096108 in g_main_context_iterate.constprop () at /usr/lib64/libglib-2.0.so.0
#23 0x00007fceec0365df in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#24 0x00007fceefa1c328 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#25 0x00007fceef9c99a3 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#26 0x00007fcef0856abd in QDialog::exec() () at /usr/lib64/libQt5Widgets.so.5
#27 0x00007fceed4ac0f7 in KMessageBox::createKMessageBox(QDialog*, QDialogButtonBox*, QIcon const&, QString const&, QStringList const&, QString const&, bool*, QFlags<KMessageBox::Option>, QString const&, QMessageBox::Icon) () at /usr/lib64/libKF5WidgetsAddons.so.5
#28 0x00007fceed4ac52d in KMessageBox::createKMessageBox(QDialog*, QDialogButtonBox*, QMessageBox::Icon, QString const&, QStringList const&, QString const&, bool*, QFlags<KMessageBox::Option>, QString const&) () at /usr/lib64/libKF5WidgetsAddons.so.5
#29 0x00007fceed4af339 in KMessageBox::detailedSorryInternal(QDialog*, QString const&, QString const&, QString const&, KGuiItem const&, QFlags<KMessageBox::Option>) () at /usr/lib64/libKF5WidgetsAddons.so.5
#30 0x00007fceed4af4ff in KMessageBox::detailedSorry(QWidget*, QString const&, QString const&, QString const&, QFlags<KMessageBox::Option>) () at /usr/lib64/libKF5WidgetsAddons.so.5
#31 0x00007fceb4aa0eb8 in KDevMI::MIDebugger::processLine(QByteArray const&) (this=this@entry=0x560217709da0, line=...) at /var/portage/tmp/portage/dev-util/kdevelop-9999/work/kdevelop-9999/plugins/debuggercommon/midebugger.cpp:340
#32 0x00007fceb4aa11bf in KDevMI::MIDebugger::readyReadStandardOutput() (this=0x560217709da0) at /var/portage/tmp/portage/dev-util/kdevelop-9999/work/kdevelop-9999/plugins/debuggercommon/midebugger.cpp:162
#33 0x00007fceb4a9942a in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KDevMI::MIDebugger::*)()>::call(void (KDevMI::MIDebugger::*)(), KDevMI::MIDebugger*, void**) (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:152
#34 QtPrivate::FunctionPointer<void (KDevMI::MIDebugger::*)()>::call<QtPrivate::List<>, void>(void (KDevMI::MIDebugger::*)(), KDevMI::MIDebugger*, void**) (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:185
#35 QtPrivate::QSlotObject<void (KDevMI::MIDebugger::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:418
#36 0x00007fceefa03733 in void doActivate<false>(QObject*, int, void**) () at /usr/lib64/libQt5Core.so.5
#37 0x00007fceef96062d in QProcess::readyReadStandardOutput(QProcess::QPrivateSignal) () at /usr/lib64/libQt5Core.so.5
#38 0x00007fceef95a405 in QProcessPrivate::tryReadFromChannel(QProcessPrivate::Channel*) () at /usr/lib64/libQt5Core.so.5
#39 0x00007fceef960cfd in QProcess::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at /usr/lib64/libQt5Core.so.5
#40 0x00007fceefa03768 in void doActivate<false>(QObject*, int, void**) () at /usr/lib64/libQt5Core.so.5
#41 0x00007fceef9fe07d in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) () at /usr/lib64/libQt5Core.so.5
#42 0x00007fceef9ffff3 in QSocketNotifier::event(QEvent*) () at /usr/lib64/libQt5Core.so.5
#43 0x00007fcef065b4cf in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#44 0x00007fceef9d1418 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#45 0x00007fceefa1ab4c in socketNotifierSourceDispatch(_GSource*, int (*)(void*), void*) () at /usr/lib64/libQt5Core.so.5
#46 0x00007fceec03c44b in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#47 0x00007fceec096108 in g_main_context_iterate.constprop () at /usr/lib64/libglib-2.0.so.0
#48 0x00007fceec0365df in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#49 0x00007fceefa1c328 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#50 0x00007fceef9c99a3 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#51 0x00007fceef9d4d90 in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5
#52 0x00005601fe427460 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /var/portage/tmp/portage/dev-util/kdevelop-9999/work/kdevelop-9999/app/main.cpp:855
[Inferior 1 (process 3408420) detached]

Possible duplicates by query: bug 440377, bug 440257, bug 440137, bug 439991, bug 439800.

Reported using DrKonqi