https://bugs.winehq.org/show_bug.cgi?id=37922
Bug ID: 37922 Summary: Unity3D 4.6 (.NET app) freezes/hangs sometimes when reopening a newly created project Product: Wine Version: 1.7.34 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
as the summary says. A user in #winehq reported this.
Let's recap the history of the chat first to provide some insights of other problems encountered and solved.
(skip if you are bored)
--- quote --- <user> hi, i'm trying to install Unity3D on wine. When i run this script [1] the installer says "error: dotnet35 conflicts with dotnet20, which is already installed.". I do that on a clean .wine directory. [1] https://github.com/Unity3D-Wine-Support/Unity3D-on-Wine/blob/master/unity3d.... --- quote ---
Although this was indeed done on a clean 32-bit prefix, the user likely interrupted the installation at least once (probably at the time when .NET 2.0/3.0 installer was already run). Resuming of interrupted steps/recipes via 'winetricks' won't work by design.
The provided logs showed another common problem: Samba/Winbind component missing.
--- snip --- err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution. --- snip ---
In this case it's harmless and not the cause of install failure. The installation was still suggested though, but never carried out due to dependency problems.
Next one ...
--- snip --- Executing wine dotnetfx.exe /q /c:install.exe /q ... fixme:advapi:LsaOpenPolicy ((null),0x33f2c4,0x00000001,0x33f2b0) stub fixme:advapi:LsaClose (0xcafe) stub fixme:ntdll:NtLockFile I/O completion on lock not implemented yet err:mscoree:LoadLibraryShim error reading registry key for installroot err:mscoree:LoadLibraryShim error reading registry key for installroot err:mscoree:LoadLibraryShim error reading registry key for installroot err:mscoree:LoadLibraryShim error reading registry key for installroot --- snip ---
Whoops, this should never happen. Wine-Mono mscoree bootstrapper dll (builtin) still gets loaded after MS .NET installer started?
--- quote --- <user> initially i had pacman -S wine-mono, then there are in a unwritable path <user> Now i removed wine-mono --- quote ---
Eeek. 'winetricks' automatically handles Mono uninstallation from prefix to avoid conflicts with .NET installers. Since it was never detected 'installed', builtin was still there and preferred (it would have worked if Wine was built with '--disable-mscoree' like in my case).
Instead of trying to fix the issues with Wine 1.7.x present, the user went back to Wine 1.6
--- quote --- <user> i'm doing a clean install with 1.6.2 <user> let's see --- quote ---
--- snip --- Executing wine dotnetfx.exe /q /c:install.exe /q ... fixme:advapi:LsaOpenPolicy ((null),0x33f2c4,0x00000001,0x33f2b0) stub fixme:advapi:LsaClose (0xcafe) stub err:msidb:get_tablecolumns column 1 out of range err:msidb:get_tablecolumns column 2 out of range --- snip ---
That's https://bugs.winehq.org/show_bug.cgi?id=36139 for you.
--- quote --- <user> lol i need to downgrade gcc or upgrade wine <user> interesting --- quote ---
Don't build 1.6.2 with 4.9.0 or apply https://source.winehq.org/git/wine.git/commit/deb274226783ab886bdb44876944e1... (distros never backported it, only recently).
After he rebuilt Wine 1.6.2, he tried the 'winetricks' recipe again ...
--- quote --- <user> i've run many times today always removing .wine <user> same error every time <focht> works for me here 1.7.34, git. something is broken on your host <user> the only thing really strange in my host is linux-grsec <focht> some "i ought to be hardened" stuff? <user> all the closed source binaries + firefox web pages <user> + i run them in a seccomp+caps jail (although not wine for now) <focht> hmm ... you sure that stuff like ptrace has not been disabled but that "security improvements"? <user> i check one moment <user> something is disabled <user> http://pastebin.com/FEzQjHwx do you see something strange? <focht> kernel.grsecurity.harden_ptrace = 1 and kernel.grsecurity.ptrace_readexec = 1 for example <slackner> <user>: all of the ptrace and ipc related restrictions could easily break wine, which heavily relies on that - you should try to turn of everything or even better boot with an unpatched kernel <focht> talk about shooting yourself in the foot :) <user> retring with these disabled :-S <user> wine uses ptrace to intercept priviledged syscalls or something similar? <slackner> <user>: no, it is used when windows apps try to set the debug registers, and to read/write memory to/from other wine processes <user> wow, the installation never gone so far with these grsec flags disabled --- quote ---
Yay.
Then I managed to reproduce the hang/freeze too, with Wine 1.7.34/GIT. Unfortunately not reliably.
--- quote --- <focht> <user>: can't reproduce it anymore ..so random. do you have a reliable way? <user> install, create an empty project, (autoclose), (can't reopen) <user> i'll fire up a virtualbox to do that again <focht> i created now 5 projects in a row .. each restarts the editor and opened previous ones .. no problems <user> all in My Documents? <focht> yup .. you don't select any packages right? <user> nope really ... <focht> hmpf .. wine's pdb parser doesn't like the provided pdb from unity folder .. winedbg shooting itself in the food (as usual) <focht> <user>: can you start the app this way: GC_DONT_GC=1 wine ./Unity.exe and check if the freeze is still present with that ... <user> what pdb are you talking about? <focht> the devs of unity provided debug symbols for their app and some component. probably to gather better bug reports from users (also indicating it crashes often :) <focht> Unity.pdb and mono.pdb in the app folder <user> focht: i get the bug every time i run the executable <focht> the fixme's are mostly harmless <user> i know, but i don't understand where the bug lies <focht> the freeze? <user> it freezes without starting <user> could i past here instead of pastebin? <focht> no <focht> well there is something strange going on with mono (foss impl. of .net). multihreaded suspension of threads when those being suspended hold locks is not nice <user> i know mono :-P <focht> mono is always up for nasty surprise <user> i started three times, but it hangs in <defunct> <focht> do you kill everything off before and wineserver -k ? <user> i start in a cgroup jail to see understand the ps -A better; if i exit from the jail no wineserver <user> going to bed :-S <user> night <focht> gn8 me too <focht> interesting target for investigation though ... saving here --- quote ---
Splitting the actual problem into next comment ;-)
Regards