redhat-developer / dotnet-regular-tests

.NET Core tests for .NET Bunny (RHEL & Fedora RPM tests)
MIT License
8 stars 13 forks source link

Disable tests that fail on armv7 #331

Closed ayakael closed 10 months ago

ayakael commented 10 months ago

A few test units fail on on armv7, which I suppose has to do with certain features not implemented on coreclr-arm:

These I'm not sure if they are implemented on armv7:

ayakael commented 10 months ago

Failure with debugging-sos-lldb-via-dump probably has to do with missing py3-lldb module, gonna try with that dependency installed.

debugging-via-dotnet-dump fails with this:

## analyzeoom
-------------

+ test -f coredump.3677
+ heading 'Testing dotnet dump analyze subcommands'
+ set +x
+ heading analyzeoom
+ set +x
+ dump-analyze analyzeoom
+ first_word_in_first_command=analyzeoom
+ commands=()
+ [[ 1 -ne 0 ]]
+ command=analyzeoom
+ commands+=('--command' "${command}")
+ shift
+ [[ 0 -ne 0 ]]
+ commands+=('--command' 'exit')
+ dotnet dump analyze coredump.3677 --command analyzeoom --command exit
info: Microsoft.Hosting.Lifetime[0]
      Application is shutting down...
Process Exit Code: 1

Full log

ayakael commented 10 months ago

Unrelated to armv7, but dotnet-trace fails on aarch64:

+ echo 'ps - OK'
+ dotnet-trace list-profiles
ps - OK
    cpu-sampling     - Useful for tracking CPU usage and general .NET runtime information. This is the default option if no profile or providers are specified.
    gc-verbose       - Tracks GC collections and samples object allocations.
    gc-collect       - Tracks GC collections only at very low overhead.
    database         - Captures ADO.NET and Entity Framework database commands
+ echo 'list-profiles - OK'
+ dotnet-trace convert dotnettrace.nettrace --format Speedscope
list-profiles - OK
Writing:    /builds/ayakael/aports/testing/dotnet8-runtime/src/dotnet-regular-tests-6a7fe988c2c51ab20a69bf9bbc1e1c8953faf5af/dotnet-trace/dotnettrace.speedscope.json
Conversion complete
+ '[' -f dotnettrace.speedscope.json ']'
+ echo 'convert - OK'
convert - OK
++ dotnet-trace report dotnettrace.nettrace topN
+ output='Top 5 Functions (Exclusive)                                                  Inclusive           Exclusive           
1. LowLevelLifoSemaphore.WaitNative(class Microsoft.Win32.SafeHandles.Saf    51.53%              51.53%              
2. Monitor.Wait(class System.Object,int32)                                   12.9%               12.9%               
3. WaitHandle.WaitOneNoCheck(int32)                                          11.93%              11.93%              
4. WaitHandle.WaitMultiple(value class System.ReadOnlySpan`1<class System    10.71%              10.71%              
5. Missing Symbol                                                            2.89%               2.8%                '
report - FAIL
+ [[ Top 5 Functions (Exclusive)                                                  Inclusive           Exclusive           
1. LowLevelLifoSemaphore.WaitNative(class Microsoft.Win32.SafeHandles.Saf    51.53%              51.53%              
2. Monitor.Wait(class System.Object,int32)                                   12.9%               12.9%               
3. WaitHandle.WaitOneNoCheck(int32)                                          11.93%              11.93%              
4. WaitHandle.WaitMultiple(value class System.ReadOnlySpan`1<class System    10.71%              10.71%              
5. Missing Symbol                                                            2.89%               2.8%                 == *\M\i\s\s\i\n\g\ \S\y\m\b\o\l* ]]
+ echo 'report - FAIL'
+ rm -r dotnettrace
+ rm dotnettrace.nettrace
+ rm dotnettrace.speedscope.json
+ rm dotnettrace.nettrace.etlx
+ exit 1
Process Exit Code: 1

Full log

omajid commented 10 months ago

dotnet-trace failing on aarch64 due to Missing Symbol seems like a bug, probably in the runtime or maybe dotnet-trace. In my tests on aarch64, the top symbols are always resolved.

omajid commented 10 months ago

Thanks for the PR!