Bug 461880

Summary: Crash when attempting to debug project
Product: [Applications] kdevelop Reporter: Tulip <noctaliavibing>
Component: generalAssignee: kdevelop-bugs-null
Status: REPORTED ---    
Severity: crash CC: igorkuo, mail, the.real.samuel.jimenez
Priority: NOR Keywords: drkonqi
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Tulip 2022-11-15 19:12:48 UTC
Application: kdevelop (5.9.220803 (22.08.3))

Qt Version: 5.15.7
Frameworks Version: 5.99.0
Operating System: Linux 6.0.8-arch1-1 x86_64
Windowing System: Wayland
Distribution: "Arch Linux"
DrKonqi: 5.26.3 [KCrashBackend]

-- Information about the crash:
I was attempting to debug my C++ Meson project when KDevelop crashed.
Viewing the program output shows it tried to start a program called `execve` but failed as it doesn't exist.
I have not been able to find any information about execve either.

The crash can be reproduced every time.

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

[KCrash Handler]
#4  0x00007f66cc2fe7e0 in KDevMI::MIDebugSession::startDebugging(KDevelop::ILaunchConfiguration*, IExecutePlugin*) () at /usr/lib/qt/plugins/kdevplatform/37/kdevlldb.so
#5  0x00007f66cc30558b in KDevMI::MIDebugJob::start() () at /usr/lib/qt/plugins/kdevplatform/37/kdevlldb.so
#6  0x00007f670b66e38c in KDevelop::RunController::registerJob(KJob*) () at /usr/lib/libKDevPlatformShell.so.59
#7  0x00007f670b667970 in KDevelop::RunController::execute(QString const&, KDevelop::ILaunchConfiguration*) () at /usr/lib/libKDevPlatformShell.so.59
#8  0x00007f670b663427 in KDevelop::RunController::slotDebug() () at /usr/lib/libKDevPlatformShell.so.59
#9  0x00007f6709abda51 in  () at /usr/lib/libQt5Core.so.5
#10 0x00007f670a76bec7 in QAction::triggered(bool) () at /usr/lib/libQt5Widgets.so.5
#11 0x00007f670a7718c7 in QAction::activate(QAction::ActionEvent) () at /usr/lib/libQt5Widgets.so.5
#12 0x00007f670a86026e in  () at /usr/lib/libQt5Widgets.so.5
#13 0x00007f670a860470 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib/libQt5Widgets.so.5
#14 0x00007f670a95331f in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib/libQt5Widgets.so.5
#15 0x00007f670a7af6e7 in QWidget::event(QEvent*) () at /usr/lib/libQt5Widgets.so.5
#16 0x00007f670a778b1c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#17 0x00007f670a77e339 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#18 0x00007f6709a8cf98 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#19 0x00007f670a77c337 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /usr/lib/libQt5Widgets.so.5
#20 0x00007f670a7cd3b5 in  () at /usr/lib/libQt5Widgets.so.5
#21 0x00007f670a7cf15e in  () at /usr/lib/libQt5Widgets.so.5
#22 0x00007f670a778b1c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#23 0x00007f6709a8cf98 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#24 0x00007f6709f3f16c in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/libQt5Gui.so.5
#25 0x00007f6709f28985 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Gui.so.5
#26 0x00007f66fd9088e5 in  () at /usr/lib/libQt5WaylandClient.so.5
#27 0x00007f6705d1687b in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#28 0x00007f6705d6d279 in  () at /usr/lib/libglib-2.0.so.0
#29 0x00007f6705d15132 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#30 0x00007f6709ad7c4c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#31 0x00007f6709a8573c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#32 0x00007f6709a90269 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#33 0x000055dbb0746ba9 in  ()
#34 0x00007f670923c290 in  () at /usr/lib/libc.so.6
#35 0x00007f670923c34a in __libc_start_main () at /usr/lib/libc.so.6
#36 0x000055dbb0747715 in  ()
[Inferior 1 (process 10847) detached]

Reported using DrKonqi
Comment 1 Sven Brauch 2022-11-15 19:36:29 UTC
execve() is a POSIX syscall, what's the error message exactly?
Comment 2 Tulip 2022-11-15 19:45:15 UTC
(In reply to Sven Brauch from comment #1)
> execve() is a POSIX syscall, what's the error message exactly?

Turns out, KDevelop's error in the terminal was not actually correct. Turns out it was crashing due to a lack of lldb-mi but this crash doesn't happen with KDevelop's built-in terminal.
Comment 3 Samuel Jimenez 2023-05-04 19:48:41 UTC
Created attachment 158692 [details]
New crash information added by DrKonqi

kdevelop (5.11.230400 (23.04.0)) using Qt 5.15.9

This only occurs with debugging, and only if lldb-mi is out of date or not present.
If launch configuration is not set to 'Use external terminal', program will not debug, with no crash or error message.

-- Backtrace (Reduced):
#4  0x00007f3cb606fb53 in KDevMI::MIDebugSession::startDebugging(KDevelop::ILaunchConfiguration*, IExecutePlugin*) () at /usr/lib/qt/plugins/kdevplatform/511/kdevlldb.so
#5  0x00007f3cb60773eb in KDevMI::MIDebugJob::start() () at /usr/lib/qt/plugins/kdevplatform/511/kdevlldb.so
#6  0x00007f3d14cc219c in KDevelop::RunController::registerJob(KJob*) () at /usr/lib/libKDevPlatformShell.so.511
#7  0x00007f3d14cc29c0 in KDevelop::RunController::execute(QString const&, KDevelop::ILaunchConfiguration*) () at /usr/lib/libKDevPlatformShell.so.511
#8  0x00007f3d14cbed97 in KDevelop::RunController::slotDebug() () at /usr/lib/libKDevPlatformShell.so.511
Comment 4 Igor Kushnir 2023-07-25 18:06:54 UTC
> #4  0x00007f66cc2fe7e0 in KDevMI::MIDebugSession::startDebugging(KDevelop::ILaunchConfiguration*, IExecutePlugin*) () at /usr/lib/qt/plugins/kdevplatform/37/kdevlldb.so
Why do you try to debug with LLDB instead of GDB? The LLDB plugin (kdevlldb.so) is practically unused and likely broken...