https://bugs.winehq.org/show_bug.cgi?id=49532
Bug ID: 49532 Summary: Winetricks -q dotnet45 does not work Product: Wine Version: 5.11 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: jeremielapuree@yahoo.fr Distribution: ---
Since update of wine-5.12,dotnet45 fails to install (looks like installer entered in an infinite loop). As dotnet45 does not install with wine only (needs winetricks) I was unable to perform a regression test.
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #1 from joaopa jeremielapuree@yahoo.fr --- *** Bug 49533 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=49532
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |Ubuntu Version|5.11 |5.12
https://bugs.winehq.org/show_bug.cgi?id=49532
Jacek Caban jacek@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jacek@codeweavers.com
--- Comment #2 from Jacek Caban jacek@codeweavers.com --- FWIW, you may set WINE env variable to make winetricks use your wine build. Something like: WINE=/path/to/wine/build/wine winetricks dotnet45
https://bugs.winehq.org/show_bug.cgi?id=49532
Michael McGuire spoon0042@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |spoon0042@hotmail.com
--- Comment #3 from Michael McGuire spoon0042@hotmail.com --- I can't reproduce this? Made sure to try both 32- and 64-bit (new) prefixes but I haven't had any issues. It does take a while, relatively speaking; over 3 minutes on a ~2 year old i5. wine-devel 5.12 debian 10 buster.
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #4 from Michael McGuire spoon0042@hotmail.com --- Maybe I spoke to soon? Something is still running and giving me OOM. Neat.
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #5 from Michael McGuire spoon0042@hotmail.com --- I managed to do a regression test but I don't think I'm having the same issue so... well, once I got something that sounds similar -- stuck in a loop -- but retrying worked? For me winetricks finishes but I get dozens of mscorsvw.exe processes sticking around. meh, going to sleep on it.
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #6 from Michael McGuire spoon0042@hotmail.com --- Of course when I go to report the bug this morning I now have it getting "stuck" on 5.12. Last few lines look like this, op does this look similar to what you get? I'm going back to bed.
0368:fixme:msi:ACTION_CustomAction msidbCustomActionTypeTSAware not handled 0368:fixme:msi:ACTION_CustomAction msidbCustomActionTypeTSAware not handled 0368:fixme:msi:ACTION_CustomAction msidbCustomActionTypeTSAware not handled 0368:fixme:msi:ACTION_CustomAction msidbCustomActionTypeTSAware not handled 0368:fixme:msi:ACTION_CustomAction msidbCustomActionTypeTSAware not handled 074c:fixme:heap:RtlSetHeapInformation 0000000000560000 0 000000000021E400 4 stub 074c:fixme:seh:WerSetFlags (2) stub 074c:fixme:heap:RtlSetHeapInformation 0000000000000000 1 0000000000000000 0 stub 074c:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION 074c:fixme:service:QueryServiceConfig2W Level 6 not implemented
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #7 from joaopa jeremielapuree@yahoo.fr --- Created attachment 67689 --> https://bugs.winehq.org/attachment.cgi?id=67689 console output
Here is the console output I obtain.
https://bugs.winehq.org/show_bug.cgi?id=49532
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=49532
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, Installer, | |regression Status|UNCONFIRMED |NEW CC| |julliard@winehq.org, | |rbernon@codeweavers.com Regression SHA1| |72fc2ceaa6ae472a809b4d5c02b | |e98c44388c1b7 Ever confirmed|0 |1
--- Comment #8 from Austin English austinenglish@gmail.com --- I bisected this using git bisect run / timeout: $ cat /tmp/bisect.sh #!/bin/bash set -x
WINE_GIT="${WINE_GIT:-$HOME/wine-git}" export WINE="${WINE_GIT}/wine"
cd "$WINE_GIT" || exit 125 git clean -fxd || exit 125 ./configure --disable-tests || exit 125 make "-j$(nproc)" || exit 125 "${WINE_GIT}/server/wineserver" -k || true rm -rf "$HOME/.wine" || exit 125
time timeout -k 10s 5m winetricks -q dotnet45 ; status=$?
case $status in 0) exit 0;; 124) exit 1;; *) exit 125;; esac
$ git bisect run /tmp/bisect.sh ... There are only 'skip'ped commits left to test. The first bad commit could be any of: ceeb11d2a6545ae9db0c6825fb8d26b5cfe71889 72fc2ceaa6ae472a809b4d5c02be98c44388c1b7 We cannot bisect more! bisect run cannot continue any more
austin@laptop ~/wine-git ((no branch, bisect started on master)) $ git bisect log git bisect start # good: [16ac83bcbf0487576171a9d5ffbbef89f5a772ad] Release 5.11. git bisect good 16ac83bcbf0487576171a9d5ffbbef89f5a772ad # bad: [51dd1ba02e4a96a3e0c9381a434bfd1fd4347d83] Release 5.12. git bisect bad 51dd1ba02e4a96a3e0c9381a434bfd1fd4347d83 # good: [90f8a1b876cf0d1dbd820b295239faaef1c6cda0] quartz/vmr9: Set the destination rect to the whole client area when connecting. git bisect good 90f8a1b876cf0d1dbd820b295239faaef1c6cda0 # good: [7ae5f06e4722ea8f55eb47c49bf17105bd0db080] evr: Add IMFVideoDisplayControl stub for the presenter. git bisect good 7ae5f06e4722ea8f55eb47c49bf17105bd0db080 # good: [1caf8ade07a95610f383de8205fa35b16a82253a] evr: Add aggregation support for default mixer object. git bisect good 1caf8ade07a95610f383de8205fa35b16a82253a # good: [99e7c801e4d5032110190acbb04d85eb069df867] msi: Add disabled feature to show that it's not getting installed by patch. git bisect good 99e7c801e4d5032110190acbb04d85eb069df867 # bad: [72fc2ceaa6ae472a809b4d5c02be98c44388c1b7] ntdll: Use pthread mutexes for uninterrupted sections in the Unix library. git bisect bad 72fc2ceaa6ae472a809b4d5c02be98c44388c1b7 # good: [2406590472620fbef8e7eb94f2e2f6ade8562d85] mshtml: Add IHTMLDocument4::namespaces property implementation. git bisect good 2406590472620fbef8e7eb94f2e2f6ade8562d85 # good: [eadcba79251f616b8028e2e39ee71985ee5d863b] winegstreamer: Append a deinterlace element to the video post-processing chain. git bisect good eadcba79251f616b8028e2e39ee71985ee5d863b # skip: [ceeb11d2a6545ae9db0c6825fb8d26b5cfe71889] kernel32: Catch process creation breakpoint exceptions. git bisect skip ceeb11d2a6545ae9db0c6825fb8d26b5cfe71889 # good: [8bd5fe30014c2aa60f0c4570db4ef936e8c51245] d3dcompiler: Track def-use chains for anonymous nodes. git bisect good 8bd5fe30014c2aa60f0c4570db4ef936e8c51245 # only skipped commits left to test # possible first bad commit: [72fc2ceaa6ae472a809b4d5c02be98c44388c1b7] ntdll: Use pthread mutexes for uninterrupted sections in the Unix library. # possible first bad commit: [ceeb11d2a6545ae9db0c6825fb8d26b5cfe71889] kernel32: Catch process creation breakpoint exceptions.
CC'ing both authors.
https://bugs.winehq.org/show_bug.cgi?id=49532
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |dotnet
--- Comment #9 from Austin English austinenglish@gmail.com --- I've seen similar hangs in: dotnet40 dotnet40_kb2468871 dotnet45 dotnet452 dotnet46 dotnet461 dotnet462 dotnet471 dotnet472 dotnet48
Note: I haven't bisected each individually, so they could be separate issues, but given that dotnet<4.0 isn't affected, there seems to be some connection.
In any event, for testing purposes, wanted to point out that winetricks-test has some scripts that could be useful: https://github.com/Winetricks/winetricks/blob/master/tests/winetricks-test
# ./tests/winetricks-test dotnet
checks each dotnet version, and a few combinations, takes an hour or more-ish, depending on machine
# ./tests/winetricks-dotnet-grid-test
stress test of dotnet install scenarios, takes many hours.
If you're reworking ntdll/kernel32/msi/mscoree/etc., it may be worth running these tests before/after as a real world test ;)
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #10 from joaopa jeremielapuree@yahoo.fr --- Bug still occurs with wine-5.13
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #11 from joaopa jeremielapuree@yahoo.fr --- Still occurs with wine-5.14.
https://bugs.winehq.org/show_bug.cgi?id=49532
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nick.andrewes@phonecoop.coo | |p
--- Comment #12 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- *** Bug 49655 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=49532
Anya maniikarabera@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |maniikarabera@protonmail.ch
https://bugs.winehq.org/show_bug.cgi?id=49532
ax 34noff otaku@rambler.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |otaku@rambler.ru
https://bugs.winehq.org/show_bug.cgi?id=49532
Robert Andersson roband@pobox.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |roband@pobox.com
--- Comment #13 from Robert Andersson roband@pobox.com --- And still happens with wine-staging 5.15 arch linux official build
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #14 from joaopa jeremielapuree@yahoo.fr --- Bug still occurs with wine-5.16.
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #15 from joaopa jeremielapuree@yahoo.fr --- I did a complete regression test. Confirming that the guilty commit is:
72fc2ceaa6ae472a809b4d5c02be98c44388c1b7 ntdll: Use pthread mutexes for uninterrupted sections in the Unix library. Author Alexandre Julliardjulliard@winehq.org Author date 03/07/2020 00:02 Parent kernel32: Catch process creation breakpoint exceptions. Follows wine-5.11 (Release 5.11.)
ntdll: Use pthread mutexes for uninterrupted sections in the Unix library.
https://bugs.winehq.org/show_bug.cgi?id=49532
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |ntdll
https://bugs.winehq.org/show_bug.cgi?id=49532
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Winetricks -q dotnet45 does |.NET 4.0 and higher fail to |not work |install via winetricks CC| |z.figura12@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=49532
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |knight00819@gmail.com
--- Comment #16 from Zebediah Figura z.figura12@gmail.com --- *** Bug 49759 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=49532
mirh mirh@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mirh@protonmail.ch
https://bugs.winehq.org/show_bug.cgi?id=49532
Paul Gofman pgofman@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |pgofman@codeweavers.com
--- Comment #17 from Paul Gofman pgofman@codeweavers.com --- Created attachment 68138 --> https://bugs.winehq.org/attachment.cgi?id=68138 Add SIGQUIT to server block set
I've tested the issue and that was happening in a random way for me. With default output it was hard to reproduce and much easier with certain logging added.
It looks like some .net processes hang on termination. All of the threads are doing normal shutdown when on of them calls ExitProcess. Some of the remaining threads receive SIGQUIT from wineserver while holding virtual_mutex (freeing VM from virtual_free_teb) and get force terminated without unlocking it. Meanwhile the thread which called NtTerminateProcess is spared from getting SIGQUIT, and locks forever on NtUnmapViewOfSection on virtual mutex.
The attached patch seems to fix the issue for me, at least I was not able reproduce the hang after several attempts.
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #18 from joaopa jeremielapuree@yahoo.fr --- Paul, before your patch, the infinite loop bug was 100% reproducible for me. With your patch, installs of dotnet45 went fine (tested 5 times). Thank you for your great job.
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #19 from joaopa jeremielapuree@yahoo.fr --- Sadly, the bug still occurs with wine-5.17.
https://bugs.winehq.org/show_bug.cgi?id=49532
Herman Tafintsev germanapps@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |germanapps@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #20 from Dmitry Timoshkov dmitry@baikal.ru --- This is a resurrection of the bug 42470 that was previously fixed by 7def0f200f117a5a72ce454004ac4fd600ef8a4b.
Probably the fix could be similar: don't block if RtlDllShutdownInProgress() returns TRUE.
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #21 from Paul Gofman pgofman@codeweavers.com --- (In reply to Dmitry Timoshkov from comment #20)
This is a resurrection of the bug 42470 that was previously fixed by 7def0f200f117a5a72ce454004ac4fd600ef8a4b.
Probably the fix could be similar: don't block if RtlDllShutdownInProgress() returns TRUE.
I know, but should not we avoid leaving unix part locked mutexes in a broader class of cases, like if thread is killed with NtTerminateThread? I dont’t see why we should stick to fixing termination case. If I missed something and universally adding sigquit to server signal mask is undesirable, the other options are to add the mask for virtual mutex lock only or saving mutex reference somewhere to unlock it during signal processing.
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #22 from Paul Gofman pgofman@codeweavers.com --- The referenced similar bug was introduced and solved before splitting ntdll into PE and Unix part. Now, after splitting, the unix part is the analogous to Win kernel and doing anything with threads outside of it (like calling NtTerminateThread) from the other process) should not lead to such lockups. That doesn’t relate to Rtl functions and locks like loader section or peb lock, which can also be left locked on Windows by a lucky thread kill.
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #23 from Austin English austinenglish@gmail.com --- (In reply to Paul Gofman from comment #17)
Created attachment 68138 [details] Add SIGQUIT to server block set
I've tested the issue and that was happening in a random way for me. With default output it was hard to reproduce and much easier with certain logging added.
It looks like some .net processes hang on termination. All of the threads are doing normal shutdown when on of them calls ExitProcess. Some of the remaining threads receive SIGQUIT from wineserver while holding virtual_mutex (freeing VM from virtual_free_teb) and get force terminated without unlocking it. Meanwhile the thread which called NtTerminateProcess is spared from getting SIGQUIT, and locks forever on NtUnmapViewOfSection on virtual mutex.
The attached patch seems to fix the issue for me, at least I was not able reproduce the hang after several attempts.
Works here as well. winetricks-test dotnet also passes now (except dotnet30sp1 now fails, but that's a different issue, bug 49831).
https://bugs.winehq.org/show_bug.cgi?id=49532
D. Jacobsen particlebug@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |particlebug@hotmail.com
https://bugs.winehq.org/show_bug.cgi?id=49532
Tom kepszlok@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kepszlok@gmail.com
--- Comment #24 from Tom kepszlok@gmail.com --- So it seems like the .net hang problem is fixed by that patch. When will it be added to the code base? This bugreport is still in "new" status.
A properly installed .net is a must-have thing for some programs...
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #25 from Dmitry Timoshkov dmitry@baikal.ru --- Probably https://source.winehq.org/git/wine.git/?a=commit;h=9c8dce215512ac42ed657ce0d... should fix the regression. Please retest.
https://bugs.winehq.org/show_bug.cgi?id=49532
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED
--- Comment #26 from joaopa jeremielapuree@yahoo.fr --- Indeed. Bug is fixed in git.
Thanks Alexandre.
https://bugs.winehq.org/show_bug.cgi?id=49532
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |9c8dce215512ac42ed657ce0dd6 | |681712a4c29c3
https://bugs.winehq.org/show_bug.cgi?id=49532
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #27 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 5.18.
https://bugs.winehq.org/show_bug.cgi?id=49532
knight00819@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|knight00819@gmail.com |
https://bugs.winehq.org/show_bug.cgi?id=49532
Alexsander russianbear77@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |russianbear77@gmail.com
--- Comment #28 from Alexsander russianbear77@gmail.com --- Hello. I tried running the installation from the command line. But I didn't succeed. Here are some log lines. # winetricks dotnet472 Executing load_dotnet472 warning: This package (dotnet472) is broken in wine-5.18. Broken since 5.12. See https://bugs.winehq.org/show_bug.cgi?id=49532 for more info. # wine --version wine-5.18
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #29 from Alexsander russianbear77@gmail.com --- After that, I also did this (I inform you in case someone wants to report this additionally).
root@PC:/home/ia# cd $HOME root@PC:~# sudo chown -R $USER:$USER .wine root@PC:~#
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #30 from ax 34noff otaku@rambler.ru --- @Alexsander, it's a bug of winetricks
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #31 from ax 34noff otaku@rambler.ru --- edit: winetricks doesn't know it's fixed
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #32 from Alexsander russianbear77@gmail.com --- What should I do to fix this problem on my computer? Sorry, I don't speak English well. I am learning programming.
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #33 from ax 34noff otaku@rambler.ru --- @Alexsander, wait for next winetricks release
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #34 from ax 34noff otaku@rambler.ru --- or download most recent git version of winetricks
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #35 from ax 34noff otaku@rambler.ru --- https://github.com/Winetricks/winetricks/commit/d47597f176cd43ae46f8b7b4ef10...
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #36 from Alexsander russianbear77@gmail.com --- I copied the files to my computer like this. Please tell me which command (or commands) to enter next?
cd /home/ia/soft/winetricks2 ia@PC:~/soft/winetricks2$ git clone https://github.com/Winetricks/winetricks
https://bugs.winehq.org/show_bug.cgi?id=49532
Ben bvandermerwe@kbcat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bvandermerwe@kbcat.com
--- Comment #37 from Ben bvandermerwe@kbcat.com --- I see this marked as fixed. On Ubuntu 18.04 (64 bit with i386 added) with wine-stable, which gives you wine 5.0.3, .NET installs fine. But on any more recent version or if you use wine-devel from winehq, the .NET installation hangs. Reproducibly, always.
Using Ubuntu 64 bit do this: sudo dpkg --add-architecture i386 sudo apt update
For 18.04 add: sudo apt-add-repository 'deb http://dl.winehq.org/wine-builds/ubuntu/ bionic main' For 18.04 you also need: wget -qO- https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_1... | sudo apt-key add - For 18.04 you also need: sudo sh -c 'echo "deb https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_1... ./" > /etc/apt/sources.list.d/obs.list' For 20.04 add: sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main' For 20.10 add: sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ groovy main'
sudo apt update
sudo apt-get install --install-recommends winehq-devel
sudo winecfg (say cancel for mono and gecko)
sudo apt install winetricks
sudo wget http://winetricks.org/winetricks -O /usr/bin/winetricks sudo winetricks dotnet472
I did not use any prefixes, on 18.04 with stable, it installs without any prefixes. But on say 20.04 with wine-devel, it hangs. So is this really fixed? See bug 49897, which is still open.
So if you have something that insists on install .NET 5.7.2, then your only option is to use Ubunutu 18.04 with wine-stable. Anything newer, and it hangs.
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #38 from ax 34noff otaku@rambler.ru --- @Ben, why do you use sudo so much?
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #39 from Ben bvandermerwe@kbcat.com --- (In reply to ax 34noff from comment #38)
@Ben, why do you use sudo so much?
headless@288a70c5e231:~$ sudo chown -R $USER:$USER .wine [sudo] password for headless: headless@288a70c5e231:~$ wine cmd wine: /home/headless/.wine is not owned by you headless@288a70c5e231:~$
($USER seems undefined)
This is inside a docker container where I think the person who set it up did something unusual permission and user wise. I just use what works.
https://bugs.winehq.org/show_bug.cgi?id=49532
--- Comment #40 from ax 34noff otaku@rambler.ru --- @Ben, Wine doesn't work under root usually. Did you try sudo rm -r .wine ?