-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
lldb-mi hangs on M1 macOS when creating variable #101
Comments
I seem to have the same issue when I try to debug a Google Test UnitTest with the TestMate C++ extension. There are more details here: microsoft/vscode-cpptools#9831 I hit the issue with a code like this. In this context it is reproducible 100%. In other context there is no issue. struct KeepAlive
{
/**
* @brief `KeepAlive` subkeys.
*
*/
enum class Subkey
{
/// Subkey `AfterInitialDemand` - delaying the start.
AfterInitialDemand,
/// Subkey `Crashed` - depending on crashes.
Crashed,
/// Subkey `NetworkState` - depending on network availability.
NetworkState,
/// Subkey `OtherJobEnabled` - depending on other jobs.
OtherJobEnabled,
/// Subkey `PathState` - depending on the existence of a path.
PathState,
/// Subkey `SuccessfulExit` - depending on the last exit status.
SuccessfulExit,
};
/**
* @brief `KeepAlive` subkey value types.
*
*/
struct SubkeyValueType
{
/// Subkey `AfterInitialDemand` - delaying the start.
using AfterInitialDemand = std::map<std::string, bool>;
/// Subkey `Crashed` - depending on crashes.
using Crashed = bool;
/// Subkey `NetworkState` - depending on network availability.
using NetworkState = bool;
/// Subkey `OtherJobEnabled` - depending on other jobs.
using OtherJobEnabled = std::map<std::string, bool>;
/// Subkey `PathState` - depending on the existence of a path.
using PathState = std::map<std::string, bool>;
/// Subkey `SuccessfulExit` - depending on the last exit status.
using SuccessfulExit = bool;
};
/**
* @brief A `variant` of `KeepAlive` subkey value types.
*
*/
using SubkeyType = ::boost::variant2::variant<
KeepAlive::SubkeyValueType::AfterInitialDemand,
KeepAlive::SubkeyValueType::Crashed,
KeepAlive::SubkeyValueType::NetworkState,
KeepAlive::SubkeyValueType::OtherJobEnabled,
KeepAlive::SubkeyValueType::PathState,
KeepAlive::SubkeyValueType::SuccessfulExit>;
};
tl::optional<
::boost::variant2::variant<bool, std::map<ILaunchdPlist::KeepAlive::Subkey, ILaunchdPlist::KeepAlive::SubkeyType>>>
LaunchdPlist::GetKeepAlive() const noexcept
{
...
}
TEST_F(LaunchdPlistTest, GetKeepAliveBool)
{
// Binary plist
auto valueOpt = LaunchdPlistTest::GetValidBinaryPlist()->GetKeepAlive();
EXPECT_TRUE(valueOpt.has_value()); |
Same issue here. |
Any chance of this being looked at? |
Is this perhaps related to microsoft/vscode-cpptools#7240 (comment)? @shiretu posted his workaround there. Further comment:
|
I can confirm this is also happening on Monterey on Intel Mac. |
We need a programmer to solve this bug : ) |
@sunshaoce This is getting a major issue. CodeLLDB also stopped working recently. |
microsoft/vscode-cpptools#7240 |
Did you build the latest lldb-mi (a6c8c66)? |
Environment
Bug Summary and Steps to Reproduce
Bug Summary: When debugging some code(for example, leveldb test code), sometimes the debug can't go on.
Steps to reproduce:
leveldb
and add main.cpp4. Debug this executable, when entering DB::Open:
then I was stuck in `*dbptr = nullptr;` where there's 4 lldb-mi process and in the right panel(variable),there is a circle spinning.
Debugger Configurations
lldb-mi version
Debugger Logs
log link
Additional Information
outro
From the logs, it looks like the debugger is hanging on creating the variable edit.
Why it is hanging on creating the VersionEdit edit variable.
The text was updated successfully, but these errors were encountered: