http://bugs.winehq.org/show_bug.cgi?id=32554
Bug #: 32554 Summary: XPSEP instalation fails with "Path not found" error Product: Wine Version: unspecified Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: timoteo@unimed-agm.com.br Classification: Unclassified
Created attachment 42963 --> http://bugs.winehq.org/attachment.cgi?id=42963 Backtrace shown in error window
I got an error while trying to install .net framework 3.0 SP1 using winetricks (winetricks dotnet30sp1).
I tried installing it by hand also (wine msiexec /i "XPSEP XP and Server 2003 32 bit.msi" /qb), but got the same error.
Terminal output shows (among lots of fixmes) the following lines:
err:eventlog:ReportEventW L"Windows" err:eventlog:ReportEventW L"" err:eventlog:ReportEventW L"Path not found.\r\n"
And After debug information, the following lines:
err:msi:ITERATE_Actions Execution halted, action L"EPUpdateInstallAction" returned 1627 err:msi:custom_get_thread_return Invalid Return Code 3
Information: Ubuntu Quantal running on a VirtualBox (I have the same problems running on physical hardware)
$ uname -a Linux unimed-box 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:32:08 UTC 2012 i686 i686 i686 GNU/Linux
$ wine --version wine-1.5.19
Backtrace attached
http://bugs.winehq.org/show_bug.cgi?id=32554
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, Installer URL| | | |http://download.microsoft.c | |om/download/2/5/2/2526f55d- | |32bc-410f-be18-164ba67ae07d | |/XPSEP XP and Server 2003 | |32 bit.msi CC| |focht@gmx.net Version|unspecified |1.5.19 Summary|XPSEP instalation fails |Microsoft XML Paper |with "Path not found" error |Specification Essentials | |Pack (XPSEP) fails with | |"Path not found" error
--- Comment #1 from Anastasius Focht focht@gmx.net 2012-12-27 05:39:23 CST --- Hello Timoteo,
I can't reproduce the problem with "Microsoft XML Paper Specification Essentials Pack" installer (xpsep). Please upgrade to wine 1.5.20 Also make sure you use a fresh/clean 32-bit WINEPREFIX.
If it still happens, please attach "dd_XPS.txt" log from WINEPREFIX user temp folder.
Unrelated to your problem, winetricks .NET 3.0 SP1 recipe seems to be broken in newer Wine versions (wine 1.5.20), it shows:
--- snip --- NetFx30SP1_x86.exe exited with status 236 --- snip ---
From the log files:
--- snip --- [12/27/12,12:22:55] !!Component Version Summary [12/27/12,12:22:55] Microsoft .NET Framework 3.0 SP1 [12/27/12,12:22:55] Windows 2003 Server Service Pack 1 Update Information [12/27/12,12:22:55] XPSEPSC Installer [12/27/12,12:22:55] WIC Installer [12/27/12,12:22:55] MSXML 6.0 Parser [12/27/12,12:22:55] RGB Rast [12/27/12,12:22:55] Microsoft .NET Framework 2.0 SP1 [12/27/12,12:22:55] Microsoft .NET Framework 3.0 SP1 [12/27/12,12:22:55] Microsoft .NET Framework 3.0 SP1 [12/27/12,12:22:55] Microsoft .NET Framework 3.0a ... [12/27/12,12:22:57] VS Scenario: [2] *** Blocking Components exist and must be satisified before continuing to install *** [12/27/12,12:22:57] VS Scenario: [2] Microsoft .NET Framework 2.0 SP1 [12/27/12,12:22:57] VS Scenario: [2] *** End of Blocking Component List *** [12/27/12,12:22:57] VS Scenario: [2] Failed to pass the Warnings/Blocks checks in CVSScenario::Start() ... --- snip ---
It seems Microsoft changed the requirements for .NET 3.0 SP1 to also require .NET 2.0 SP1.
There is one sentence in description for .NET 3.0 SP1 download that gives a hint (https://www.microsoft.com/en-us/download/details.aspx?id=3005):
--- snip --- In addition, this release provides security improvements, and prerequisite feature support for Microsoft .NET Framework 3.5. --- snip ---
So .NET 3.0 SP1 requires .NET 2.0 SP1 prerequisite. Unfortunately this is only called in 'dotnet35' recipe:
--- snip --- load_dotnet35() { ... w_call dotnet20sp1 $WINESERVER -w w_call dotnet30sp1 $WINESERVER -w ... --- snip ---
To fix winetricks, one needs to move 'dotnet20sp1' into 'load_dotnet30sp1' recipe (remove from 'load_dotnet35').
Example:
--- snip --- load_dotnet30sp1() { ... w_call dotnet30 $WINESERVER -w w_call dotnet20sp1 $WINESERVER -w ... }
load_dotnet35() { ... w_call dotnet30sp1 $WINESERVER -w ... --- snip ---
With that change .NET 3.0 SP1 and .NET 3.5 Frameworks install successfully in clean WINEPREFIX (using winetricks from http://winetricks.googlecode.com/svn/trunk/src/winetricks)
To verify .NET Framework installation(s) in WINEPREFIX you can use the .NET Framework Setup Verification Tool from Aaron Stebner (Microsoft) which checks for proper installation of .NET assemblies and registry entries (as described in Wine appdb .NET Frameworks section)
Anyway, please try the installer on wine 1.5.20
Regards
http://bugs.winehq.org/show_bug.cgi?id=32554
Timoteo timoteo@unimed-agm.com.br changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |WORKSFORME
--- Comment #2 from Timoteo timoteo@unimed-agm.com.br 2012-12-28 06:30:40 CST --- Worked at home. Seems to be some issue with the network at work.
http://bugs.winehq.org/show_bug.cgi?id=32554
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #3 from Austin English austinenglish@gmail.com 2013-01-08 17:28:42 CST --- Closing.
http://bugs.winehq.org/show_bug.cgi?id=32554
--- Comment #4 from Austin English austinenglish@gmail.com 2013-01-08 22:05:37 CST --- (In reply to comment #1)
To fix winetricks, one needs to move 'dotnet20sp1' into 'load_dotnet30sp1' recipe (remove from 'load_dotnet35').
Fixed, thanks: https://code.google.com/p/winetricks/source/detail?r=932
http://bugs.winehq.org/show_bug.cgi?id=32554
--- Comment #5 from Anastasius Focht focht@gmx.net 2013-01-09 13:28:13 CST --- Hello Austin,
while you're at it you should also fix .NET 3.5 SP1 install, see http://bugs.winehq.org/show_bug.cgi?id=32598#c2 for explanation.
Regards
http://bugs.winehq.org/show_bug.cgi?id=32554
Ken Sharp kennybobs@o2.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |REOPENED URL| |http://download.microsoft.c |http://download.microsoft.c |om/download/2/5/2/2526f55d- |om/download/2/5/2/2526f55d- |32bc-410f-be18-164ba67ae07d |32bc-410f-be18-164ba67ae07d |/XPSEP%20XP%20and%20Server% |/XPSEP XP and Server 2003 |202003%2032%20bit.msi |32 bit.msi | CC| |kennybobs@o2.co.uk Resolution|WORKSFORME | Ever Confirmed|0 |1
--- Comment #6 from Ken Sharp kennybobs@o2.co.uk 2013-08-06 07:19:57 CDT --- Happens consistently in Wine 1.7.0.
err:msi:ITERATE_Actions Execution halted, action L"EPUpdateInstallAction" returned 1627 err:msi:ITERATE_Actions Execution halted, action L"ExecuteAction" returned 1627
To be fair I think there are two issues here:
1. The installer fails in any mode (GUI, passive, silent). 2. The GUI install crashes.
As this bug already states problem 1 I will stick with that for this bug, and open a new one for 2.
http://bugs.winehq.org/show_bug.cgi?id=32554
Ken Sharp kennybobs@o2.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #42963|0 |1 is obsolete| |
--- Comment #7 from Ken Sharp kennybobs@o2.co.uk 2013-08-06 07:21:07 CDT --- Created attachment 45517 --> http://bugs.winehq.org/attachment.cgi?id=45517 Wine 1.7.0 console output
http://bugs.winehq.org/show_bug.cgi?id=32554
--- Comment #8 from Ken Sharp kennybobs@o2.co.uk 2013-08-06 07:21:36 CDT --- Created attachment 45518 --> http://bugs.winehq.org/attachment.cgi?id=45518 Wine 1.7.0 dd_XPS.txt (app log)
http://bugs.winehq.org/show_bug.cgi?id=32554
Ken Sharp kennybobs@o2.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |32164, 32166, 32167, 32168
http://bugs.winehq.org/show_bug.cgi?id=32554
Ken Sharp kennybobs@o2.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |NEW Summary|Microsoft XML Paper |MS XPSEP installer randomly |Specification Essentials |fails |Pack (XPSEP) fails with | |"Path not found" error |
--- Comment #9 from Ken Sharp kennybobs@o2.co.uk 2013-08-06 08:06:37 CDT --- (In reply to comment #6)
Happens consistently in Wine 1.7.0.
Turns out it doesn't: it's fairly random. It appears I have simply been unlucky up until now. I have ran this installer around 20 times and it failed every time. Now it seems to work every time.
This appears whether the installer completes successfully or not so is possibly unrelated: err:eventlog:ReportEventW L"Windows" err:eventlog:ReportEventW L"" err:eventlog:ReportEventW L"Path not found.\r\n"
If an install fails and is run again, it claims that XPSEP is already installed. dotnet30sp1 claims it isn't. A clean WINEPREFIX is necessary each time.
This breaks yet another Winetricks verb: dotnet30sp1.
The dotnet30sp1 installer claims XPSEP is not installed even when the installer claims it was successful. This could be yet another issue.
Going to run in a loop for a while to see what happens.
http://bugs.winehq.org/show_bug.cgi?id=32554
Ken Sharp kennybobs@o2.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #45517|0 |1 is obsolete| |
--- Comment #10 from Ken Sharp kennybobs@o2.co.uk 2013-08-06 12:25:02 CDT --- Created attachment 45523 --> http://bugs.winehq.org/attachment.cgi?id=45523 Wine 1.7.0 console output
(In reply to comment #6)
To be fair I think there are two issues here:
- The installer fails in any mode (GUI, passive, silent).
- The GUI install crashes.
This was incorrect. In fact:
A. The installer fails around 10% of the time in any mode in a clean .wine B. The installer fails 100% of the time in a .wine with dotnet20 installed.
The dotnet30sp1 installer fails to find the installation even though XPSEP claims to install successfully. Probably need another way to test this as there may be a different problem affecting the dotnet30sp1 installer.
In case A:
Backtrace: =>0 0x7bc48848 list_remove+0xe(elem=0x14e8f0) [/home/test/wine-git/include/wine/list.h:100] in ntdll (0x0033bb04) 1 0x7bc49e48 HEAP_CreateFreeBlock+0xd8(subheap=0x110014, ptr=0x14e8c8, size=0x20) [/home/test/wine-git/dlls/ntdll/heap.c:595] in ntdll (0x0033bb38) 2 0x7bc4a031 HEAP_MakeInUseBlockFree+0x132(subheap=0x110014, pArena=0x14e8c8) [/home/test/wine-git/dlls/ntdll/heap.c:656] in ntdll (0x0033bb78) 3 0x7bc4d63d RtlFreeHeap+0xec(heap=<couldn't compute location>, flags=<couldn't compute location>, ptr=<couldn't compute location>) [/home/test/wine-git/dlls/ntdll/heap.c:1771] in ntdll (0x0033bbd8) 4 0x7e001f1f MyFree+0x39(lpMem=<couldn't compute location>) [/home/test/wine-git/dlls/setupapi/misc.c:58] in setupapi (0x0033bc18) 5 0x7e0147c2 StringTableDestroy+0x152(hStringTable=<couldn't compute location>) [/home/test/wine-git/dlls/setupapi/stringtable.c:188] in setupapi (0x0033bc78) 6 0x01056be5 in update (+0x56be4) (0x0033f314) 0x7bc48848 list_remove+0xe [/home/test/wine-git/include/wine/list.h:100] in ntdll: movl %edx,0x4(%eax) 100 elem->next->prev = elem->prev;
In both cases:
err:msi:ITERATE_Actions Execution halted, action L"EPUpdateInstallAction" returned 1627 err:msi:custom_get_thread_return Invalid Return Code 3
Changing the title to reflect what appears to be heap corruption. Feel free to change if this is incorrect.
Will open another bug for the failure in case B.
http://bugs.winehq.org/show_bug.cgi?id=32554
Ken Sharp kennybobs@o2.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|MS XPSEP installer randomly |MS XPSEP installer randomly |fails |fails (heap corruption)
http://bugs.winehq.org/show_bug.cgi?id=32554
Ken Sharp kennybobs@o2.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks|32164, 32166, 32167, 32168 |
http://bugs.winehq.org/show_bug.cgi?id=32554
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
--- Comment #11 from Austin English austinenglish@gmail.com 2013-08-06 19:53:54 CDT --- Does WINEDEBUG=warn+heap make it more reliable / go away?
You could try running under valgrind. If you do that, you may need to recompile wine without optimizations for better info.
I can't reproduce this on my machine, ran it 25 times.
http://bugs.winehq.org/show_bug.cgi?id=32554
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |34217
http://bugs.winehq.org/show_bug.cgi?id=32554
swdevelop1981@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |swdevelop1981@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=32554
--- Comment #12 from Ken Sharp kennybobs@o2.co.uk 2013-08-07 20:55:10 CDT --- Created attachment 45537 --> http://bugs.winehq.org/attachment.cgi?id=45537 Wine 1.7.0 console output with Valgrind
WINEDEBUG=warn+heap doesn't produce anything new in the console, but reduces the failure from 10% to 2%. Ran around 400 times in a loop.
Valgrind exits way too early to be useful but I've uploaded the log anyway.
Valgrind --trace-children=yes seems to break something as wineserver doesn't even start. I'm pretty sure it's Valgrind's fault:
==17766== Command: /home/ken/wine32/loader/wine-preloader /home/ken/wine32/loader/wine msiexec /i /home/ken/.cache/winetricks/dotnet30sp1/XPSEP\ XP\ and\ Server\ 2003\ 32\ bit.msi ==17766== preloader: Warning: failed to reserve range 00110000-68000000 ==17766== Warning: set address range perms: large range [0x82000000, 0xbec50000) (noaccess)
valgrind: m_libcfile.c:73 (vgPlain_safe_fd): Assertion 'newfd >= VG_(fd_hard_limit)' failed.
Valgrind on Ubuntu 12.06 AMD64 is utterly useless thanks to their broken multilib.
Unless someone knows how to get Valgrind to work with Wine (I'm pretty sure it used to work fine for me!) then I can't get anything sensible out of it.
http://bugs.winehq.org/show_bug.cgi?id=32554
Ken Sharp kennybobs@o2.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #45537|0 |1 is obsolete| |
--- Comment #13 from Ken Sharp kennybobs@o2.co.uk 2013-08-11 10:29:04 CDT --- Created attachment 45579 --> http://bugs.winehq.org/attachment.cgi?id=45579 Wine 1.7.0 console output with Valgrind
Upgraded to Valgrind 3.8.1 (thanks for the e-mail Dan) and ran with --trace-children=yes as running without any options doesn't seem to give any useful output.
This causes 100% failure:
==34569== Either way, Valgrind will now raise a SIGILL signal which will ==34569== probably kill your program.
But the log may still be useful to someone. Means nothing at all to me I'm sorry to say.
http://bugs.winehq.org/show_bug.cgi?id=32554
--- Comment #14 from Ken Sharp imwellcushtymelike@gmail.com --- Still present in Wine 1.7.12.
http://bugs.winehq.org/show_bug.cgi?id=32554
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |setupapi
--- Comment #15 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming, the corruption is not reliably reproducible - as Ken indicated.
It seems corruption always happens in Setupapi StringTable (meta)data. The allocation of STRING_TABLE structure sometimes happens to be in different subheaps due to congestion in small blocks (0x10).
Setupapi uses allocation helpers 'MyMalloc', 'MyFree' etc. for StringTableXXX API which use the process heap.
I created a private heap in DllMain and let allocation helpers use it. The crashes immediately went away (corruption might be still present but wasn't triggered in my tests).
I wrote a script that runs the MS XPSEP installer in unattended install mode on 'fresh' WINEPREFIX in a loop. In between runs I reverted the prefix to 'fresh' state using btrfs snapshot feature. My WINEPREFIXes are btrfs subvolumes, allowing instant restore to whatever snapshot/state I need. The script ran for 500 loops without problems.
Without the private heap the crash rate was about 10%
I think a private heap should be considered here, we already have private allocation helpers in place.
Regards
https://bugs.winehq.org/show_bug.cgi?id=32554
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |DUPLICATE
--- Comment #16 from Anastasius Focht focht@gmx.net --- Hello folks,
merging this one to bug 26016
It seems a private heap helped there, too.
Regards
*** This bug has been marked as a duplicate of bug 26016 ***
https://bugs.winehq.org/show_bug.cgi?id=32554
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #17 from Ken Sharp imwellcushtymelike@gmail.com --- Thanks Anastasius.
https://bugs.winehq.org/show_bug.cgi?id=32554
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://download.microsoft.c |https://web.archive.org/web |om/download/2/5/2/2526f55d- |/20120525055657/http://down |32bc-410f-be18-164ba67ae07d |load.microsoft.com/download |/XPSEP%20XP%20and%20Server% |/2/5/2/2526f55d-32bc-410f-b |202003%2032%20bit.msi |e18-164ba67ae07d/XPSEP%20XP | |%20and%20Server%202003%2032 | |%20bit.msi