To reproduce:
Crashes here:
ASSERTION FAILED: !!m_debug_session
../../Userland/DevTools/HackStudio/Debugger/Debugger.cpp:116
The issue seems to be that upon opening HackStudio the projects root_path is /
by default. When Debug is requested it will call HackStudioWidget::create_debug_action()
. This contains a check here:
Core::File::exists("///")
will return true and thus bypass all checks and attempt to start debugger thread (note get_project_executable_path()
for /
returns ///
).
Could a simple check that get_project_executable_path()
is a file be enough to solve this?
Relevant backtrace:
CrashDaemon(20:20): 0x3e3c11ce: [libsystem.so] syscall2 +0xe (syscall.cpp:25)
CrashDaemon(20:20): 0x4c78e185: [libc.so] raise +0x25 (signal.cpp:21)
CrashDaemon(20:20): 0x4c7772c6: [libc.so] abort +0x2a (stdlib.cpp:233)
CrashDaemon(20:20): 0x4c777e2b: [libc.so] __assertion_failed +0xeb (Format.h:236)
CrashDaemon(20:20): 0x9480aebd: [/bin/HackStudio] HackStudio::Debugger::start() +0x40d (RefCounted.h:99)
CrashDaemon(20:20): 0x9480af35: [/bin/HackStudio] HackStudio::Debugger::start_static() +0x25 (Debugger.cpp:106)
CrashDaemon(20:20): 0x95f54665: [libthreading.so] Threading::Thread::start()::{lambda(void*)#1}::_FUN(void*) +0x55 (Function.h:91)
CrashDaemon(20:20): 0x2d54f0e6: [libpthread.so] pthread_create_helper +0x36 (pthread.cpp:49)
Pay now to fund the work behind this issue.
Get updates on progress being made.
Maintainer is rewarded once the issue is completed.
You're funding impactful open source efforts
You want to contribute to this effort
You want to get funding like this too