Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@luhenry
Copy link
Contributor

@luhenry luhenry commented Sep 20, 2017

No description provided.

@luhenry luhenry merged commit 96ace09 into mono:master Sep 21, 2017
@nealef
Copy link
Contributor

nealef commented Sep 21, 2017

Applied this, not sure if it's causal.

I get this failure for subthread-exit and bug-10127:

you are registering the same counter address twice: Discarded method code at 0x80432828
you are registering the same counter address twice: Time spent JITting discarded code at 0x80432830
you are registering the same counter address twice: Dynamic code allocs at 0x80484ee8
you are registering the same counter address twice: Dynamic code bytes at 0x80484ef0
you are registering the same counter address twice: Dynamic code frees at 0x80484ef8
you are registering the same counter address twice: Unwind info size at 0x80431728
you are registering the same counter address twice: Calls to trampolines at 0x80431498
you are registering the same counter address twice: JIT trampolines at 0x804314c8
you are registering the same counter address twice: Unbox trampolines at 0x80431494
you are registering the same counter address twice: Static rgctx trampolines at 0x80431490
you are registering the same counter address twice: RGCTX unmanaged lookups at 0x8043149c
you are registering the same counter address twice: RGCTX num lazy fetch trampolines at 0x804314cc
you are registering the same counter address twice: Async JIT info size at 0x80431288
* Assertion: should not be reached at domain.c:474

I also get failures in thread-exit and appdomain-threadpool-unload:

"Finalizer" tid=0x0x200029d7910 this=0x0x20000f74278 , thread handle : 0x80504d40, state : not waiting

@lewurm
Copy link
Contributor

lewurm commented Sep 21, 2017

@nealef for that assert at domain.c:474, can you get a native stack trace for that?

@nealef
Copy link
Contributor

nealef commented Sep 21, 2017 via email

@cherusker
Copy link
Contributor

cherusker commented Sep 21, 2017

Seen the exact same thing with @lewurm two weeks ago: #5502 (comment)

@luhenry
Copy link
Contributor Author

luhenry commented Sep 21, 2017

@nealef how reproducible is it before and after applying this commit? The domain.c:474 assertion seems highly unlikely to be related to this change.

@nealef
Copy link
Contributor

nealef commented Sep 22, 2017 via email

@nealef
Copy link
Contributor

nealef commented Sep 22, 2017 via email

@nealef
Copy link
Contributor

nealef commented Sep 25, 2017

gdb shows the following thread attempt to Exit:

Thread 2 (Thread 0x3ff8567f910 (LWP 51756)):
#0 0x0000004536f783c6 in sem_wait@@GLIBC_2.2 () from /lib64/libpthread.so.0
#1 0x00000000802e6ca2 in mono_os_sem_wait () at ../../mono/utils/mono-os-semaphore.h:210
#2 mono_os_sem_timedwait () at ../../mono/utils/mono-os-semaphore.h:243
#3 mono_threads_wait_pending_operations () at mono-threads.c:246
#4 0x00000000802e8628 in mono_thread_info_safe_suspend_and_run (id=4396089853760,
interrupt_kernel=, callback=0x8020c064 <async_suspend_critical>,
user_data=0x3ff8567e1f8) at mono-threads.c:1042
#5 0x000000008020f276 in async_suspend_internal (thread=0x3ff831dc130, interrupt=)
at threads.c:4933
#6 0x000000008021092a in mono_thread_suspend_all_other_threads () at threads.c:3467
#7 0x000000008018e1ae in ves_icall_System_Environment_Exit (result=) at icall.c:6736
#8 0x000003ff856ad192 in ?? ()
#9 0x000003ff8b5ecdf4 in ?? ()
#10 0x000003ff8b5ecbba in ?? ()
#11 0x000000008025cb3a in mono_gc_run_finalize (obj=, data=)
at gc.c:312

The thread that appears to be doing the suspend handling shows:

Thread 1 (Thread 0x3ff8b5fc740 (LWP 51743)):
#0 0x0000004536f78762 in sem_post@@GLIBC_2.2 () from /lib64/libpthread.so.0
#1 0x00000000802e76b6 in mono_os_sem_post (info=)
at ../../mono/utils/mono-os-semaphore.h:283
#2 mono_threads_notify_initiator_of_suspend (info=) at mono-threads.c:106
#3 0x00000000802e9eda in suspend_signal_handler (_dummy=, info=,
context=0x3ffe637e160) at mono-threads-posix-signals.c:173
#4
#5 0x0000004536f735b6 in pthread_mutex_unlock () from /lib64/libpthread.so.0
#6 0x000000008028e3fa in mono_os_mutex_unlock () at ../../mono/utils/mono-os-mutex.h:121
#7 mono_coop_mutex_unlock () at ../../mono/utils/mono-coop-mutex.h:70
#8 sgen_gc_unlock () at sgen-gc.c:3703
#9 0x0000000080282f1c in sgen_alloc_obj (vtable=0xb337b3d0, size=24) at sgen-alloc.c:424
#10 0x00000000802675d0 in mono_gc_alloc_obj (vtable=, size=)
at sgen-mono.c:948
#11 0x00000000801eb39c in mono_object_new_alloc_specific_checked (vtable=0xb337b3d0, error=0x3ffe637e6b8)
at object.c:5420
#12 0x00000000801ec8d0 in mono_object_new_specific_checked (vtable=0xb337b3d0, error=0x3ffe637e6b8)
at object.c:5360
#13 0x00000000801ec960 in ves_icall_object_new_specific (vtable=) at object.c:5367
#14 0x000003ff831fe2f0 in ?? ()
#15 0x000003ff831fe62a in ?? ()

@lewurm lewurm mentioned this pull request Feb 1, 2019
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants