Skip to content

TestDAP_commands.py flakiness due to lldb-dap exit crashes #81686

@rupprecht

Description

@rupprecht

Context: https://lab.llvm.org/buildbot/#/builders/68/builds/68776

The test has some exit commands:

    "exitCommands": [
      "?settings set target.show-hex-variable-values-with-leading-zeroes false",
      "settings set target.show-hex-variable-values-with-leading-zeroes true"
    ],
    "stopCommands": [
      "?settings set target.show-hex-variable-values-with-leading-zeroes false",
      "settings set target.show-hex-variable-values-with-leading-zeroes true"
    ],
    "terminateCommands": [
      "?settings set target.show-hex-variable-values-with-leading-zeroes false",
      "settings set target.show-hex-variable-values-with-leading-zeroes true"
    ]

The test case itself passes, but tear down occasionally fails because we fail to get a disconnect response back. The DAP log shows this crash causing the dap server to shutdown before it can respond to the disconnect:

--> 
Content-Length: 88

{
  "arguments": {
    "terminateDebuggee": true
  },
  "command": "disconnect",
  "seq": 3,
  "type": "request"
}
<-- 
Content-Length: 184

{
  "body": {
    "category": "console",
    "output": "Running exitCommands:\n(lldb) settings set target.show-hex-variable-values-with-leading-zeroes true\n"
  },
  "event": "output",
  "seq": 0,
  "type": "event"
}
<-- 
Content-Length: 63

{
  "body": {
    "exitCode": 9
  },
  "event": "exited",
  "seq": 0,
  "type": "event"
}
<-- 
Content-Length: 405

{
  "body": {
    "category": "stderr",
    "output": "assert.h assertion failed at llvm-project/lldb/source/Interpreter/CommandObject.cpp:153 in bool lldb_private::CommandObject::CheckRequirements(CommandReturnObject &): !m_exe_ctx.GetTargetPtr()\n"
  },
  "event": "output",
  "seq": 0,
  "type": "event"
}
...
<-- 
Content-Length: 430

{
  "body": {
    "category": "stderr",
    "output": "PLEASE submit a bug report ....\nStack dump:\n0.\tProgram arguments: lldb-dap\n1.\tHandleCommand(command = \"settings set target.show-hex-variable-values-with-leading-zeroes false\")\u0000\n"
  },
  "event": "output",
  "seq": 0,
  "type": "event"
}

Aside: the buildbots do not enable this DAP logging, which would make debugging buildbot errors much easier.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions