dotnet / dotnet/diagnostics

Various SOS tests fail on Linux arm32

Open
#2,447 0 comments 0 reactions 1 assignee Claimed by @mikem8361 View on GitHub
bug sos
Dominant language
C++
Stars
1.3k
Forks
404
Avg merge
2d 3h
Merged PRs (30d)
38

Description

### Description

After cross-building on my x64 Linux box and copying .packages and artifacts over to the arm32 pi, running the diagnostics tests fail (SOS, DotnetTrace and NetCore.Client unit tests). The failures are across all runtime versions.

### Configuration

Linux (ubuntu) arm32 diag-pi3 device

lldb version 8.0.0 (installed locally on device). The default version (7.0.1) doesn't work.

```
LLDB_PATH=/home/pi/lldb/bin/lldb
LLDB_LIB_DIR=/home/pi/lldb/lib
LLDB_INCLUDE_DIR=/home/pi/lldb/include
```
### Regression?

No, the diagnostics tests on arm32 have always failed.

### Other information

Any a object is displayed or dumps, live or core dump, the GC seems to be in "plan" phase. This check in SOS must be incorrect or something because we never see it on other architectures and it seems to be on almost every test:

```
STDIN: 00:06.666: runcommand sos DumpStackObjects
00:06.666: (lldb) runcommand sos DumpStackObjects
00:08.253: OS Thread Id: 0x588a (1)
00:08.253: SP/REG Object Name
00:08.268: 7EFFE254 71c02220 System.Byte[]
00:08.515: 7EFFE258 6fc0a750 System.Boolean
00:08.517: 7EFFE25C 6fc0a744 System.Int32
...
00:08.561: 7EFFE788 6fc09598 System.String[]
00:08.569:
STDIN: 00:08.571: runcommand sos DumpObj 71c02220
00:08.571: (lldb) runcommand sos DumpObj 71c02220
00:08.600: Process 22666 exited with status = 11 (0x0000000b)
00:08.616:
00:08.616: GetGcStructuresValid: request heap data FAILED 80131c49
00:08.617: The garbage collector data structures are not in a valid state for traversal.
00:08.617: It is either in the "plan phase," where objects are being moved around, or
STDERROR: 00:08.617: DumpObj 71c02220 failed
00:08.617: we are at the initialization or shutdown of the gc heap. Commands related to
00:08.617: displaying, finding or traversing objects as well as gc heap segments may not
00:08.618: work properly. !dumpheap and !verifyheap may incorrectly complain of heap
00:08.618: consistency errors.
00:08.618: Invalid object
00:08.618:
SOSRunner error at /home/pi/diagnostics/src/SOS/SOS.UnitTests/Scripts/GCPOH.script:23
```
Another example:

``` 00:11.727: Exception type: System.FormatException
00:11.727: Message: Bad format exception, inner
00:11.728: InnerException:
00:11.728: StackTrace (generated):
00:11.733: SP IP Function
00:11.733: 7EFFE328 752188FA NestedExceptionTest.dll!NestedExceptionTest.Program.Main(System.String[])+0x92
00:11.733:
00:11.733: StackTraceString:
00:11.734: HResult: 80131537
00:11.734:
STDIN: 00:11.737: runcommand sos PrintException 71317454
00:11.738: (lldb) runcommand sos PrintException 71317454
00:11.777: Process 8866 exited with status = 11 (0x0000000b)
00:11.794: Invalid exception object: 0000000071317454
00:11.797: GetGcStructuresValid: request heap data FAILED 80131c49
00:11.797: The garbage collector data structures are not in a valid state for traversal.
00:11.797: It is either in the "plan phase," where objects are being moved around, or
00:11.797: we are at the initialization or shutdown of the gc heap. Commands related to
00:11.798: displaying, finding or traversing objects as well as gc heap segments may not
00:11.798: work properly. !dumpheap and !verifyheap may incorrectly complain of heap
00:11.798: consistency errors.
00:11.799: The current thread is unmanaged
00:11.799:
SOSRunner error at /home/pi/diagnostics/src/SOS/SOS.UnitTests/Scripts/NestedExceptionTest.script:72
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.