HI i am trying to debug an LLDB issue on Ubuntu Focal armv7 where LLDB fails to evaluate expression
For example:
Running /bin/lldb-dotest -v -t -p TestNamespaceLookup.py
Gives error somthing like:
Traceback (most recent call last):
File “/home/omair.javaid/work/llvm-dev/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py”, line 1707, in test_method
return attrvalue(self)
File “/home/omair.javaid/work/llvm-dev/llvm-project/lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py”, line 322, in test_scope_lookup_shadowed_by_using_with_run_command
self.expect_expr(“func(10)”, result_type=“int”, result_value=“13”)
File “/home/omair.javaid/work/llvm-dev/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py”, line 2463, in expect_expr
value_check.check_value(self, eval_result, str(eval_result))
File “/home/omair.javaid/work/llvm-dev/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py”, line 287, in check_value
test_base.assertSuccess(val.GetError())
File “/home/omair.javaid/work/llvm-dev/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py”, line 2499, in assertSuccess
self.fail(self._formatMessage(msg,
AssertionError: 'expression failed to parse:
error: Can’t evaluate the expression without a running target due to: Interpreter doesn’t handle one of the expression’s opcodes
’ is not success
Correct me if I am wrong my understanding so far is that LLDB creates a clang module out of libc++ headers for speeding up and simplifying its expression evaluations. The above error appears to be a problem with wrong module configuration resulting in IR that produces an incompatible opcode somewhere. Because same test works fine on Ubuntu Jammy which has a different version of libc++.
Similar issues can be seen with just build libcxx and LLDB which used to work in past but showing similar issues.
I would really appreciate for some pointers in order to debug this issue further.