codelldb: Bug: The debug adapter has terminated abnormally.

Trying to debug some async rust code.

#[tokio::test]
async fn test_async_binary_semaphone() {
    let s = tokio::sync::Semaphore::new(1);   // add a breakpoint, at this line
    println!("{:?}", s.available_permits());
    let sp = s.acquire().await.unwrap();
    println!("{:?}", s.available_permits());
    drop(sp); // release the permit
}

Cargo.toml file:

[dependencies]
tokio = { version = "1", features = ["full"] }

This would create this error:

configuration: {
  type: 'lldb',
  request: 'launch',
  name: 'test test_async_binary_semaphone',
  program: '${workspaceFolder}\\target\\debug\\deps\\page_lock-fb9ac44b70f6a5b8.exe',
  args: [ 'test_async_binary_semaphone', '--exact', '--nocapture' ],
  cwd: '${workspaceFolder}',
  sourceLanguages: [ 'rust' ],
  ...
}
Listening on port 14341
error: page_lock-fb9ac44b70f6a5b8.exe :: Class 'core::future::from_generator::GenFuture<tokio::net::windows::named_pipe::impl$4::ready::generator$0>' has a member '__0' of type 'generator$0' which does not have a complete definition.
[adapter\src\terminal.rs:104] FreeConsole() = 1
[adapter\src\terminal.rs:105] AttachConsole(pid) = 1
[adapter\src\terminal.rs:109] FreeConsole() = 1
error: page_lock-fb9ac44b70f6a5b8.exe :: Class 'enum$<core::option::Option<core::ptr::non_null::NonNull<tokio::runtime::task::core::Header> >, 1, 18446744073709551615, Some>::Some' has a member '__0' of type 'core::ptr::non_null::NonNull<tokio::runtime::task::core::Header>' which does not have a complete definition.
error: page_lock-fb9ac44b70f6a5b8.exe :: Class 'tokio::util::linked_list::PointersInner<tokio::io::driver::scheduled_io::Waiter>' has a member 'prev' of type 'enum$<core::option::Option<core::ptr::non_null::NonNull<tokio::io::driver::scheduled_io::Waiter> >, 1, 18446744073709551615, Some>' which does not have a complete definition.
error: page_lock-fb9ac44b70f6a5b8.exe :: Class 'tokio::util::linked_list::PointersInner<tokio::time::driver::entry::TimerShared>' has a member 'prev' of type 'enum$<core::option::Option<core::ptr::non_null::NonNull<tokio::time::driver::entry::TimerShared> >, 1, 18446744073709551615, Some>' which does not have a complete definition.
error: page_lock-fb9ac44b70f6a5b8.exe :: Class 'tokio::util::linked_list::PointersInner<tokio::sync::notify::Waiter>' has a member 'prev' of type 'enum$<core::option::Option<core::ptr::non_null::NonNull<tokio::sync::notify::Waiter> >, 1, 18446744073709551615, Some>' which does not have a complete definition.
error: page_lock-fb9ac44b70f6a5b8.exe :: Class 'tokio::util::linked_list::PointersInner<tokio::sync::batch_semaphore::Waiter>' has a member 'prev' of type 'enum$<core::option::Option<core::ptr::non_null::NonNull<tokio::sync::batch_semaphore::Waiter> >, 1, 18446744073709551615, Some>' which does not have a complete definition.

thread 'main' has overflowed its stack
Debug adapter exit code=3221225725, signal=null.

About this issue

  • Original URL
  • State: open
  • Created 2 years ago
  • Reactions: 11
  • Comments: 16 (5 by maintainers)

Most upvoted comments

@johanhelsing -msvc target? Yeah, that’s known to happen

Same here but as a workaround I`m using

"type": "cppvsdbg", instead of "type": "lldb".

https://github.com/vadimcn/vscode-lldb/issues/635#issuecomment-1047011456 does not worked for me.