Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assert failure: obj->GetGCSafeMethodTable ()->HasFinalizer () #81504

Closed
markples opened this issue Feb 1, 2023 · 3 comments
Closed

Assert failure: obj->GetGCSafeMethodTable ()->HasFinalizer () #81504

markples opened this issue Feb 1, 2023 · 3 comments
Assignees
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI blocking-clean-ci-optional Blocking optional rolling runs
Milestone

Comments

@markples
Copy link
Contributor

markples commented Feb 1, 2023

runtime-coreclr libraries-pgo
Libraries Test Run checked coreclr linux arm Release

Only linux/arm, failed Saturday, passed Sunday

Details:

https://dev.azure.com/dnceng-public/public/_build/results?buildId=151705&view=ms.vss-test-web.build-test-results-tab&runId=3199565&paneView=debug&resultId=190070
https://dev.azure.com/dnceng-public/public/_build/results?buildId=151705&view=logs&j=d38c1e35-fd06-5dba-0f06-2e0807d50a53&t=d109a4a9-a295-5758-d174-129b1567dfb2
https://helixre8s23ayyeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-heads-main-8175ba6a75044d5d90/System.Text.Json.Tests/1/console.e083f26a.log?helixlogtype=result

+ cat /root/helix/work/correlation/SetStressModes_fullpgo_random_gdv.sh
#!/usr/bin/env bash
export DOTNET_TieredCompilation=1
export DOTNET_DbgEnableMiniDump=1
export DOTNET_EnableCrashReport=1
export DOTNET_DbgMiniDumpName=$HELIX_DUMP_FOLDER/coredump.%d.dmp
export DOTNET_ReadyToRun=0
export DOTNET_TC_QuickJitForLoops=1
export DOTNET_TieredPGO=1
export DOTNET_JitRandomGuardedDevirtualization=1
export DOTNET_JitRandomlyCollect64BitCounts=1
+ . /root/helix/work/correlation/SetStressModes_fullpgo_random_gdv.sh
+ export DOTNET_TieredCompilation=1
+ export DOTNET_DbgEnableMiniDump=1
+ export DOTNET_EnableCrashReport=1
+ export DOTNET_DbgMiniDumpName=/home/helixbot/dotnetbuild/dumps/coredump.%d.dmp
+ export DOTNET_ReadyToRun=0
+ export DOTNET_TC_QuickJitForLoops=1
+ export DOTNET_TieredPGO=1
+ export DOTNET_JitRandomGuardedDevirtualization=1
+ export DOTNET_JitRandomlyCollect64BitCounts=1
+ printenv
+ grep COMPlus
+ ./RunTests.sh --runtime-path /root/helix/work/correlation
----- start Sat Jan 28 17:00:36 UTC 2023 =============== To repro directly: =====================================================
pushd .
/root/helix/work/correlation/dotnet exec --runtimeconfig System.Text.Json.Tests.runtimeconfig.json --depsfile System.Text.Json.Tests.deps.json xunit.console.dll System.Text.Json.Tests.dll -xml testResults.xml -nologo -nocolor -notrait category=IgnoreForCI -notrait category=OuterLoop -notrait category=failing 
popd
===========================================================================================================
/root/helix/work/workitem/e /root/helix/work/workitem/e
  Discovering: System.Text.Json.Tests (method display = ClassAndMethod, method display options = None)
  Discovered:  System.Text.Json.Tests (found 5581 of 5648 test cases)
  Starting:    System.Text.Json.Tests (parallel test collections = on, max threads = 2)

Assert failure(PID 28 [0x0000001c], Thread: 39 [0x0027]): obj->GetGCSafeMethodTable ()->HasFinalizer ()
    File: /__w/1/s/src/coreclr/vm/syncblk.cpp Line: 2039
    Image: /root/helix/work/correlation/dotnet

[createdump] Gathering state for process 28 dotnet
[createdump] Crashing thread 00000027 signal 00000006
[createdump] Writing crash report to file /home/helixbot/dotnetbuild/dumps/coredump.28.dmp.crashreport.json
[createdump] Crash report successfully written
[createdump] Writing minidump with heap to file /home/helixbot/dotnetbuild/dumps/coredump.28.dmp
[createdump] Written 773431296 bytes (188826 pages) to core file
[createdump] Target process is alive
[createdump] Dump successfully written in 65329ms
[createdump] waitpid() returned successfully (wstatus 00000000)
[createdump] Gathering state for process 28 dotnet
[createdump] Crashing thread 0000002b signal 00000005
[createdump] Target process is alive
[createdump] Problem suspending threads: ptrace(ATTACH, 29) FAILED No such process (3)
[createdump] Failure took 5952ms
./RunTests.sh: line 168:    28 Aborted                 (core dumped) "$RUNTIME_PATH/dotnet" exec --runtimeconfig System.Text.Json.Tests.runtimeconfig.json --depsfile System.Text.Json.Tests.deps.json xunit.console.dll System.Text.Json.Tests.dll -xml testResults.xml -nologo -nocolor -notrait category=IgnoreForCI -notrait category=OuterLoop -notrait category=failing $RSP_FILE
/root/helix/work/workitem/e
----- end Sat Jan 28 17:03:35 UTC 2023 ----- exit code 134 ----------------------------------------------------------
exit code 134 means SIGABRT Abort. Managed or native assert, or runtime check such as heap corruption, caused call to abort(). Core dumped.
ulimit -c value: unlimited

cc @dotnet/jit-contrib

@markples markples added area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI blocking-clean-ci-optional Blocking optional rolling runs labels Feb 1, 2023
@markples markples added this to the 8.0.0 milestone Feb 1, 2023
@ghost
Copy link

ghost commented Feb 1, 2023

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch, @kunalspathak
See info in area-owners.md if you want to be subscribed.

Issue Details

runtime-coreclr libraries-pgo
Libraries Test Run checked coreclr linux arm Release

Only linux/arm, failed Saturday, passed Sunday

Details:

https://dev.azure.com/dnceng-public/public/_build/results?buildId=151705&view=ms.vss-test-web.build-test-results-tab&runId=3199565&paneView=debug&resultId=190070
https://dev.azure.com/dnceng-public/public/_build/results?buildId=151705&view=logs&j=d38c1e35-fd06-5dba-0f06-2e0807d50a53&t=d109a4a9-a295-5758-d174-129b1567dfb2
https://helixre8s23ayyeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-heads-main-8175ba6a75044d5d90/System.Text.Json.Tests/1/console.e083f26a.log?helixlogtype=result

+ cat /root/helix/work/correlation/SetStressModes_fullpgo_random_gdv.sh
#!/usr/bin/env bash
export DOTNET_TieredCompilation=1
export DOTNET_DbgEnableMiniDump=1
export DOTNET_EnableCrashReport=1
export DOTNET_DbgMiniDumpName=$HELIX_DUMP_FOLDER/coredump.%d.dmp
export DOTNET_ReadyToRun=0
export DOTNET_TC_QuickJitForLoops=1
export DOTNET_TieredPGO=1
export DOTNET_JitRandomGuardedDevirtualization=1
export DOTNET_JitRandomlyCollect64BitCounts=1
+ . /root/helix/work/correlation/SetStressModes_fullpgo_random_gdv.sh
+ export DOTNET_TieredCompilation=1
+ export DOTNET_DbgEnableMiniDump=1
+ export DOTNET_EnableCrashReport=1
+ export DOTNET_DbgMiniDumpName=/home/helixbot/dotnetbuild/dumps/coredump.%d.dmp
+ export DOTNET_ReadyToRun=0
+ export DOTNET_TC_QuickJitForLoops=1
+ export DOTNET_TieredPGO=1
+ export DOTNET_JitRandomGuardedDevirtualization=1
+ export DOTNET_JitRandomlyCollect64BitCounts=1
+ printenv
+ grep COMPlus
+ ./RunTests.sh --runtime-path /root/helix/work/correlation
----- start Sat Jan 28 17:00:36 UTC 2023 =============== To repro directly: =====================================================
pushd .
/root/helix/work/correlation/dotnet exec --runtimeconfig System.Text.Json.Tests.runtimeconfig.json --depsfile System.Text.Json.Tests.deps.json xunit.console.dll System.Text.Json.Tests.dll -xml testResults.xml -nologo -nocolor -notrait category=IgnoreForCI -notrait category=OuterLoop -notrait category=failing 
popd
===========================================================================================================
/root/helix/work/workitem/e /root/helix/work/workitem/e
  Discovering: System.Text.Json.Tests (method display = ClassAndMethod, method display options = None)
  Discovered:  System.Text.Json.Tests (found 5581 of 5648 test cases)
  Starting:    System.Text.Json.Tests (parallel test collections = on, max threads = 2)

Assert failure(PID 28 [0x0000001c], Thread: 39 [0x0027]): obj->GetGCSafeMethodTable ()->HasFinalizer ()
    File: /__w/1/s/src/coreclr/vm/syncblk.cpp Line: 2039
    Image: /root/helix/work/correlation/dotnet

[createdump] Gathering state for process 28 dotnet
[createdump] Crashing thread 00000027 signal 00000006
[createdump] Writing crash report to file /home/helixbot/dotnetbuild/dumps/coredump.28.dmp.crashreport.json
[createdump] Crash report successfully written
[createdump] Writing minidump with heap to file /home/helixbot/dotnetbuild/dumps/coredump.28.dmp
[createdump] Written 773431296 bytes (188826 pages) to core file
[createdump] Target process is alive
[createdump] Dump successfully written in 65329ms
[createdump] waitpid() returned successfully (wstatus 00000000)
[createdump] Gathering state for process 28 dotnet
[createdump] Crashing thread 0000002b signal 00000005
[createdump] Target process is alive
[createdump] Problem suspending threads: ptrace(ATTACH, 29) FAILED No such process (3)
[createdump] Failure took 5952ms
./RunTests.sh: line 168:    28 Aborted                 (core dumped) "$RUNTIME_PATH/dotnet" exec --runtimeconfig System.Text.Json.Tests.runtimeconfig.json --depsfile System.Text.Json.Tests.deps.json xunit.console.dll System.Text.Json.Tests.dll -xml testResults.xml -nologo -nocolor -notrait category=IgnoreForCI -notrait category=OuterLoop -notrait category=failing $RSP_FILE
/root/helix/work/workitem/e
----- end Sat Jan 28 17:03:35 UTC 2023 ----- exit code 134 ----------------------------------------------------------
exit code 134 means SIGABRT Abort. Managed or native assert, or runtime check such as heap corruption, caused call to abort(). Core dumped.
ulimit -c value: unlimited

cc @dotnet/jit-contrib

Author: markples
Assignees: -
Labels:

area-CodeGen-coreclr, blocking-clean-ci-optional

Milestone: 8.0.0

@EgorBo
Copy link
Member

EgorBo commented Feb 1, 2023

the assert is likely a symptom of a gc hole 🙁

@EgorBo
Copy link
Member

EgorBo commented Mar 13, 2023

Had no luck reproing it - last 5 runs of runtime-coreclr libraries-pgo seem to be clean (apart from #82729)

@EgorBo EgorBo closed this as completed Mar 20, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Apr 19, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI blocking-clean-ci-optional Blocking optional rolling runs
Projects
None yet
Development

No branches or pull requests

2 participants