-
Notifications
You must be signed in to change notification settings - Fork 3.8k
[sdb] Failure to suspend #13311
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
Comments
Attn @thaystg |
@marek-safar could you make sure this get looked at? This is impacting our CI. |
var thread = vm.GetThreads()[0]; greetingValue = program.InvokeMethod(thread, greeting, new Value[0]) as StringMirror; But sometimes the Thread[0] was the MainThread of the program and it works, and other times was the GC Finalizer, but when it tries to run something on GC Finalizer thread, the thread is not suspended and throws an exception. In the fix I removed the Finalizer thread of the list that is returned when CMD_VM_ALL_THREADS is called. Fix mono#13311
The example that reproduces the bug does this: But sometimes the Thread[0] was the MainThread of the program and it works, and other times was the GC Finalizer, but when it tries to run something on GC Finalizer thread, the thread is not suspended and throws an exception.
|
var thread = vm.GetThreads()[0]; greetingValue = program.InvokeMethod(thread, greeting, new Value[0]) as StringMirror; But sometimes the Thread[0] was the MainThread of the program and it works, and other times was the GC Finalizer, but when it tries to run something on GC Finalizer thread, the thread is not suspended and throws an exception. In the fix I removed the Finalizer thread if ti's not executing a managed code of the list that is returned when CMD_VM_ALL_THREADS is called. Fix mono#13311
…eads()[0]; greetingValue = program.InvokeMethod(thread, greeting, new Value[0]) as StringMirror; But sometimes the Thread[0] was the MainThread of the program and it works, and other times was the GC Finalizer, but when it tries to run something on GC Finalizer thread, the thread is not suspended and throws an exception. In the fix I removed the Finalizer thread of the list that is returned when CMD_VM_ALL_THREADS is called. Fix mono#13311
…eads()[0]; greetingValue = program.InvokeMethod(thread, greeting, new Value[0]) as StringMirror; But sometimes the Thread[0] was the MainThread of the program and it works, and other times was the GC Finalizer, but when it tries to run something on GC Finalizer thread, the thread is not suspended and throws an exception. In the fix I removed the Finalizer thread if ti's not executing a managed code of the list that is returned when CMD_VM_ALL_THREADS is called. Fix mono#13311
…ed code (#15618) * The example that reproduces the bug does this: var thread = vm.GetThreads()[0]; greetingValue = program.InvokeMethod(thread, greeting, new Value[0]) as StringMirror; But sometimes the Thread[0] was the MainThread of the program and it works, and other times was the GC Finalizer, but when it tries to run something on GC Finalizer thread, the thread is not suspended and throws an exception. In the fix I removed the Finalizer thread if it's not executing a managed code of the list that is returned when CMD_VM_ALL_THREADS is called. Fix #13311
…ting managed code (#15683) * The example that reproduces the bug does this: var thread = vm.GetThreads()[0]; greetingValue = program.InvokeMethod(thread, greeting, new Value[0]) as StringMirror; But sometimes the Thread[0] was the MainThread of the program and it works, and other times was the GC Finalizer, but when it tries to run something on GC Finalizer thread, the thread is not suspended and throws an exception. In the fix I removed the Finalizer thread of the list that is returned when CMD_VM_ALL_THREADS is called. Fix #13311 * The example that reproduces the bug does this: var thread = vm.GetThreads()[0]; greetingValue = program.InvokeMethod(thread, greeting, new Value[0]) as StringMirror; But sometimes the Thread[0] was the MainThread of the program and it works, and other times was the GC Finalizer, but when it tries to run something on GC Finalizer thread, the thread is not suspended and throws an exception. In the fix I removed the Finalizer thread if ti's not executing a managed code of the list that is returned when CMD_VM_ALL_THREADS is called. Fix #13311 * Changing what was suggested by Aleksey. * Removing unused attribute.
Fixes: mono/mono#13311 Fixes: mono/mono#14839 Fixes: mono/mono#15306 Fixes: mono/mono#15366
Fixes: mono/mono#13311 Fixes: mono/mono#14839 Fixes: mono/mono#15306 Fixes: mono/mono#15366
Fixes: mono/mono#13311 Fixes: mono/mono#14839 Fixes: mono/mono#15306 Fixes: mono/mono#15366
@thaystg thank you for looking at this! |
might this issue be related to this? 🤔 |
Changes: http://github.com/mono/mono/compare/2c3aeaf3780de7392a0d3cbe4dcf86846eb4dffa...29b1ac19c961b959a09097dbc0fe4cd567cc5298 $ git diff --shortstat 2c3aeaf3..29b1ac19 1528 files changed, 45421 insertions(+), 21967 deletions(-) Changes: mono/api-doc-tools@d03e819...5da8127 $ git diff --shortstat d03e8198..5da8127a 1001 files changed, 86168 insertions(+), 11863 deletions(-) Changes: mono/api-snapshot@e09042d...1ca8e82 $ git diff --shortstat e09042da..1ca8e82f 28 files changed, 612 insertions(+), 217 deletions(-) Changes: dotnet/cecil@a6c8f5e...cb6c1ca $ git diff --shortstat a6c8f5e1..cb6c1ca9 13 files changed, 233 insertions(+), 88 deletions(-) Changes: mono/corefx@4806207...470e0e1 $ git diff --shortstat 4806207f...470e0e10 4 files changed, 31 insertions(+), 12 deletions(-) Changes: dotnet/linker@ebe2a1f...1f87de3 $ git diff --shortstat ebe2a1f4...1f87de35 90 files changed, 3219 insertions(+), 1224 deletions(-) Changes: dotnet/java-interop@befdbc0...be6048e $ git diff --shortstat befdbc03...be6048ed 3 files changed, 3 insertions(+), 3 deletions(-) Upstream-Fixes: https://bugs.winehq.org/show_bug.cgi?id=47561 Upstream-Fixes: https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_workitems/edit/967582 Upstream-Fixes: https://github.com/dotnet/coreclr/issues/25071 Upstream-Fixes: https://github.com/dotnet/coreclr/issues/25242 Upstream-Fixes: https://github.com/dotnet/coreclr/issues/25632 Upstream-Fixes: https://github.com/dotnet/coreclr/issues/25709 Upstream-Fixes: https://github.com/dotnet/corefx/issues/37955 Upstream-Fixes: https://github.com/dotnet/corefx/issues/38455 Upstream-Fixes: mono/mono#7377 Upstream-Fixes: mono/mono#8747 Upstream-Fixes: mono/mono#9621 Upstream-Fixes: mono/mono#9664 Upstream-Fixes: mono/mono#9706 Upstream-Fixes: mono/mono#10201 Upstream-Fixes: mono/mono#10645 Upstream-Fixes: mono/mono#10748 Upstream-Fixes: mono/mono#10848 Upstream-Fixes: mono/mono#12141 Upstream-Fixes: mono/mono#13311 Upstream-Fixes: mono/mono#13408 Upstream-Fixes: mono/mono#13412 Upstream-Fixes: mono/mono#13891 Upstream-Fixes: mono/mono#13923 Upstream-Fixes: mono/mono#13945 Upstream-Fixes: mono/mono#14170 Upstream-Fixes: mono/mono#14214 Upstream-Fixes: mono/mono#14214 Upstream-Fixes: mono/mono#14215 Upstream-Fixes: mono/mono#14243 Upstream-Fixes: mono/mono#14377 Upstream-Fixes: mono/mono#14495 Upstream-Fixes: mono/mono#14555 Upstream-Fixes: mono/mono#14724 Upstream-Fixes: mono/mono#14729 Upstream-Fixes: mono/mono#14772 Upstream-Fixes: mono/mono#14792 Upstream-Fixes: mono/mono#14793 Upstream-Fixes: mono/mono#14809 Upstream-Fixes: mono/mono#14830 Upstream-Fixes: mono/mono#14839 Upstream-Fixes: mono/mono#14841 Upstream-Fixes: mono/mono#14847 Upstream-Fixes: mono/mono#14864 Upstream-Fixes: mono/mono#14871 Upstream-Fixes: mono/mono#14917 Upstream-Fixes: mono/mono#14945 Upstream-Fixes: mono/mono#14946 Upstream-Fixes: mono/mono#14948 Upstream-Fixes: mono/mono#14957 Upstream-Fixes: mono/mono#14959 Upstream-Fixes: mono/mono#14960 Upstream-Fixes: mono/mono#14961 Upstream-Fixes: mono/mono#14963 Upstream-Fixes: mono/mono#14971 Upstream-Fixes: mono/mono#14972 Upstream-Fixes: mono/mono#14975 Upstream-Fixes: mono/mono#15023 Upstream-Fixes: mono/mono#15048 Upstream-Fixes: mono/mono#15058 Upstream-Fixes: mono/mono#15080 Upstream-Fixes: mono/mono#15182 Upstream-Fixes: mono/mono#15188 Upstream-Fixes: mono/mono#15189 Upstream-Fixes: mono/mono#15261 Upstream-Fixes: mono/mono#15262 Upstream-Fixes: mono/mono#15263 Upstream-Fixes: mono/mono#15265 Upstream-Fixes: mono/mono#15268 Upstream-Fixes: mono/mono#15307 Upstream-Fixes: mono/mono#15324 Upstream-Fixes: mono/mono#15329 Upstream-Fixes: mono/mono#15330 Upstream-Fixes: mono/mono#15441 Upstream-Fixes: mono/mono#15446 Upstream-Fixes: mono/mono#15503 Upstream-Fixes: mono/mono#15541 Upstream-Fixes: mono/mono#15551 Upstream-Fixes: mono/mono#15556 Upstream-Fixes: mono/mono#15596 Upstream-Fixes: mono/mono#15691 Upstream-Fixes: mono/mono#15692 Upstream-Fixes: mono/mono#15740 Upstream-Fixes: mono/mono#15751 Upstream-Fixes: mono/mono#15760 Upstream-Fixes: mono/mono#15781 Upstream-Fixes: mono/mono#15794 Upstream-Fixes: mono/mono#15825 Upstream-Fixes: mono/mono#15853 Upstream-Fixes: mono/mono#15878 Upstream-Fixes: mono/mono#15887 Upstream-Fixes: mono/mono#15990 Upstream-Fixes: mono/mono#16032 Upstream-Fixes: mono/mono#16411 Upstream-Fixes: mono/mono#16486 Upstream-Fixes: https://github.com/mono/mono/issues/25709 Upstream-Fixes: https://github.com/mono/mono/issues/38821 Upstream-Fixes: #3112 Upstream-Fixes: #3168 Update `build-tools/automation/build.groovy` so that it fully cleans the build tree before starting the build, so that the vestigial mono submodule (removed in 0c9f83b) is *actually* removed from the build tree, so that we don't inadvertently use *ancient* submodule contents.
Changes: http://github.com/mono/mono/compare/2c3aeaf3780de7392a0d3cbe4dcf86846eb4dffa...29b1ac19c961b959a09097dbc0fe4cd567cc5298 $ git diff --shortstat 2c3aeaf3..29b1ac19 1528 files changed, 45421 insertions(+), 21967 deletions(-) Changes: mono/api-doc-tools@d03e819...5da8127 $ git diff --shortstat d03e8198..5da8127a 1001 files changed, 86168 insertions(+), 11863 deletions(-) Changes: mono/api-snapshot@e09042d...1ca8e82 $ git diff --shortstat e09042da..1ca8e82f 28 files changed, 612 insertions(+), 217 deletions(-) Changes: dotnet/cecil@a6c8f5e...cb6c1ca $ git diff --shortstat a6c8f5e1..cb6c1ca9 13 files changed, 233 insertions(+), 88 deletions(-) Changes: mono/corefx@4806207...470e0e1 $ git diff --shortstat 4806207f...470e0e10 4 files changed, 31 insertions(+), 12 deletions(-) Changes: dotnet/linker@ebe2a1f...1f87de3 $ git diff --shortstat ebe2a1f4...1f87de35 90 files changed, 3219 insertions(+), 1224 deletions(-) Changes: dotnet/java-interop@75b1189...4fd3539 $ git diff --shortstat 75b11891...4fd35393 34 files changed, 448 insertions(+), 52 deletions(-) Upstream-Fixes: https://bugs.winehq.org/show_bug.cgi?id=47561 Upstream-Fixes: https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_workitems/edit/967582 Upstream-Fixes: https://github.com/dotnet/coreclr/issues/25071 Upstream-Fixes: https://github.com/dotnet/coreclr/issues/25242 Upstream-Fixes: https://github.com/dotnet/coreclr/issues/25632 Upstream-Fixes: https://github.com/dotnet/coreclr/issues/25709 Upstream-Fixes: https://github.com/dotnet/corefx/issues/37955 Upstream-Fixes: https://github.com/dotnet/corefx/issues/38455 Upstream-Fixes: mono/mono#7377 Upstream-Fixes: mono/mono#8747 Upstream-Fixes: mono/mono#9621 Upstream-Fixes: mono/mono#9664 Upstream-Fixes: mono/mono#9706 Upstream-Fixes: mono/mono#10201 Upstream-Fixes: mono/mono#10645 Upstream-Fixes: mono/mono#10748 Upstream-Fixes: mono/mono#10848 Upstream-Fixes: mono/mono#12141 Upstream-Fixes: mono/mono#13311 Upstream-Fixes: mono/mono#13408 Upstream-Fixes: mono/mono#13412 Upstream-Fixes: mono/mono#13891 Upstream-Fixes: mono/mono#13923 Upstream-Fixes: mono/mono#13945 Upstream-Fixes: mono/mono#14170 Upstream-Fixes: mono/mono#14214 Upstream-Fixes: mono/mono#14214 Upstream-Fixes: mono/mono#14215 Upstream-Fixes: mono/mono#14243 Upstream-Fixes: mono/mono#14377 Upstream-Fixes: mono/mono#14495 Upstream-Fixes: mono/mono#14555 Upstream-Fixes: mono/mono#14724 Upstream-Fixes: mono/mono#14729 Upstream-Fixes: mono/mono#14772 Upstream-Fixes: mono/mono#14792 Upstream-Fixes: mono/mono#14793 Upstream-Fixes: mono/mono#14809 Upstream-Fixes: mono/mono#14830 Upstream-Fixes: mono/mono#14839 Upstream-Fixes: mono/mono#14841 Upstream-Fixes: mono/mono#14847 Upstream-Fixes: mono/mono#14864 Upstream-Fixes: mono/mono#14871 Upstream-Fixes: mono/mono#14917 Upstream-Fixes: mono/mono#14945 Upstream-Fixes: mono/mono#14946 Upstream-Fixes: mono/mono#14948 Upstream-Fixes: mono/mono#14957 Upstream-Fixes: mono/mono#14959 Upstream-Fixes: mono/mono#14960 Upstream-Fixes: mono/mono#14961 Upstream-Fixes: mono/mono#14963 Upstream-Fixes: mono/mono#14971 Upstream-Fixes: mono/mono#14972 Upstream-Fixes: mono/mono#14975 Upstream-Fixes: mono/mono#15023 Upstream-Fixes: mono/mono#15048 Upstream-Fixes: mono/mono#15058 Upstream-Fixes: mono/mono#15080 Upstream-Fixes: mono/mono#15182 Upstream-Fixes: mono/mono#15188 Upstream-Fixes: mono/mono#15189 Upstream-Fixes: mono/mono#15261 Upstream-Fixes: mono/mono#15262 Upstream-Fixes: mono/mono#15263 Upstream-Fixes: mono/mono#15265 Upstream-Fixes: mono/mono#15268 Upstream-Fixes: mono/mono#15307 Upstream-Fixes: mono/mono#15324 Upstream-Fixes: mono/mono#15329 Upstream-Fixes: mono/mono#15330 Upstream-Fixes: mono/mono#15441 Upstream-Fixes: mono/mono#15446 Upstream-Fixes: mono/mono#15503 Upstream-Fixes: mono/mono#15541 Upstream-Fixes: mono/mono#15551 Upstream-Fixes: mono/mono#15556 Upstream-Fixes: mono/mono#15596 Upstream-Fixes: mono/mono#15691 Upstream-Fixes: mono/mono#15692 Upstream-Fixes: mono/mono#15740 Upstream-Fixes: mono/mono#15751 Upstream-Fixes: mono/mono#15760 Upstream-Fixes: mono/mono#15781 Upstream-Fixes: mono/mono#15794 Upstream-Fixes: mono/mono#15825 Upstream-Fixes: mono/mono#15853 Upstream-Fixes: mono/mono#15878 Upstream-Fixes: mono/mono#15887 Upstream-Fixes: mono/mono#15990 Upstream-Fixes: mono/mono#16032 Upstream-Fixes: mono/mono#16411 Upstream-Fixes: mono/mono#16486 Upstream-Fixes: https://github.com/mono/mono/issues/25709 Upstream-Fixes: https://github.com/mono/mono/issues/38821 Upstream-Fixes: dotnet#3112 Upstream-Fixes: dotnet#3168 Update `build-tools/automation/build.groovy` so that it fully cleans the build tree before starting the build, so that the vestigial mono submodule (removed in 0c9f83b) is *actually* removed from the build tree, so that we don't inadvertently use *ancient* submodule contents.
Changes: http://github.com/mono/mono/compare/2c3aeaf3780de7392a0d3cbe4dcf86846eb4dffa...29b1ac19c961b959a09097dbc0fe4cd567cc5298 $ git diff --shortstat 2c3aeaf3..29b1ac19 1528 files changed, 45421 insertions(+), 21967 deletions(-) Changes: mono/api-doc-tools@d03e819...5da8127 $ git diff --shortstat d03e8198..5da8127a 1001 files changed, 86168 insertions(+), 11863 deletions(-) Changes: mono/api-snapshot@e09042d...1ca8e82 $ git diff --shortstat e09042da..1ca8e82f 28 files changed, 612 insertions(+), 217 deletions(-) Changes: dotnet/cecil@a6c8f5e...cb6c1ca $ git diff --shortstat a6c8f5e1..cb6c1ca9 13 files changed, 233 insertions(+), 88 deletions(-) Changes: mono/corefx@4806207...470e0e1 $ git diff --shortstat 4806207f...470e0e10 4 files changed, 31 insertions(+), 12 deletions(-) Changes: dotnet/linker@ebe2a1f...1f87de3 $ git diff --shortstat ebe2a1f4...1f87de35 90 files changed, 3219 insertions(+), 1224 deletions(-) Changes: dotnet/java-interop@75b1189...4fd3539 $ git diff --shortstat 75b11891...4fd35393 34 files changed, 448 insertions(+), 52 deletions(-) Fixes: #3112 Fixes: #3168 Context: https://bugs.winehq.org/show_bug.cgi?id=47561 Context: https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_workitems/edit/967582 Context: https://github.com/dotnet/coreclr/issues/25071 Context: https://github.com/dotnet/coreclr/issues/25242 Context: https://github.com/dotnet/coreclr/issues/25632 Context: https://github.com/dotnet/coreclr/issues/25709 Context: https://github.com/dotnet/corefx/issues/37955 Context: https://github.com/dotnet/corefx/issues/38455 Context: mono/mono#7377 Context: mono/mono#8747 Context: mono/mono#9621 Context: mono/mono#9664 Context: mono/mono#9706 Context: mono/mono#10201 Context: mono/mono#10645 Context: mono/mono#10748 Context: mono/mono#10848 Context: mono/mono#12141 Context: mono/mono#13311 Context: mono/mono#13408 Context: mono/mono#13412 Context: mono/mono#13891 Context: mono/mono#13923 Context: mono/mono#13945 Context: mono/mono#14170 Context: mono/mono#14214 Context: mono/mono#14214 Context: mono/mono#14215 Context: mono/mono#14243 Context: mono/mono#14377 Context: mono/mono#14495 Context: mono/mono#14555 Context: mono/mono#14724 Context: mono/mono#14729 Context: mono/mono#14772 Context: mono/mono#14792 Context: mono/mono#14793 Context: mono/mono#14809 Context: mono/mono#14830 Context: mono/mono#14839 Context: mono/mono#14841 Context: mono/mono#14847 Context: mono/mono#14864 Context: mono/mono#14871 Context: mono/mono#14917 Context: mono/mono#14945 Context: mono/mono#14946 Context: mono/mono#14948 Context: mono/mono#14957 Context: mono/mono#14959 Context: mono/mono#14960 Context: mono/mono#14961 Context: mono/mono#14963 Context: mono/mono#14971 Context: mono/mono#14972 Context: mono/mono#14975 Context: mono/mono#15023 Context: mono/mono#15048 Context: mono/mono#15058 Context: mono/mono#15080 Context: mono/mono#15182 Context: mono/mono#15188 Context: mono/mono#15189 Context: mono/mono#15261 Context: mono/mono#15262 Context: mono/mono#15263 Context: mono/mono#15265 Context: mono/mono#15268 Context: mono/mono#15307 Context: mono/mono#15324 Context: mono/mono#15329 Context: mono/mono#15330 Context: mono/mono#15441 Context: mono/mono#15446 Context: mono/mono#15503 Context: mono/mono#15541 Context: mono/mono#15551 Context: mono/mono#15556 Context: mono/mono#15596 Context: mono/mono#15691 Context: mono/mono#15692 Context: mono/mono#15740 Context: mono/mono#15751 Context: mono/mono#15760 Context: mono/mono#15781 Context: mono/mono#15794 Context: mono/mono#15825 Context: mono/mono#15853 Context: mono/mono#15878 Context: mono/mono#15887 Context: mono/mono#15990 Context: mono/mono#16032 Context: mono/mono#16411 Context: mono/mono#16486 Context: https://github.com/mono/mono/issues/25709 Context: https://github.com/mono/mono/issues/38821 Update `build-tools/automation/build.groovy` so that it fully cleans the build tree before starting the build, so that the vestigial mono submodule (removed in 0c9f83b) is *actually* removed from the build tree, so that we don't inadvertently use *ancient* submodule contents.
This is really a show stopper. Hope it will make in next stable VS fast fast FAST |
Unzip the following repro:
reprosdb2.zip
build.sh && mono debugger.exe
This doesn't repro all the time, so it might be timing related, but sometimes you get:
And sometimes it works:
Seeing the same behavior on Windows. This impacts the VSTU CI.
The text was updated successfully, but these errors were encountered: