llvm / llvm/llvm-project

[lldb] TestFrameProviderThreadFilter.py crashes on Linux on Arm

Open
#191,855 1 comment 0 reactions 0 assignees View on GitHub
lldb platform:linux test-suite
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.