[lldb] TestFrameProviderThreadFilter.py crashes on Linux on Arm
- Dominant language
- LLVM
- Stars
- 40.5k
- Forks
- 18.7k
- PR merge metrics
- PR metrics pending
Description
```
UNRESOLVED: lldb-api :: functionalities/scripted_frame_provider/thread_filter/TestFrameProviderThreadFilter.py (1 of 1)
******************** TEST 'lldb-api :: functionalities/scripted_frame_provider/thread_filter/TestFrameProviderThreadFilter.py' FAILED ********************
Script:
--
/usr/bin/python3.10 /home/leandro.lupori/git/ci/llvm-project/lldb/test/API/dotest.py -u CXXFLAGS -u CFLAGS --env LLVM_LIBS_DIR=/home/leandro.lupori/git/ci/build32/./lib --env LLVM_INCLUDE_DIR=/home/leandro.lupori/git/ci/build32/include --env LLVM_TOOLS_DIR=/home/leandro.lupori/git/ci/build32/./bin --arch armv8l --build-dir /home/leandro.lupori/git/ci/build32/lldb-test-build.noindex --lldb-module-cache-dir /home/leandro.lupori/git/ci/build32/lldb-test-build.noindex/module-cache-lldb/lldb-api --clang-module-cache-dir /home/leandro.lupori/git/ci/build32/lldb-test-build.noindex/module-cache-clang/lldb-api --executable /home/leandro.lupori/git/ci/build32/./bin/lldb --compiler /home/leandro.lupori/git/ci/build32/./bin/clang --dsymutil /home/leandro.lupori/git/ci/build32/./bin/dsymutil --make /usr/bin/gmake --llvm-tools-dir /home/leandro.lupori/git/ci/build32/./bin --lldb-obj-root /home/leandro.lupori/git/ci/build32/tools/lldb --lldb-libs-dir /home/leandro.lupori/git/ci/build32/./lib --cmake-build-type Release /home/leandro.lupori/git/ci/llvm-project/lldb/test/API/functionalities/scripted_frame_provider/thread_filter -p TestFrameProviderThreadFilter.py
--
Exit Code: -6
Command Output (stdout):
--
lldb version 23.0.0git (git@github.com:llvm/llvm-project.git revision 2dae0f61cf845d50368f4f5bc9d3e3f92fc41138)
clang revision 2dae0f61cf845d50368f4f5bc9d3e3f92fc41138
llvm revision 2dae0f61cf845d50368f4f5bc9d3e3f92fc41138
--
Command Output (stderr):
--
python3.10: /home/leandro.lupori/git/ci/llvm-project/lldb/source/Target/StackFrameList.cpp:715: lldb::StackFrameSP lldb_private::StackFrameList::GetFrameAtIndex(uint32_t): Assertion `!m_thread.IsValid() && "A valid thread has no frames."' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
#0 0xe4a88498 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) Signals.cpp:0:0
#1 0xe4a850f0 llvm::sys::RunSignalHandlers() Signals.cpp:0:0
#2 0xe4a89558 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#3 0xeb77d6f0 __default_rt_sa_restorer ./signal/../sysdeps/unix/sysv/linux/arm/sigrestorer.S:80:0
#4 0xeb76db06 ./csu/../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47:0
#5 0xeb7ad292 __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#6 0xeb77c840 gsignal ./signal/../sysdeps/posix/raise.c:27:6
Fatal Python error: Aborted
Current thread 0xeb957020 (most recent call first):
File "/home/leandro.lupori/git/ci/build32/local/lib/python3.10/dist-packages/lldb/__init__.py", line 10335 in SetSelectedThread
File "/home/leandro.lupori/git/ci/llvm-project/lldb/test/API/functionalities/scripted_frame_provider/thread_filter/TestFrameProviderThreadFilter.py", line 84 in test_bt_provider_star_with_thread_filter
File "/usr/lib/python3.10/unittest/case.py", line 549 in _callTestMethod
File "/usr/lib/python3.10/unittest/case.py", line 591 in run
File "/usr/lib/python3.10/unittest/case.py", line 650 in __call__
File "/usr/lib/python3.10/unittest/suite.py", line 122 in run
File "/usr/lib/python3.10/unittest/suite.py", line 84 in __call__
File "/usr/lib/python3.10/unittest/suite.py", line 122 in run
File "/usr/lib/python3.10/unittest/suite.py", line 84 in __call__
File "/usr/lib/python3.10/unittest/runner.py", line 184 in run
File "/home/leandro.lupori/git/ci/llvm-project/lldb/packages/Python/lldbsuite/test/dotest.py", line 1181 in run_suite
File "/home/leandro.lupori/git/ci/llvm-project/lldb/test/API/dotest.py", line 8 in
Extension modules: lldb.native._lldb (total: 1)
--
```
This test was added in #181071.
Contributor guide
Research direction
Start with lldb/test/API/functionalities/scripted_frame_provider/thread_filter/TestFrameProviderThreadFilter.py, especially test_bt_provider_star_with_thread_filter, and reproduce it on Linux Arm. Read lldb/source/Target/StackFrameList.cpp around GetFrameAtIndex and the reported assertion, then compare the failing thread-selection path with the test's expectations. Done means the test completes without the assertion or abort.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- compilers, testing
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100