icarus icon indicating copy to clipboard operation
icarus copied to clipboard

LLDB hangs at launch

Open cbackas42 opened this issue 1 year ago • 5 comments

I'm experimenting with using Nova for a SwiftGodot project, because I rather dislike VSCode. The short version of it is that this involved compiling a Swift .dylib via SwiftPM, then you launch Godot to test it.

So, I have a special debuggable version of the Godot.app (where I've resigned it and added the com.apple.security.get-task-allow entitlement). This definitely works, it can be launched and attached to with LLDB and I do so from VSCode and XCode alike currently.

In Nova, I configured it to launch: ~/Applications/Godot Debug.app/Contents/MacOS/Godot And passed the appropriate parameters.

When I press Run:

  • Godot launches and correctly.
  • If a breakpoint was set in Nova, Godot instead hangs on startup forever - I believe the breakpoint is being hit, but the Debug panel is not showing it.
  • The debug panel does say "Debug session is running" and shows a PID for the Godot process.
  • Whether a breakpoint was hit or not, the Pause button in the Debug panel does not function, it produces the error message: Request “pause” failed: requestFailed(Optional("The operation couldn’t be completed. (SwiftLLDB.LLDBError error 1.)"), nil)
  • Nova does not notice when Godot is quit via command-Q or otherwise - the Run task keeps spinning after the process has exited.

cbackas42 avatar Dec 07 '24 02:12 cbackas42

I'm getting the same behavior when trying to debug my own C++ applications. I really want to be able to use Nova, but this is preventing me from being able to. Please let me know if I can provide any info.

aaronmjacobs avatar Feb 12 '25 10:02 aaronmjacobs

I got the "SwiftLLDB.LLDBError error 1" with my C Project. Building the DebugAdapter & installing Icarus from github (see project description) fixed it for me!

maximilianstocker avatar Feb 25 '25 00:02 maximilianstocker

I got the "SwiftLLDB.LLDBError error 1" with my C Project. Building the DebugAdapter & installing Icarus from github (see project description) fixed it for me!

Thanks for the info! I was able to build / load Icarus, and sure enough it actually runs, though it didn't take long before I managed to break it (crash while inspecting variables after pausing execution).

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** +[NSString stringWithUTF8String:]: NULL cString'
*** First throw call stack:
(
	0   CoreFoundation                      0x0000000187bd2e80 __exceptionPreprocess + 176
	1   libobjc.A.dylib                     0x00000001876bacd8 objc_exception_throw + 88
	2   Foundation                          0x0000000188cf7de0 __destroy_helper_block_e8_32o40r + 0
	3   LLDBAdapter                         0x00000001029cb758 $s11LLDBAdapter7AdapterC9variables33_CC0224B2A8B25DC487DB19BFC2C615EBLL3for5types12containerRef8uniquingSayAA05DebugB0O8VariableVGSaySo9LLDBValueCG_ShySo0T4TypeVGSgSiSbtF + 480
	4   LLDBAdapter                         0x00000001029cb504 $s11LLDBAdapter7AdapterC9variables_12replyHandleryAA05DebugB0O16VariablesRequestV_ys6ResultOyAiJVs5Error_pGctF + 1392
	5   LLDBAdapter                         0x00000001029ce1c0 $s11LLDBAdapter7AdapterCAA05DebugB20ServerRequestHandlerA2aDP9variables_05replyF0yAA0cB0O09VariablesE0V_ys6ResultOyAkLVs5Error_pGctFTW + 20
	6   LLDBAdapter                         0x0000000102a13314 $s11LLDBAdapter32DebugAdapterServerRequestHandlerPAAE22performDefaultHandling10forCommand4data10connectionySS_10Foundation4DataVAA0bC10ConnectionCtKF + 1628
	7   LLDBAdapter                         0x0000000102a0e840 $s11LLDBAdapter32DebugAdapterServerRequestHandlerPAAE06handleE010forCommand4data10connectionySS_10Foundation4DataVAA0bC10ConnectionCtKF + 12
	8   LLDBAdapter                         0x0000000102a0e81c $s11LLDBAdapter7AdapterCAA05DebugB14RequestHandlerA2aDP06handleD010forCommand4data10connectionySS_10Foundation4DataVAA0cB10ConnectionCtKFTW + 104
	9   LLDBAdapter                         0x00000001029eda1c $s11LLDBAdapter22DebugAdapterConnectionC11readMessage33_7A5E4579991C8D5E797061EA8D3941DDLL8withData14consumedLength018additionalRequiredR0Sb10Foundation0P0V_SizSiztFyycfU_ + 276
	10  LLDBAdapter                         0x0000000102a0003c $s11LLDBAdapter22DebugAdapterConnectionC11readMessage33_7A5E4579991C8D5E797061EA8D3941DDLL8withData14consumedLength018additionalRequiredR0Sb10Foundation0P0V_SizSiztFyycfU_TA + 48
	11  LLDBAdapter                         0x00000001029df754 $sIegh_IeyBh_TR + 28
	12  libdispatch.dylib                   0x00000001878c3854 _dispatch_call_block_and_release + 32
	13  libdispatch.dylib                   0x00000001878c55b4 _dispatch_client_callout + 20
	14  libdispatch.dylib                   0x00000001878ccbd8 _dispatch_lane_serial_drain + 768
	15  libdispatch.dylib                   0x00000001878cd730 _dispatch_lane_invoke + 380
	16  libdispatch.dylib                   0x00000001878d89a0 _dispatch_root_queue_drain_deferred_wlh + 288
	17  libdispatch.dylib                   0x00000001878d81ec _dispatch_workloop_worker_thread + 540
	18  libsystem_pthread.dylib             0x0000000187a743d8 _pthread_wqthread + 288
	19  libsystem_pthread.dylib             0x0000000187a730f0 start_wqthread + 8
)
libc++abi: terminating due to uncaught exception of type NSException

@logancollins Any chance this might get addressed? Thank you!

aaronmjacobs avatar Feb 27 '25 06:02 aaronmjacobs

Same problem. Does this project are still under maintenance?

GloryAlex avatar Apr 08 '25 11:04 GloryAlex

Just evaluating Nova after getting a new macbook. I really like many things about it, but without a functioning debugger I don't really have any reason to switch from Sublime or VScode or CLion or <insert your cool helix and lldb terminal setup here>.

If I can help here in any way I'd be happy to do so!

photex avatar Apr 17 '25 06:04 photex