dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.29k stars 4.74k forks source link

ComInterfaceGenerator.Unit.Tests crashes on net9.0-linux-Debug-x64-Mono_release-Ubuntu.2204.Amd64.Open #92070

Open buyaa-n opened 1 year ago

buyaa-n commented 1 year ago

Build Information

Build: https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_build/results?buildId=405797 Build error leg or test failing: ComInterfaceGenerator.Unit.Tests.WorkItemExecution Pull request: https://github.com/dotnet/runtime/pull/91961

Error Message

Fill the error message using step by step known issues guidance.

{
  "ErrorMessage": "at System.Linq.Enumerable:Where",
  "ErrorPattern": "",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}

From log:

=================================================================
    Native Crash Reporting
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

=================================================================
    Native stacktrace:
=================================================================
    0x7ff653e878a1 - Unknown
    0x7ff653e2e38e - Unknown
    0x7ff653d95e61 - Unknown
    0x7ff6541ea520 - Unknown
    0x42996597 - Unknown

=================================================================
    External Debugger Dump:
=================================================================
[New LWP 5622]
[New LWP 5623]
[New LWP 5624]
[New LWP 5625]
[New LWP 5628]
[New LWP 5629]
[New LWP 5630]
[New LWP 5632]
[New LWP 5633]
[New LWP 5634]
[New LWP 5635]
[New LWP 5636]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
__futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5565fe3f7ce4) at ./nptl/futex-internal.c:57
57  ./nptl/futex-internal.c: No such file or directory.
  Id   Target Id                                          Frame 
* 1    Thread 0x7ff6541a5740 (LWP 5621) "dotnet"          __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5565fe3f7ce4) at ./nptl/futex-internal.c:57
  2    Thread 0x7ff6533ff640 (LWP 5622) "SGen worker"     __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x7ff654088dc8 <work_cond+40>) at ./nptl/futex-internal.c:57
  3    Thread 0x7ff6515f6640 (LWP 5623) ".NET EventPipe"  0x00007ff6542c0d7f in __GI___poll (fds=fds@entry=0x7ff64c002970, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
  4    Thread 0x7ff6513f5640 (LWP 5624) "Finalizer"       __futex_abstimed_wait_common64 (private=<optimized out>, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x7ff654079fb0 <finalizer_sem>) at ./nptl/futex-internal.c:57
  5    Thread 0x7ff648be1640 (LWP 5625) ".NET SigHandler" __GI___libc_read (nbytes=1, buf=0x7ff648be0e47, fd=7) at ../sysdeps/unix/sysv/linux/read.c:26
  6    Thread 0x7ff6486c2640 (LWP 5628) ".NET Long Runni" __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x7ff63c02a794) at ./nptl/futex-internal.c:57
  7    Thread 0x7ff6488c3640 (LWP 5629) ".NET TP Worker"  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x7ff6488c2578, op=137, expected=0, futex_word=0x7ff6380b51a0) at ./nptl/futex-internal.c:57
  8    Thread 0x7ff648491640 (LWP 5630) ".NET TP Gate"    __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x7ff648490668, op=137, expected=0, futex_word=0x7ff630030984) at ./nptl/futex-internal.c:57
  9    Thread 0x7ff64824f640 (LWP 5632) ".NET Long Runni" __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x7ff628010144) at ./nptl/futex-internal.c:57
  10   Thread 0x7ff62ffff640 (LWP 5633) ".NET Long Runni" __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x7ff624002960) at ./nptl/futex-internal.c:57
  11   Thread 0x7ff62fa9e640 (LWP 5634) ".NET TP Worker"  0x00007ff65429249f in __GI___wait4 (pid=pid@entry=5797, stat_loc=stat_loc@entry=0x7ff62fa9b7c0, options=options@entry=0, usage=usage@entry=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30
  12   Thread 0x7ff62f60b640 (LWP 5635) ".NET Timer"      __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x7ff620013bc4) at ./nptl/futex-internal.c:57
  13   Thread 0x7ff61bd7b640 (LWP 5636) ".NET TP Worker"  __futex_abstimed_wait_common64 (private=1397252800, cancel=true, abstime=0x7ff61bd7a778, op=137, expected=0, futex_word=0x7ff61bd7a7f8) at ./nptl/futex-internal.c:57

Known issue validation

Build: :mag_right: https://dev.azure.com/dnceng-public/public/_build/results?buildId=405797 Error message validated: at System.Linq.Enumerable:Where Result validation: :white_check_mark: Known issue matched with the provided build. Validation performed at: 9/14/2023 8:29:29 PM UTC

Report

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 0 0
ghost commented 1 year ago

Tagging subscribers to this area: @dotnet/interop-contrib See info in area-owners.md if you want to be subscribed.

Issue Details
## Build Information Build: https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_build/results?buildId=405797 Build error leg or test failing: ComInterfaceGenerator.Unit.Tests.WorkItemExecution Pull request: https://github.com/dotnet/runtime/pull/91961 ## Error Message Fill the error message using [step by step known issues guidance](https://github.com/dotnet/arcade/blob/main/Documentation/Projects/Build%20Analysis/KnownIssues.md#how-to-fill-out-a-known-issue-error-section). ```json { "ErrorMessage": "futex-internal.c: No such file or directory", "ErrorPattern": "", "BuildRetry": false, "ExcludeConsoleLog": false } ``` [From log](https://[helixre107v0xdcypoyl9e7f.blob.core.windows.net/dotnet-runtime-refs-pull-91961-merge-52a0ae946e554c139c/ComInterfaceGenerator.Unit.Tests/1/console.4578dce8.log?helixlogtype=result](https://helixre107v0xdcypoyl9e7f.blob.core.windows.net/dotnet-runtime-refs-pull-91961-merge-52a0ae946e554c139c/ComInterfaceGenerator.Unit.Tests/1/console.4578dce8.log?helixlogtype=result)): ```log ================================================================= Native Crash Reporting ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= ================================================================= Native stacktrace: ================================================================= 0x7ff653e878a1 - Unknown 0x7ff653e2e38e - Unknown 0x7ff653d95e61 - Unknown 0x7ff6541ea520 - Unknown 0x42996597 - Unknown ================================================================= External Debugger Dump: ================================================================= [New LWP 5622] [New LWP 5623] [New LWP 5624] [New LWP 5625] [New LWP 5628] [New LWP 5629] [New LWP 5630] [New LWP 5632] [New LWP 5633] [New LWP 5634] [New LWP 5635] [New LWP 5636] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5565fe3f7ce4) at ./nptl/futex-internal.c:57 57 ./nptl/futex-internal.c: No such file or directory. Id Target Id Frame * 1 Thread 0x7ff6541a5740 (LWP 5621) "dotnet" __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5565fe3f7ce4) at ./nptl/futex-internal.c:57 2 Thread 0x7ff6533ff640 (LWP 5622) "SGen worker" __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x7ff654088dc8 ) at ./nptl/futex-internal.c:57 3 Thread 0x7ff6515f6640 (LWP 5623) ".NET EventPipe" 0x00007ff6542c0d7f in __GI___poll (fds=fds@entry=0x7ff64c002970, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 4 Thread 0x7ff6513f5640 (LWP 5624) "Finalizer" __futex_abstimed_wait_common64 (private=, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x7ff654079fb0 ) at ./nptl/futex-internal.c:57 5 Thread 0x7ff648be1640 (LWP 5625) ".NET SigHandler" __GI___libc_read (nbytes=1, buf=0x7ff648be0e47, fd=7) at ../sysdeps/unix/sysv/linux/read.c:26 6 Thread 0x7ff6486c2640 (LWP 5628) ".NET Long Runni" __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x7ff63c02a794) at ./nptl/futex-internal.c:57 7 Thread 0x7ff6488c3640 (LWP 5629) ".NET TP Worker" __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x7ff6488c2578, op=137, expected=0, futex_word=0x7ff6380b51a0) at ./nptl/futex-internal.c:57 8 Thread 0x7ff648491640 (LWP 5630) ".NET TP Gate" __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x7ff648490668, op=137, expected=0, futex_word=0x7ff630030984) at ./nptl/futex-internal.c:57 9 Thread 0x7ff64824f640 (LWP 5632) ".NET Long Runni" __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x7ff628010144) at ./nptl/futex-internal.c:57 10 Thread 0x7ff62ffff640 (LWP 5633) ".NET Long Runni" __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x7ff624002960) at ./nptl/futex-internal.c:57 11 Thread 0x7ff62fa9e640 (LWP 5634) ".NET TP Worker" 0x00007ff65429249f in __GI___wait4 (pid=pid@entry=5797, stat_loc=stat_loc@entry=0x7ff62fa9b7c0, options=options@entry=0, usage=usage@entry=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 12 Thread 0x7ff62f60b640 (LWP 5635) ".NET Timer" __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x7ff620013bc4) at ./nptl/futex-internal.c:57 13 Thread 0x7ff61bd7b640 (LWP 5636) ".NET TP Worker" __futex_abstimed_wait_common64 (private=1397252800, cancel=true, abstime=0x7ff61bd7a778, op=137, expected=0, futex_word=0x7ff61bd7a7f8) at ./nptl/futex-internal.c:57 ``` ### Known issue validation **Build: :mag_right:** https://dev.azure.com/dnceng-public/public/_build/results?buildId=405797 **Error message validated:** `futex-internal.c: No such file or directory` **Result validation: :white_check_mark:** Known issue matched with the provided build. **Validation performed at:** 9/14/2023 4:33:44 PM UTC
Author: buyaa-n
Assignees: -
Labels: `area-System.Runtime.InteropServices`, `blocking-clean-ci`, `untriaged`, `Known Build Error`
Milestone: -
AaronRobinsonMSFT commented 1 year ago

@lambdageek Any thoughts here?

jtschuster commented 1 year ago

Just to clarify, the .Unit.Tests tests only run managed code that generates code, no native code is executed in the tests.

lambdageek commented 1 year ago

Please dont' create "futex-internal.c: No such file or directory"issues. That's gdb complaining that it can't see the source code for something inside a linux libc. it will catch literally every single unrelated Mono runtime abort.

the actual error is some kind of JIT failure in

      at System.Linq.Enumerable:Where <0x000f7>
      at Microsoft.CodeAnalysis.Testing.AnalyzerTest`1:VerifyDiagnosticResults <0x008c7>
      at <VerifyDiagnosticsAsync>d__69:MoveNext <0x0059b>
      at AsyncStateMachineBox`1:ExecutionContextCallback <0x0003b>
      at System.Threading.ExecutionContext:RunFromThreadPoolDispatchLoop <0x00086>
      at AsyncStateMachineBox`1:MoveNext <0x0010f>
      at AsyncStateMachineBox`1:ExecuteFromThreadPool <0x00033>
      at System.Threading.ThreadPoolWorkQueue:Dispatch <0x003ae>
      at WorkerThread:WorkerThreadStart <0x001a3>
      at System.Threading.Thread:StartCallback <0x000f0>
      at System.Object:runtime_invoke_void__this__ <0x00091>

/cc @SamMonoRT

SamMonoRT commented 1 year ago

@buyaa-n - are we confident, the failure isn't introduced by the changes in your PR?

buyaa-n commented 1 year ago

The PR only updates ConfigurationBinder source generator and the update has nothing to do with ComInterfaceGenerator or any other generator

SamMonoRT commented 1 year ago

We should try a before/after PR with a local run of the failing test. I don't recall seeing this failure before.

jeffschwMSFT commented 8 months ago

removing blocking-clean-ci has it has not failed in 30 days.

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 0 0