WineHQ
Bug Tracking Database – Bug 40460

 Bugzilla

 

Last modified: 2017-01-30 18:14:07 CST  

winetricks xna31 and dotnet20sp2 fail

Bug 40460 - winetricks xna31 and dotnet20sp2 fail
winetricks xna31 and dotnet20sp2 fail
Status: RESOLVED NOTOURBUG
AppDB: Show Apps affected by this bug
Product: Wine
Classification: Unclassified
Component: kernel32
1.9.7
x86 Linux
: P2 normal
: ---
Assigned To: Mr. Bugs
: download, Installer, regression
Depends on:
Blocks: 39863
  Show dependency tree
 
Reported: 2016-04-12 22:10 CDT by Austin English
Modified: 2017-01-30 18:14 CST (History)
4 users (show)

See Also:
Regression SHA1: df77e490d89a0582fde621d54f834acfd9588ef9
Fixed by SHA1:
Distribution: Debian
Staged patchset:


Attachments
terminal output for winetricks xna31 (170.77 KB, text/plain)
2016-04-15 18:05 CDT, Austin English
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Austin English 2016-04-12 22:10:12 CDT
Regression, introduced by:
d8599db40ada552cecf11235cf770112b33fdf6a is the first bad commit
commit d8599db40ada552cecf11235cf770112b33fdf6a
Author: Michael Müller <michael@fds-team.de>
Date:   Tue Apr 5 16:27:55 2016 +0200

    krnl386.exe16: Emulate 'mov Eb, Gb' instruction on x86 processor architecture.
    
    Similar to the implementation in ntoskrnl.exe.
    
    Signed-off-by: Michael Müller <michael@fds-team.de>
    Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
    Signed-off-by: Alexandre Julliard <julliard@winehq.org>

:040000 040000 2db7099d0afc07f305b8ebb22e25cedf9f410bc3 6cb041554b7f3d724488c7384653242c56f2e9c4 M	dlls
Comment 1 Sebastian Lackner 2016-04-12 22:32:01 CDT
Could you please double-check that the regression test was done correctly? I cannot reproduce the issue here with wine-git and latest winetricks. Also please note that the regression commit only affects Win 3.1 applications, and I doubt that dotnet2.0 is such an executable. Are any special steps required to reproduce the issue?
Comment 2 Austin English 2016-04-13 14:53:20 CDT
(In reply to Sebastian Lackner from comment #1)
> Could you please double-check that the regression test was done correctly? I
> cannot reproduce the issue here with wine-git and latest winetricks. Also
> please note that the regression commit only affects Win 3.1 applications,
> and I doubt that dotnet2.0 is such an executable. Are any special steps
> required to reproduce the issue?

Well, you're right that it wasn't that commit, it was:
austin@austin2:~/wine-git$ git bisect bad
df77e490d89a0582fde621d54f834acfd9588ef9 is the first bad commit
commit df77e490d89a0582fde621d54f834acfd9588ef9
Author: Sebastian Lackner <sebastian@fds-team.de>
Date:   Tue Apr 5 16:20:05 2016 +0200

    advapi32: Fix return value of RegNotifyChangeKeyValue for pending events.
    
    Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
    Signed-off-by: Alexandre Julliard <julliard@winehq.org>

:040000 040000 92dd6b353e53d65eeff6d6769d707d2503a3ed3d 2db7099d0afc07f305b8ebb22e25cedf9f410bc3 M	dlls

I can reproduce in wine-1.9.7-225-g1ccc521, and reverting your patch works around it for me.

Nothing special I can think of. I was testing on a remote machine over ssh with X11 fowarding, but I can also reproduce locally, so it's not that.
Comment 3 Dmitry Timoshkov 2016-04-13 22:40:34 CDT
I can't reproduce a failure with running 'winetricks xna31' either,
installation finishes successfully here. I've freshly updated winetricks
just in case.
Comment 4 Austin English 2016-04-15 18:05:20 CDT
Created attachment 54229 [details]
terminal output for winetricks xna31

Log made with wine-1.9.8 and winetricks 20160329 - sha1sum: 94628c5d7d41b5388fd7623705bccd74de26ca1d
Comment 5 NP-Hardass 2016-04-20 22:34:44 CDT
I see the same thing as Austin on Gentoo with wine-1.9.8 and winetricks 20160329
Comment 6 Sebastian Lackner 2016-04-21 03:05:04 CDT
When I just call "winetricks xna31" I'm still not able to see any kind of failure here on my machine. However, I played around a bit more, and when I add the "-q" switch it indeed fails. Is that also what you guys use?

On the first sight, it seems to be a race-condition in winetricks. Installation of dotnet20sp2 is started before dotnet20 is fully finished. Before the commit, RegNotifyChangeKeyValue always returned immediately with a failure, now the application will properly wait. Those timing differences are probably what causes the "regression".

Proposed change for winetricks:

--- snip ---
--- a/src/winetricks
+++ b/src/winetricks
@@ -5800,6 +5800,7 @@ load_dotnet20sp2()
     w_call remove_mono
 
     w_call dotnet20
+    $WINESERVER -w
 
     # FIXME: verify on pristine windows XP:
     if w_workaround_wine_bug 34803
--- snip ---

BTW: At some places winetricks uses $DRIVE_C which looks like an undefined variable to me.
Comment 7 Austin English 2016-04-25 01:52:11 CDT
(In reply to Sebastian Lackner from comment #6)
> When I just call "winetricks xna31" I'm still not able to see any kind of
> failure here on my machine. However, I played around a bit more, and when I
> add the "-q" switch it indeed fails. Is that also what you guys use?

Yes, my mistake, I had included that originally. GUIs are for suckers :p

> On the first sight, it seems to be a race-condition in winetricks.
> Installation of dotnet20sp2 is started before dotnet20 is fully finished.
> Before the commit, RegNotifyChangeKeyValue always returned immediately with
> a failure, now the application will properly wait. Those timing differences
> are probably what causes the "regression".

Nice find.

> Proposed change for winetricks:
> 
> --- snip ---
> --- a/src/winetricks
> +++ b/src/winetricks
> @@ -5800,6 +5800,7 @@ load_dotnet20sp2()
>      w_call remove_mono
>  
>      w_call dotnet20
> +    $WINESERVER -w
>  
>      # FIXME: verify on pristine windows XP:
>      if w_workaround_wine_bug 34803
> --- snip ---
 
That wasn't enough for me, I also tried it after both w_call dotnet20 and the dotnet20sp2 installer, but that only works sometimes.

> BTW: At some places winetricks uses $DRIVE_C which looks like an undefined
> variable to me.

It's set in winetricks_set_wineprefix(), which is called from w_do_call().
Comment 8 Sebastian Lackner 2016-04-25 05:16:05 CDT
(In reply to Austin English from comment #7)
> That wasn't enough for me, I also tried it after both w_call dotnet20 and
> the dotnet20sp2 installer, but that only works sometimes.

Hm, here it works pretty reliable. I'll see if I can reproduce the issue when I run the testcase in a loop. ;)

> 
> > BTW: At some places winetricks uses $DRIVE_C which looks like an undefined
> > variable to me.
> 
> It's set in winetricks_set_wineprefix(), which is called from w_do_call().

I only see W_DRIVE_C there, but not DRIVE_C (unless some weird eval magic is involved to set it).
Comment 9 Austin English 2016-09-05 20:35:14 CDT
(In reply to Sebastian Lackner from comment #8)
> (In reply to Austin English from comment #7)
> > That wasn't enough for me, I also tried it after both w_call dotnet20 and
> > the dotnet20sp2 installer, but that only works sometimes.
> 
> Hm, here it works pretty reliable. I'll see if I can reproduce the issue
> when I run the testcase in a loop. ;)
> 
> > 
> > > BTW: At some places winetricks uses $DRIVE_C which looks like an undefined
> > > variable to me.
> > 
> > It's set in winetricks_set_wineprefix(), which is called from w_do_call().
> 
> I only see W_DRIVE_C there, but not DRIVE_C (unless some weird eval magic is
> involved to set it).

Thanks for pointing that out. It's fixed here:
https://github.com/Winetricks/winetricks/commit/cb6f280f5a4287dbaba0317440f85b10a00a61de

but even with that and:
diff --git a/src/winetricks b/src/winetricks
index c547350..f933a16 100755
--- a/src/winetricks
+++ b/src/winetricks
@@ -5916,12 +5916,14 @@ load_dotnet20sp2()
     w_call remove_mono
 
     w_call dotnet20
+    $WINESERVER -w
 
     # FIXME: verify on pristine Windows XP:
     if w_workaround_wine_bug 34803
     then
         "$WINE" reg delete 'HKLM\Software\Microsoft\.NETFramework\v2.0.50727\SBSDisabled' /f
     fi
+    $WINESERVER -w
 
     cd "$W_CACHE/$W_PACKAGE"
     w_ahk_do "


I still get:
err:msi:ITERATE_Actions Execution halted, action L"DD_CA_ScheduleNgenServiceVersionCheck_X86.3643236F_FC70_11D3_A536_0090278A1BB8" returned 1603

in wine-1.9.18.
Comment 10 winetaste 2017-01-30 18:14:07 CST
(In reply to Austin English from comment #9)
> err:msi:ITERATE_Actions Execution halted, action
> L"DD_CA_ScheduleNgenServiceVersionCheck_X86.
> 3643236F_FC70_11D3_A536_0090278A1BB8" returned 1603
Still in wine-2.0-160-g152b240 with 
wintricks 20170101 - sha1sum: ed948de8a10666cab5fe393765a9804c532639d0


Privacy Policy
If you have a privacy inquiry regarding this site, please write to privacy@winehq.org

Hosted By CodeWeavers