[Bug 49897] winetricks dotnet45/dotnet452 hangs

WineHQ Bugzilla wine-bugs at winehq.org
Thu Jan 7 20:49:04 CST 2021


https://bugs.winehq.org/show_bug.cgi?id=49897

Zebediah Figura <z.figura12 at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |z.figura12 at gmail.com

--- Comment #13 from Zebediah Figura <z.figura12 at gmail.com> ---
I encountered hangs on fls_section.
<https://source.winehq.org/git/wine.git/commitdiff/16592ca918999dd28764e071384361ea44bdf11d>
should fix that, but even then I still sometimes see way too many mscorsvw
processes refusing to exit.

I tried taking a backtrace of one of them via gdb, and I see one (main?) thread
with this backtrace:

Thread 1 (Thread 0xf7f10980 (LWP 1793112) "mscorsvw.exe"):
#0  0xf7ededc9 in __kernel_vsyscall ()
#1  0xf7e7ad07 in __lll_lock_wait () from /usr/lib32/libpthread.so.0
#2  0xf7e72ab6 in pthread_mutex_lock () from /usr/lib32/libpthread.so.0
#3  0xf7ef158e in _dl_fini () from /lib/ld-linux.so.2
#4  0xf7c9fca6 in __run_exit_handlers () from /usr/lib32/libc.so.6
#5  0xf7c9fe75 in exit () from /usr/lib32/libc.so.6
#6  0xf7c0ab44 in signal_exit_thread () from
/bridge/git/wine32/dlls/ntdll/ntdll.so
#7  0xffdacdb8 in ?? ()
#8  0xf7bfcd67 in __wine_main (argc=12, argv=0xffdacf24, envp=0xffdacf58) at
../wine/dlls/ntdll/unix/loader.c:1574
#9  0x7d001295 in main ()

and 10 other threads with this backtrace:

Thread 2 (Thread 0xda3ac0 (LWP 1793113) "mscorsvw.exe" (Exiting)):
#0  0xf7ededc9 in __kernel_vsyscall ()
#1  0xf7e7ad07 in __lll_lock_wait () from /usr/lib32/libpthread.so.0
#2  0xf7e72ab6 in pthread_mutex_lock () from /usr/lib32/libpthread.so.0
#3  0xf7ef4be3 in _dl_open () from /lib/ld-linux.so.2
#4  0xf7dad5a0 in do_dlopen () from /usr/lib32/libc.so.6
#5  0xf7dae1e1 in _dl_catch_exception () from /usr/lib32/libc.so.6
#6  0xf7dae2b4 in _dl_catch_error () from /usr/lib32/libc.so.6
#7  0xf7dad6aa in dlerror_run () from /usr/lib32/libc.so.6
#8  0xf7dad756 in __libc_dlopen_mode () from /usr/lib32/libc.so.6
#9  0xf7e7c9b4 in pthread_cancel_init () from /usr/lib32/libpthread.so.0
#10 0xf7e7cc0d in _Unwind_ForcedUnwind () from /usr/lib32/libpthread.so.0
#11 0xf7e7aa9e in __pthread_unwind () from /usr/lib32/libpthread.so.0
#12 0xf7e718fa in pthread_exit () from /usr/lib32/libpthread.so.0
#13 0xf7c1a5b6 in pthread_exit_wrapper (status=0) at
../wine/dlls/ntdll/unix/thread.c:97
#14 0xf7c0ab44 in signal_exit_thread () from
/bridge/git/wine32/dlls/ntdll/ntdll.so
#15 0x00da3338 in ?? ()
#16 0xf7e70628 in start_thread () from /usr/lib32/libpthread.so.0
#17 0xf7d70c8a in clone () from /usr/lib32/libc.so.6

Which is kind of weird. How are they all blocked on an internal libdl mutex?
Maybe one thread got killed while holding it? That sounds a lot like bug 45932.
But bug 45932 was a regression due to threads getting killed while holding
*wine* mutexes. If threads can get killed while holding libdl mutexes and cause
hangs that way, why wasn't it a problem before?

I don't know how to debug this further.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list