https://bugs.winehq.org/show_bug.cgi?id=48163
Bug ID: 48163
Summary: Launching VMWare vSphere 5.5 fails with error.
Product: Wine
Version: 4.20
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: themainliner(a)hotmail.com
Distribution: ---
Created attachment 65792
--> https://bugs.winehq.org/attachment.cgi?id=65792
WINEDEBUG=warn+all,+loaddll
After installing dependencies (dotnet35sp1 msxml3 vcrun2005 vcrun2008
vcrun2010) that were necessary to get previous wine versions to work with
VMWare vSphere Client 5.5
(http://vsphereclient.vmware.com/vsphereclient/4/0/3/2/3/6/5/VMware-viclient…),
the launcher opens but fails to load the client. It returns the following error
after entering credentials:
Object reference not set to an instance of an object
Included a windebug output.
antiX 19 Core (based on Debian Testing).
--
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.
https://bugs.winehq.org/show_bug.cgi?id=45379
Bug ID: 45379
Summary: VMware vSphere client console does not connect.
Product: Wine
Version: 3.10
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: themainliner(a)hotmail.com
Distribution: ---
Created attachment 61692
--> https://bugs.winehq.org/attachment.cgi?id=61692
WINEDEBUG=+warn+all console output.
VMware vSphere client console does not work. When clicking the console tab or
the button 'Launch Virtual Machine Console'.
Error message returned: "The VMRC console has disconnected...attempting to
reconnect."
--
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.
http://bugs.winehq.org/show_bug.cgi?id=21557
Summary: .net 3.0 redistributable installer aborts after
clicking 'OK'
Product: Wine
Version: 1.1.37
Platform: x86
OS/Version: Linux
Status: NEW
Keywords: regression
Severity: normal
Priority: P2
Component: wintrust
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: dank(a)kegel.com
http://appdb.winehq.org/objectManager.php?sClass=version&iId=9828
says "winetricks dotnet30" works but says there is a "large delay near
the end of installation". This seems to be true with wine-1.1.31,
but with current wine, it aborts after a few seconds instead.
Looking in c:/users/$LOGNAME/Temp, I see dd_dotnetfx3error.txt which says
[01/30/10,16:19:12] XPSEPSC x86 Installer: [2] Error code 1603 for this
component means "ERROR_INSTALL_FAILURE"
and dd_XPS.txt (?) which says STR_FAILED_INF_INTEGRITY.
Could this be the same regression as bug 21542?
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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.
http://bugs.winehq.org/show_bug.cgi?id=21549
Summary: Windows PowerShell 1.x installer dies on unimplemented
function USERENV.dll.138
Product: Wine
Version: 1.1.37
Platform: x86
URL: http://www.google.de/search?q=WindowsXP-KB926139-v2-x8
6-ENU.exe
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Hello,
after working around bug 21542, the installer dies in post-install action:
--- snip ---
0030:Starting process
L"C:\\3f9c459343b0ee6273e24b88b0d982f2\\update\\update.exe"
(entryproc=0x1065e2c)
...
0030:Call shlwapi.PathFileExistsW(0033ad50 L"C:\\users\\Public\\Start
Menu\\Programs") ret=68ad8ae7
0030:Call KERNEL32.SetErrorMode(00000001) ret=68c4a703
0030:Ret KERNEL32.SetErrorMode() retval=00008005 ret=68c4a703
0030:Call KERNEL32.GetFileAttributesW(0033ad50 L"C:\\users\\Public\\Start
Menu\\Programs") ret=68c4a714
0030:Ret KERNEL32.GetFileAttributesW() retval=00000010 ret=68c4a714
0030:Call KERNEL32.SetErrorMode(00008005) ret=68c4a725
0030:Ret KERNEL32.SetErrorMode() retval=00000001 ret=68c4a725
0030:Ret shlwapi.PathFileExistsW() retval=00000001 ret=68ad8ae7
0030:Call KERNEL32.WideCharToMultiByte(00000000,00000000,0033b00c
L"C:\\users\\Public\\Start
Menu\\Programs",ffffffff,0033b33c,00000104,00000000,00000000) ret=68ad8d7d
0030:Ret KERNEL32.WideCharToMultiByte() retval=00000024 ret=68ad8d7d
0030:Ret shell32.SHGetSpecialFolderPathA() retval=00000001 ret=01072df8
0030:Call KERNEL32.FindFirstFileA(0033b544 "C:\\users\\Public\\Start
Menu\\Programs\\Windows PowerShell 1.0\\@.lnk",0033b18c) ret=0106da6d
0030:Ret KERNEL32.FindFirstFileA() retval=ffffffff ret=0106da6d
0030:trace:seh:raise_exception code=80000100 flags=1 addr=0x7bc4af8a
ip=7bc4af8a tid=0030
0030:trace:seh:raise_exception info[0]=0108d004
0030:trace:seh:raise_exception info[1]=0000008a
wine: Call from 0x7bc4af8a to unimplemented function USERENV.dll.138, aborting
0030:trace:seh:call_vectored_handlers calling handler at 0x68ec9e52
code=80000100 flags=1
0030:trace:seh:call_vectored_handlers handler at 0x68ec9e52 returned 0
0030:trace:seh:call_vectored_handlers calling handler at 0x6879bdc6
code=80000100 flags=1
0030:trace:seh:call_vectored_handlers handler at 0x6879bdc6 returned 0
0030:trace:seh:call_stack_handlers calling handler at 0x1066099 code=80000100
flags=1
0030:Call msvcrt._except_handler3(0033b25c,0033f37c,0033aeec,0033add0)
ret=7bc77ab5
...
--- snip ---
Dumping userenv imports for the installer:
--- snip ---
$ winedump -j import update.exe
...
offset 0008c2f4 USERENV.dll
Hint/Name Table: 0008D824
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970)
ForwarderChain: 00000000
First thunk RVA: 000017F8
Ordn Name
138 <by ordinal>
121 <by ordinal>
119 <by ordinal>
...
--- snip ---
Actually only ordinal 138 seems to get used (Wine 'Windows XP' config).
Unfortunately I didn't find anything useful about this one (MSDN, blogs, Bing
..) :-(
By analyzing the caller stack setup we can deduce the necessary information to
create a simple stub.
The installer calls the ordinal like this:
--- snip ---
$ winedbg disas
...
0x01072e9b: pushl 0xffffff88(%ebp)
0x01072e9e: leal 0xbc(%ebp),%eax
0x01072ea4: pushl %eax
0x01072ea5: leal 0x5d0(%ebp),%eax
0x01072eab: pushl %eax
0x01072eac: pushl 0xffffff9c(%ebp)
0x01072eaf: leal 0x2c4(%ebp),%eax
0x01072eb5: pushl 0xffffffa0(%ebp)
0x01072eb8: pushl %eax
0x01072eb9: pushl 0xffffffa4(%ebp)
0x01072ebc: leal 0x4cc(%ebp),%eax
0x01072ec2: pushl %eax
0x01072ec3: leal 0x3c8(%ebp),%eax
0x01072ec9: pushl %eax
0x01072eca: leal 0x7d8(%ebp),%eax
0x01072ed0: pushl %eax
0x01072ed1: leal 0x6d4(%ebp),%eax
0x01072ed7: pushl %eax
0x01072ed8: pushl 0xffffffb4(%ebp)
0x01072edb: call *0x10017f8 -> 0x00450000
0x01072ee1: cmpl %ebx,%eax
0x01072ee3: movl %eax,0xffffffa8(%ebp)
0x01072ee6: jnz 0x01072f0c
...
--- snip ---
number of arguments: 12
calling conv: stdcall
return type: most likely boolean (like the other known userenv API).
Armed with this information one can add a simple stub, export with ordinal 138,
-noname and 12 ptr params, name it whatever you like.
If you find any documented name, feel free to use it.
If we fake the stub to return FALSE, following messages will be logged to:
"c:\windows\KB926139-v2.log"
--- snip ---
22.312:
Failed To Create Link -3 Windows PowerShell
22.314:
Failed To Create Link -3 Release Notes
22.316:
Failed To Create Link -3 Getting Started
22.319:
Failed To Create Link -3 User Guide
22.321:
Failed To Create Link -3 Quick Reference
--- snip ---
So this API is most likely some Lnk creation stuff.
Anyway, that simple stub is sufficient to let the installer proceed with its
post-install steps.
In the end, the installer runs into bug 16876 (bug in property sheet control).
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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.
https://bugs.winehq.org/show_bug.cgi?id=36630
Bug ID: 36630
Summary: Wizards Event Reporter fails on startup with .NET
runtime reporting: 'Strong name validation failed.
Exception from HRESULT: 0x8013141A'
Product: Wine
Version: 1.7.19
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: focht(a)gmx.net
Hello folks,
reported in WineHQ user forums here:
http://forum.winehq.org/viewtopic.php?f=8&t=22329
Prerequisite: 'winetricks -q dotnet20sp1 jet40'
--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Wizards of the Coast/Event Reporter
$ wine ./Reporter.exe
fixme:advapi:RegisterEventSourceW ((null),L".NET Runtime 2.0 Error Reporting"):
stub
fixme:advapi:ReportEventW
(0xcafe4242,0x0001,0x0000,0x000003e8,(nil),0x0008,0x000000f4,0x3009a1b4,0x69c610):
stub
err:eventlog:ReportEventW L"reporter.exe"
err:eventlog:ReportEventW L"4.1.14.439"
err:eventlog:ReportEventW L"537a1f52"
err:eventlog:ReportEventW L"kernel32.dll"
err:eventlog:ReportEventW L"5.1.2600.2180"
err:eventlog:ReportEventW L"00000000"
err:eventlog:ReportEventW L"0"
err:eventlog:ReportEventW L"0002ac57"
fixme:advapi:DeregisterEventSource (0xcafe4242) stub
...
Unhandled Exception: System.IO.FileLoadException: Could not load file or
assembly 'Reporter, Version=4.1.14.439, Culture=neutral,
PublicKeyToken=f6187a2321850a68' or one of its dependencies. Strong name
validation failed. (Exception from HRESULT: 0x8013141A)
File name: 'Reporter, Version=4.1.14.439, Culture=neutral,
PublicKeyToken=f6187a2321850a68' ---> System.Security.SecurityException: Strong
name validation failed. (Exception from HRESULT: 0x8013141A)
The Zone of the assembly that failed was:
MyComputer
wine: Unhandled exception 0xe0434f4d in thread 9 at address 0x7b83ac57 (thread
0009), starting debugger...
--- snip ---
Running 'sn.exe' (Strong Name-Tool) from .NET Framework 2.0 SDK ('winetricks -q
dotnet20sdk') on the assembly also reports failure:
--- snip ---
$ wine "C:\Program Files\Microsoft.NET\SDK\v2.0\bin\sn.exe" -vf ./Reporter.exe
Microsoft (R) .NET Framework Strong Name Utility Version 2.0.50727.42
Copyright (c) Microsoft Corporation. All rights reserved.
fixme:msvcrt:__clean_type_info_names_internal (0x60345090) stub
Failed to verify assembly -- Strong name validation failed for assembly
'./Reporter.exe'.
fixme:msvcrt:__clean_type_info_names_internal (0x7a38d5c8) stub
--- snip ---
Interestingly, registering the assembly for verification skipping is reported
successful but verification is still done and fails in the end.
--- snip ---
$ wine "C:\Program Files\Microsoft.NET\SDK\v2.0\bin\sn.exe" -Vr ./Reporter.exe
Microsoft (R) .NET Framework Strong Name Utility Version 2.0.50727.42
Copyright (c) Microsoft Corporation. All rights reserved.
Verification entry added for assembly 'Reporter,F6187A2321850A68'
fixme:msvcrt:__clean_type_info_names_internal (0x7a38d5c8) stub
--- snip ---
$ sha1sum ReporterSetup.exe
36a15e8bf2c9d1a1501fe3fd0844f695750e198c ReporterSetup.exe
$ du -sh ReporterSetup.exe
14M ReporterSetup.exe
$ wine --version
wine-1.7.19-70-gd6a59f7
Regards
--
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.
https://bugs.winehq.org/show_bug.cgi?id=40534
Bug ID: 40534
Summary: Advanced SystemCare: Error message at start-up
(OFCommon.dll/FindWMIName)
Product: Wine
Version: 1.9.8
Hardware: x86
URL: http://download.iobit.com/
OS: Linux
Status: NEW
Keywords: download
Severity: normal
Priority: P2
Component: wmi&wbemprox
Assignee: wine-bugs(a)winehq.org
Reporter: austinenglish(a)gmail.com
CC: hans(a)meelstraat.net
Depends on: 26936
Distribution: Gentoo
Created attachment 54359
--> https://bugs.winehq.org/attachment.cgi?id=54359
+tid,+seh,+wmi
main thread ($9):
0512f591 +045 OFCommon.dll WMI_Info 21 +3 FindWMIName
0512f6a9 +061 OFCommon.dll WMI_Info 188 +7 GetDiskSerial
0514d7dc +068 OFCommon.dll OFCommon 292 +5 UpdateTaskInfo
0515065e +032 OFCommon.dll OFCommon 1735 +2 GetTaskTrailCount
00604ecd +06d ASC.exe Unit_MainForm 13942 +9 TForm_ASC6.GetLicenseStatus
0060cbd5 +015 ASC.exe Unit_MainForm 17156 +6 TForm_ASC6.FormCreate
501ef9e9 +011 vcl120.bpl Forms TCustomForm.AfterConstruction
00620a02 +04a ASC.exe ASC 127 +6 initialization
7bc8315a +24a ntdll.dll RtlCaptureStackBackTrace
This is the next bug after working around bug 26936.
Unfortunately this is an older version of the installer, I'm not aware of a
download (didn't check archive.org though).
austin@austin2:~$ sha1sum asc-setup.exe
8535ed1ab74d7b9547c7d47e75b9159076527253 asc-setup.exe
austin@austin2:~$ wine --version
wine-1.9.8
--
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.
http://bugs.winehq.org/show_bug.cgi?id=26936
Summary: Advanced SystemCare: Error message at start-up
Product: Wine
Version: 1.3.18
Platform: x86
URL: http://download.iobit.com/asc-setup.exe
OS/Version: Linux
Status: UNCONFIRMED
Severity: minor
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: lukasz.wojnilowicz(a)gmail.com
Created an attachment (id=34357)
--> (http://bugs.winehq.org/attachment.cgi?id=34357)
Terminal output on wine-1.3.18-171-g1ffb069
Steps to reproduce:
1) remove ~/.wine
2) winetricks gecko
3) install Advanced SystemCare (default installation)
4) wine ASC.exe
Behaviour:
Error message.
Expected behaviour:
There should be no error message.
Workaround:
winetricks ie7 msxml3
Additional information:
winetricks msxml3 doesn't solve the problem
winetricks ie7 doesn't solve the problem
Is this msxml bug then?
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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.
https://bugs.winehq.org/show_bug.cgi?id=46149
Bug ID: 46149
Summary: Multiple applications need
ntdll.dll.RtlIpv4StringToAddress{A,W,ExA,ExW}
implementation (Processhacker 2.x)
Product: Wine
Version: 3.20
Hardware: x86-64
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: ntdll
Assignee: wine-bugs(a)winehq.org
Reporter: focht(a)gmx.net
Distribution: ---
Hello folks,
needed for some tools like 'processhacker' (via plugins-extra) and/or Win
Vista+ native wininet (attempt to prove bug 45847).
--- snip ---
...
0059:fixme:ntdll:RtlIpv4StringToAddressExW (L"origin.*", 1, 0x7d4fd50,
0x7d4fd4e): stub
0059:fixme:ntdll:RtlIpv6StringToAddressExW (L"origin.*", 0x7d4fd54, 0x7d4fd64,
0x7d4fd4e): stub
...
0059:fixme:ntdll:RtlIpv4StringToAddressExW (L"origin.warframe.com", 1,
0x7d4fd24, 0x7d4fd22): stub
0059:fixme:ntdll:RtlIpv6StringToAddressExW (L"origin.warframe.com", 0x7d4fd28,
0x7d4fd38, 0x7d4fd22): stub
...
0059:trace:seh:raise_exception code=80000100 flags=1 addr=0x7bc53371
ip=7bc53371 tid=0059
0059:trace:seh:raise_exception info[0]=63184658
0059:trace:seh:raise_exception info[1]=63186020
wine: Call from 0x7bc53371 to unimplemented function
ntdll.dll.RtlIpv4StringToAddressExA, aborting
0059:trace:seh:call_stack_handlers calling handler at 0x48b6cc code=80000100
flags=1
0059:trace:seh:call_stack_handlers handler at 0x48b6cc returned 1
0059:trace:seh:call_stack_handlers calling handler at 0x4620a0 code=80000100
flags=1
0059:trace:seh:call_stack_handlers handler at 0x4620a0 returned 1
0059:trace:seh:call_stack_handlers calling handler at 0x7bca6fa0 code=80000100
flags=1
wine: Unimplemented function ntdll.dll.RtlIpv4StringToAddressExA called at
address 0x7bc53371 (thread 0059), starting debugger...
...
--- snip ---
Process hacker plugins-extra:
https://github.com/processhacker/plugins-extra/blob/master/FirewallMonitorP…https://github.com/processhacker/plugins-extra/blob/master/FirewallMonitorP…
Wine source:
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/ntdll/ntdll.spec
--- snip ---
732 @ stdcall RtlIpv4AddressToStringA(ptr ptr)
733 @ stdcall RtlIpv4AddressToStringExA(ptr long ptr ptr)
734 @ stdcall RtlIpv4AddressToStringExW(ptr long ptr ptr)
735 @ stdcall RtlIpv4AddressToStringW(ptr ptr)
736 # @ stub RtlIpv4StringToAddressA
737 # @ stub RtlIpv4StringToAddressExA
738 @ stdcall RtlIpv4StringToAddressExW(wstr long ptr ptr)
739 @ stdcall RtlIpv4StringToAddressW(wstr long ptr ptr)
740 # @ stub RtlIpv6AddressToStringA
741 # @ stub RtlIpv6AddressToStringExA
742 # @ stub RtlIpv6AddressToStringExW
743 # @ stub RtlIpv6AddressToStringW
744 # @ stub RtlIpv6StringToAddressA
745 # @ stub RtlIpv6StringToAddressExA
746 @ stdcall RtlIpv6StringToAddressExW(wstr ptr ptr ptr)
747 # @ stub RtlIpv6StringToAddressW
--- snip ---
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/ntdll/rtl.c#l897https://source.winehq.org/git/wine.git/commitdiff/71e04aaa38b35ab1607962ad3…
Looks pretty inconsistent. There is no pattern between Ipv4, Ipv6 and/or A/W
ExA/ExW pairs of the API recognizable here.
Some are auto-generated stubs, some are stubs, some are simply not present
(commented out).
The Ipv4 string <-> address functions are not very hard to implement.
Wine tests for this family of functions were added some time ago via
Wine-Staging:
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/ntdll/tests/rtl.c#l1…
*
https://docs.microsoft.com/en-us/windows/desktop/api/ip2string/nf-ip2string…
*
https://docs.microsoft.com/en-us/windows/desktop/api/ip2string/nf-ip2string…
Regards
--
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.
https://bugs.winehq.org/show_bug.cgi?id=45665
Bug ID: 45665
Summary: 64-bit BattlEye 'BEDaisy' kernel service fails in
driver entry point due to missing
'ntoskrnl.exe.MmCopyVirtualMemory'
Product: Wine
Version: 3.14
Hardware: x86-64
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: ntoskrnl
Assignee: wine-bugs(a)winehq.org
Reporter: focht(a)gmx.net
Distribution: ---
Hello folks,
as it says. Only applies to 64-bit version of the driver.
Continuation of bug 45664
--- snip ---
$ pwd
/home/focht/.wine/drive_c/users/Public/Daybreak Game Company/Installed
Games/PlanetSide 2
$ WINEDEBUG=+seh,+relay,+ntoskrnl wine ./PlanetSide2_x64_BE.exe >>log.txt 2>&1
...
0049:Call ntoskrnl.exe.MmGetSystemRoutineAddress(0055dfb0) ret=14024a248
...
0049:Call KERNEL32.GetModuleHandleW(7f692f9758f0 L"ntoskrnl.exe")
ret=7f692f9678b4
0049:Ret KERNEL32.GetModuleHandleW() retval=7f692f940000 ret=7f692f9678b4
0049:Call KERNEL32.GetProcAddress(7f692f940000,00027040 "MmCopyVirtualMemory")
ret=7f692f9678d2
0049:Ret KERNEL32.GetProcAddress() retval=00000000 ret=7f692f9678d2
0049:Call KERNEL32.GetModuleHandleW(7f692f975910 L"hal.dll") ret=7f692f9678f5
0049:Ret KERNEL32.GetModuleHandleW() retval=00000000 ret=7f692f9678f5
...
0049:fixme:ntoskrnl:MmGetSystemRoutineAddress L"MmCopyVirtualMemory" not found
0049:Ret ntoskrnl.exe.MmGetSystemRoutineAddress() retval=00000000
ret=14024a248
0049:Ret driver init 0x140011000
(obj=0x26d60,str=L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\BEDaisy")
retval=c0000001
--- snip ---
https://github.com/DarthTon/Blackbone/blob/master/src/BlackBoneDrv/Imports.…
--- snip ---
NTKERNELAPI
NTSTATUS
NTAPI
MmCopyVirtualMemory(
IN PEPROCESS FromProcess,
IN PVOID FromAddress,
IN PEPROCESS ToProcess,
OUT PVOID ToAddress,
IN SIZE_T BufferSize,
IN KPROCESSOR_MODE PreviousMode,
OUT PSIZE_T NumberOfBytesCopied
);
--- snip ---
It's only imported, not called (yet). Adding stub line to .spec should be fine.
Although it wouldn't harm if a real stub is added that just dumps the parameter
and returns 'STATUS_NOT_IMPLEMENTED'.
$ sha1sum PS2_setup.exe
a49fec77dfe38ba6b6871aa832a50b7b10d48692 PS2_setup.exe
$ du -sh PS2_setup.exe
38M PS2_setup.exe
$ wine --version
wine-3.14
Regards
--
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.
https://bugs.winehq.org/show_bug.cgi?id=45664
Bug ID: 45664
Summary: 64-bit BattlEye 'BEDaisy' kernel service fails in
driver entry point due to missing
'ntoskrnl.exe.PsGetProcessWow64Process'
Product: Wine
Version: 3.14
Hardware: x86-64
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: ntoskrnl
Assignee: wine-bugs(a)winehq.org
Reporter: focht(a)gmx.net
Distribution: ---
Hello folks,
as it says. Only applies to 64-bit version of the driver.
--- snip ---
$ pwd
/home/focht/.wine/drive_c/users/Public/Daybreak Game Company/Installed
Games/PlanetSide 2
$ WINEDEBUG=+seh,+relay,+ntoskrnl wine ./PlanetSide2_x64_BE.exe >>log.txt 2>&1
...
004b:Call ntoskrnl.exe.IoCreateDriver(0055fa90,7f087b40a927) ret=7f087b40b5ec
004b:trace:ntoskrnl:IoCreateDriver (L"\\Driver\\BEDaisy", 0x7f087b40a927)
...
004b:Call KERNEL32.LoadLibraryW(000271c0 L"C:\\Program Files (x86)\\Common
Files\\BattlEye\\BEDaisy.sys") ret=7f087b409cea
004b:Ret KERNEL32.LoadLibraryW() retval=140000000 ret=7f087b409cea
...
004b:Call driver init 0x140011000
(obj=0x26ee0,str=L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\BEDaisy")
...
004b:Call ntoskrnl.exe.MmGetSystemRoutineAddress(0055dfb0) ret=14024a0f8
...
004b:Call KERNEL32.GetModuleHandleW(7f086d05f6f0 L"ntoskrnl.exe")
ret=7f086d0517cc
004b:Ret KERNEL32.GetModuleHandleW() retval=7f086d030000 ret=7f086d0517cc
004b:Call KERNEL32.GetProcAddress(7f086d030000,000271c0
"PsGetProcessWow64Process") ret=7f086d0517ea
004b:Ret KERNEL32.GetProcAddress() retval=00000000 ret=7f086d0517ea
004b:Call KERNEL32.GetModuleHandleW(7f086d05f710 L"hal.dll") ret=7f086d05180d
004b:Ret KERNEL32.GetModuleHandleW() retval=00000000 ret=7f086d05180d
...
004b:fixme:ntoskrnl:MmGetSystemRoutineAddress L"PsGetProcessWow64Process" not
found
004b:Ret ntoskrnl.exe.MmGetSystemRoutineAddress() retval=00000000
ret=14024a0f8
004b:Ret driver init 0x140011000
(obj=0x26ee0,str=L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\BEDaisy")
retval=c0000001
...
004b:Ret ntoskrnl.exe.IoCreateDriver() retval=c0000001 ret=7f087b40b5ec
004b:err:winedevice:async_create_driver failed to create driver L"BEDaisy":
c0000001
--- snip ---
https://github.com/DarthTon/Blackbone/blob/master/src/BlackBoneDrv/Imports.…
--- snip ---
NTKERNELAPI
PVOID
NTAPI
PsGetProcessWow64Process( IN PEPROCESS Process );
--- snip ---
It's only imported, not called (yet). Adding stub line to .spec should be fine.
Although it wouldn't harm if a real stub is added that just dumps the parameter
and returns NULL.
$ sha1sum PS2_setup.exe
a49fec77dfe38ba6b6871aa832a50b7b10d48692 PS2_setup.exe
$ du -sh PS2_setup.exe
38M PS2_setup.exe
$ wine --version
wine-3.14
Regards
--
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.
https://bugs.winehq.org/show_bug.cgi?id=35972
Bug ID: 35972
Summary: Wayward Terran Frontier (.NET 4.0/XNA 4 game) crashes
during creation of initial profile ('The character '?'
(0xef03) is not available in this SpriteFont')
Product: Wine
Version: 1.7.16
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: focht(a)gmx.net
Hello folks,
continuation of bug 35444
Prerequisite: 'winetricks -q dotnet40' (XNA 4.0 and managed DirectX will be
automatically installed)
The game crashes during creation of initial profile.
You can skip the launcher and directly start the game.
Not much to see in trace log:
--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Wayward Terran Frontier/Wayward Terran
Frontier
$ WINEDEBUG=+tid,+seh,+relay wine ./WTF.exe >>log.txt 2>&1
...
003b:Call KERNEL32.CreateFileW(00fcac54 L"C:\\Program Files\\Wayward Terran
Frontier\\Wayward Terran
Frontier\\profiles\\WTF.sav",c0000000,00000001,00000000,00000003,00100000,00000000)
ret=04db5166
003b:Ret KERNEL32.CreateFileW() retval=00000324 ret=04db5166
...
003b:Call KERNEL32.MultiByteToWideChar(0000fde9,00000000,00502f9d
"\x03\n\xec\xb5\xb1\xe6\xa5\xbf\xe7\xbb\x90\xe9\x94\xaa\xe5\x8d\xa6\xe7\x96\x9d\xc2\x97\xef\xb3\x9c",00000019,06f5d034,00000019)
ret=7916cb97
003b:Ret KERNEL32.MultiByteToWideChar() retval=0000000a ret=7916cb97
...
003b:Call KERNEL32.MultiByteToWideChar(0000fde9,00000000,00502f52
"\x03\n\xef\xa1\x8a\xe8\x81\xb1\xe4\xb6\xb3\xee\xbd\xb9\xe1\x83\x94\xe5\x93\xb0\xe0\xa8\x85\xe2\xb2\x8d",0000001a,06f5d034,0000001a)
ret=7916cb97
003b:Ret KERNEL32.MultiByteToWideChar() retval=0000000a ret=7916cb97
...
003b:Call KERNEL32.CreateFileW(00fd4538 L"C:\\Program Files\\Wayward Terran
Frontier\\Wayward Terran Frontier\\profiles\\Starter Ship\\Starter
ShipProfile.tac",80000000,00000001,00000000,00000003,00100000,00000000)
ret=04db5166
003b:Ret KERNEL32.CreateFileW() retval=00000324 ret=04db5166
...
003b:Call KERNEL32.CreateFileW(00fd80bc L"C:\\Program Files\\Wayward Terran
Frontier\\Wayward Terran Frontier\\profiles\\Starter Ship\\Starter
ShipTop.png",80000000,00000001,00000000,00000003,00100000,00000000)
ret=04db5166
003b:Ret KERNEL32.CreateFileW() retval=00000324 ret=04db5166
...
003b:Call KERNEL32.RaiseException(e0434352,00000001,00000005,06f5de28)
ret=791cac08
003b:trace:seh:raise_exception code=e0434352 flags=1 addr=0x7b83ac17
ip=7b83ac17 tid=003b
003b:trace:seh:raise_exception info[0]=80004005
003b:trace:seh:raise_exception info[1]=00000000
003b:trace:seh:raise_exception info[2]=00000000
003b:trace:seh:raise_exception info[3]=00000000
003b:trace:seh:raise_exception info[4]=79140000
003b:trace:seh:raise_exception eax=7b826c7d ebx=7b8bb000 ecx=80004005
edx=06f5dd44 esi=06f5dde4 edi=06f5ddb0
003b:trace:seh:raise_exception ebp=06f5dd88 esp=06f5dd24 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00000283
003b:trace:seh:call_vectored_handlers calling handler at 0x791f5a7c
code=e0434352 flags=1
--- snip ---
The managed backtrace (.NET) is more descriptive:
--- snip ---
Unhandled Exception: System.ArgumentException: The character '?' (0xef03) is
not available in this SpriteFont. If applicable, adjust the font's start and
end CharacterRegions to include this character.
Parameter name: character
at Microsoft.Xna.Framework.Graphics.SpriteFont.GetIndexForCharacter(Char
character)
at Microsoft.Xna.Framework.Graphics.SpriteFont.InternalDraw(StringProxy&
text, SpriteBatch spriteBatch, Vector2 textblockPosition, Color color, Single
rotation, Vector2 origin, Vector2& scale, SpriteEffects spriteEffects, Single
depth)
at Microsoft.Xna.Framework.Graphics.SpriteBatch.DrawString(SpriteFont
spriteFont, String text, Vector2 position, Color color, Single rotation,
Vector2 origin, Single scale, SpriteEffects effects, Single layerDepth)
at (Object , SpriteFont , String , Vector2 , Color , Single , Vector2 ,
Single , SpriteEffects , Single )
at ????????.?{??????(Object , SpriteFont ???????U, String ???????U, Vector2
???????U, Color ???????U, Single ???????U, Vector2 ???????U, Single ???????U,
SpriteEffects ???????U, Single ???????U)
at CoOpSpRpG.RootMenu.Draw(GameTime gameTime, SpriteBatch batch)
at CoOpSpRpG.SCREEN_MANAGER.Draw(GameTime gameTime, SpriteBatch batch)
at CoOpSpRpG.Game1.Draw(GameTime gameTime)
at Microsoft.Xna.Framework.Game.DrawFrame()
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GameHost.OnIdle()
at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender,
EventArgs e)
at
System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32
grfidlef)
at
System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr
dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32
reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32
reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.Xna.Framework.WindowsGameHost.Run()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at (Object )
at ??o?????.????????(Object )
at CoOpSpRpG.Program.Main(String[] args)
--- snip ---
Starting it a second time (continuing of profile creation) yields:
--- snip ---
Unhandled Exception: System.ArgumentException: The character '?' (0x50d0) is
not available in this SpriteFont. If applicable, adjust the font's start and
end CharacterRegions to include this character.
Parameter name: character
at Microsoft.Xna.Framework.Graphics.SpriteFont.GetIndexForCharacter(Char
character)
--- snip ---
Some hits from searching with:
--- snip ---
"is not available in this SpriteFont. If applicable, adjust the font's start
and end CharacterRegions to include this character"
--- snip ---
https://stackoverflow.com/questions/13243130/how-to-draw-special-characters…
MSDN: http://msdn.microsoft.com/en-us/library/bb447759.aspx ("Sprite Font XML
Schema Reference")
http://steamcommunity.com/app/241600/discussions/1/792924412212989581/ ("Save
not working. Is it end? Game won't start! ")
This might be character string conversion/collation related insufficiencies ...
somewhere.
$ sha1sum WaywardSetup.msi
ad1b0bf88ce284b2c4c36fbb93012b60cb0a673f WaywardSetup.msi
$ du -sh WaywardSetup.msi
8.5M WaywardSetup.msi
$ wine --version
wine-1.7.16-134-g93581f5
Regards
--
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.
https://bugs.winehq.org/show_bug.cgi?id=46189
Bug ID: 46189
Summary: [Bug 46187] Windows PowerShell Core 6.2 Preview 2 for
ARM32 crashes due to ntdll 'set_cpu_context' not
restoring Thumb mode during return from exception
handling
Product: Wine
Version: 3.21
Hardware: arm
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: ntdll
Assignee: wine-bugs(a)winehq.org
Reporter: focht(a)gmx.net
Distribution: ---
Hello folks,
the continuation of bug 46187("Windows PowerShell Core 6.2 Preview 2 for ARM32
crashes due to unhandled trap_no 0 (write watch access causes SIGSEGV)")
Even with trap code 0 properly translated it still crashes.
Debugger session (with fixup for bug #46187 applied).
--- snip ---
$ gdb wine
GNU gdb (GDB) 8.2
...
Reading symbols from wine...done.
(gdb) run pwsh.exe
Starting program: /home/focht/projects/wine/mainline-install-arm/bin/wine
pwsh.exe
...
Thread 1 "pwsh.exe" hit Breakpoint 1, virtual_handle_fault (addr=0xf3ce0000,
err=1, on_signal_stack=0) at
/home/focht/projects/wine/mainline-src/dlls/ntdll/virtual.c:2010
2010 NTSTATUS ret = STATUS_ACCESS_VIOLATION;
(gdb) bt
#0 virtual_handle_fault (addr=0xf3ce0000, err=1, on_signal_stack=0) at
/home/focht/projects/wine/mainline-src/dlls/ntdll/virtual.c:2010
#1 0xf7c612ec in raise_segv_exception (rec=0xf73ce9f8, context=0xf73ce858) at
/home/focht/projects/wine/mainline-src/dlls/ntdll/signal_arm.c:574
#2 0xf7c61152 in raise_func_trampoline_thumb () at
/home/focht/projects/wine/mainline-src/dlls/ntdll/signal_arm.c:508
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) info locals
ret = 0xc0000005
page = 0xf3ce0000
sigset = {__val = {0x0, 0x0, 0xf7c61150, 0x600f0030, 0xf3ce0000, 0x0, 0x0,
0xf3ce0000, 0xf7ccdd34, 0xa0000, 0xffffffff, 0xf6d4a5e4, 0xf7ddf7a9,
0xf73ce82c, 0xf7c7f6c0, 0x0, 0x1,
0x11000, 0xf3ce0000, 0x43, 0x1, 0xf73ce834, 0xf7c7fd20, 0xffffffff, 0xa5e4,
0x11000, 0xf3ce0000, 0xb0000, 0x1, 0x1, 0xf3ce0000, 0x11}}
vprot = 0x63
...
(gdb) n
2027 set_page_vprot_bits( page, page_size, 0, VPROT_WRITEWATCH
);
(gdb) n
2028 mprotect_range( page, page_size, 0, 0 );
(gdb) n
2031 if (VIRTUAL_GetUnixProt( get_page_vprot( page )) & PROT_WRITE)
(gdb) n
2033 if ((vprot & VPROT_WRITEWATCH) || is_write_watch_range(
page, page_size ))
(gdb) n
2034 ret = STATUS_SUCCESS;
...
--- snip ---
The problem is the way Wine restores the context on ARM32 via
'set_cpu_context':
--- snip ---
Dump of assembler code for function set_cpu_context:
0xf7c605c0 <+0>: ldr r1, [r0, #68] ; 0x44
=> 0xf7c605c4 <+4>: msr CPSR_f, r1
0xf7c605c8 <+8>: ldr r1, [r0, #64] ; 0x40
0xf7c605cc <+12>: ldr lr, [r0, #60] ; 0x3c
0xf7c605d0 <+16>: ldr sp, [r0, #56] ; 0x38
0xf7c605d4 <+20>: push {r1} ; (str r1, [sp, #-4]!)
0xf7c605d8 <+24>: ldmib r0, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9,
r10, r11, r12}
0xf7c605dc <+28>: pop {pc} ; (ldr pc, [sp], #4)
(gdb) info reg
r0 0xf73ce858 0xf73ce858
r1 0x602f0030 0x602f0030
r2 0x0 0x0
r3 0x0 0x0
r4 0xf74baee0 0xf74baee0
r5 0x90068 0x90068
r6 0x0 0x0
r7 0xf6d4a5e4 0xf6d4a5e4
r8 0xf3ce0000 0xf3ce0000
r9 0xf6e78500 0xf6e78500
r10 0xf6d51268 0xf6d51268
r11 0xf73ce854 0xf73ce854
r12 0xaf 0xaf
sp 0xf73ce840 0xf73ce840
lr 0xf7c61350 0xf7c61350
pc 0xf7c605c4 0xf7c605c4 <set_cpu_context+4>
cpsr 0x600f0010 0x600f0010
Unable to fetch SVE register header: Invalid argument.
--- snip ---
CPSR = 0x600f0010 = Wine ARM32 mode
R1 = old CPSR before fault = 0x602f0030 = app code in Thumb mode
Wine -> CPSR_f = only flag bits set (execution state/control bits can't be set
explicitly in USR mode by design, no USR SPSR_xxx).
--- snip ---
(gdb) disas
Dump of assembler code for function set_cpu_context:
0xf7c605c0 <+0>: ldr r1, [r0, #68] ; 0x44
0xf7c605c4 <+4>: msr CPSR_f, r1
0xf7c605c8 <+8>: ldr r1, [r0, #64] ; 0x40
0xf7c605cc <+12>: ldr lr, [r0, #60] ; 0x3c
0xf7c605d0 <+16>: ldr sp, [r0, #56] ; 0x38
0xf7c605d4 <+20>: push {r1} ; (str r1, [sp, #-4]!)
0xf7c605d8 <+24>: ldmib r0, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9,
r10, r11, r12}
=> 0xf7c605dc <+28>: pop {pc} ; (ldr pc, [sp], #4)
End of assembler dump.
(gdb) si
0xf6c5160c in ?? ()
(gdb) info reg
r0 0xf3ce0020 0xf3ce0020
r1 0xf73ce944 0xf73ce944
r2 0x11000 0x11000
r3 0xf3d90000 0xf3d90000
r4 0xf74baee0 0xf74baee0
r5 0x90068 0x90068
r6 0x0 0x0
r7 0xf6d4a5e4 0xf6d4a5e4
r8 0xf3ce0000 0xf3ce0000
r9 0xf6e78500 0xf6e78500
r10 0xf6d51268 0xf6d51268
r11 0xf73ceaa0 0xf73ceaa0
r12 0xaf 0xaf
sp 0xf73cea48 0xf73cea48
lr 0xf7ddf7a9 0xf7ddf7a9
pc 0xf6c5160c 0xf6c5160c
cpsr 0x600f0010 0x600f0010
Unable to fetch SVE register header: Invalid argument.
(gdb) set arm fallback-mode thumb
(gdb) x/10i $pc
=> 0xf6c5160c: strd r6, r3, [r0, #-32]
0xf6c51610: ldr r3, [sp, #36] ; 0x24
0xf6c51612: ldr r4, [sp, #44] ; 0x2c
0xf6c51614: str.w r3, [r0, #-24]
0xf6c51618: ldr r3, [sp, #40] ; 0x28
0xf6c5161a: add.w r3, r0, r3, lsl #2
0xf6c5161e: str.w r3, [r0, #-20]
0xf6c51622: strd r5, r6, [r0, #-8]
0xf6c51626: ldr.w r3, [r0, #-20]
0xf6c5162a: add.w r3, r3, r4, lsl #1
(gdb) si
0xf6c51610 in ?? ()
(gdb) info reg
r0 0xf3ce0020 4090363936
r1 0xf73ce944 4147964228
r2 0x11000 69632
r3 0xf3d90000 4091084800
r4 0xf74baee0 4148932320
r5 0x90068 589928
r6 0x0 0
r7 0xf6d4a5e4 4141131236
r8 0xf3ce0000 4090363904
r9 0xf6e78500 4142368000
r10 0xf6d51268 4141159016
r11 0xf73ceaa0 4147964576
r12 0xaf 175
sp 0xf73cea48 0xf73cea48
lr 0xf7ddf7a9 -136448087
pc 0xf6c51610 0xf6c51610
cpsr 0x600f0010 1611595792
Unable to fetch SVE register header: Invalid argument.
(gdb) si
0xf6c51614 in ?? ()
(gdb) si
0xf6c51618 in ?? ()
(gdb) si
0xf6c78248 in ?? ()
(gdb) si
Thread 1 "pwsh.exe" received signal SIGILL, Illegal instruction.
0xf6c78248 in ?? ()
--- snip ---
Wine source:
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/ntdll/signal_arm.c#l…
--- snip ---
283 void DECLSPEC_HIDDEN set_cpu_context( const CONTEXT *context );
284 __ASM_GLOBAL_FUNC( set_cpu_context,
285 ".arm\n\t"
286 "ldr r1, [r0, #0x44]\n\t" /* context->Cpsr */
287 "msr CPSR_f, r1\n\t"
288 "ldr r1, [r0, #0x40]\n\t" /* context->Pc */
289 "ldr lr, [r0, #0x3c]\n\t" /* context->Lr */
290 "ldr sp, [r0, #0x38]\n\t" /* context->Sp */
291 "push {r1}\n\t"
292 "ldmib r0, {r0-r12}\n\t" /* context->R0..R12 */
293 "pop {pc}" )
--- snip ---
Well, that's an unfortunate combination of things here. The app binaries
contain a mix of 16-bit Thumb and 32-bit Thumb(2) instructions. Thumb-2
instruction set is the default for Windows on ARM per convention.
https://msdn.microsoft.com/en-us/library/dn736986.aspx)
--- quote ---
The instruction set for Windows on ARM is strictly limited to Thumb-2. All code
executed on this platform is expected to start and remain in Thumb mode at all
times. An attempt to switch into the legacy ARM instruction set may succeed,
but if it does, any exceptions or interrupts that occur may lead to an
application fault in user mode, or a bugcheck in kernel mode.
A side-effect of this requirement is that all code pointers must have the low
bit set. This is so that when they are loaded and branched to via BLX or BX,
the processor will remain in Thumb mode and not try to execute the target code
as 32-bit ARM instructions.
--- quote ---
The write-watch fault is caused by an instruction that has 32-bit encoding
(Thumb2), located at 0xf6c5160c -> bits[1:0] of the address = 0b00.
Due to the segfault handling, the mode is switched to ARM (there are also
explicit '.arm' directives in Wine code) -> CPSR 'T' bit gone.
Wine's 'set_cpu_context' uses 'pop {pc}' to return to the faulting instruction
for re-execution after write-watch has been reset. The instruction behaviour is
defined by ARM:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0588b/Babefb…
--- quote ---
== POP, with reglist including the PC
This instruction causes a branch to the address popped off the stack into the
PC. This is usually a return from a subroutine, where the LR was pushed onto
the stack at the start of the subroutine.
In ARMv5T and above:
bits[1:0] must not be 0b10
if bit[0] is 1, execution continues in Thumb state
if bit[0] is 0, execution continues in ARM state.
In ARMv4, bits[1:0] of the address loaded must be 0b00.
== Thumb instructions
A subset of these instructions are available in the Thumb instruction set.
The following restrictions apply to the 16-bit instructions:
For PUSH, reglist can only include the Lo registers and the LR
For POP, reglist can only include the Lo registers and the PC.
The following restrictions apply to the 32-bit instructions:
reglist must not include the SP
For PUSH, reglist must not include the PC
For POP, reglist can include either the LR or the PC, but not both.
== Restrictions on reglist in ARM instructions
ARM PUSH instructions can have SP and PC in the reglist but these instructions
that include SP or PC in the reglist are deprecated in ARMv6T2 and above.
ARM POP instructions cannot have SP but can have PC in the reglist. These
instructions that include both PC and LR in the reglist are deprecated in
ARMv6T2 and above.
--- quote ---
Since I run the whole target under QEMU aarch64 system emulation I double
checked that part too. Qemu behaves correctly, not switching from ARM to Thumb
mode because bits[1:0] of the address = 0b00.
https://github.com/qemu/qemu/blob/master/target/arm/translate.c#L225
--- snip ---
/* Set a CPU register. The source must be a temporary and will be
marked as dead. */
static void store_reg(DisasContext *s, int reg, TCGv_i32 var)
{
if (reg == 15) {
/* In Thumb mode, we must ignore bit 0.
* In ARM mode, for ARMv4 and ARMv5, it is UNPREDICTABLE if bits [1:0]
* are not 0b00, but for ARMv6 and above, we must ignore bits [1:0].
* We choose to ignore [1:0] in ARM mode for all architecture versions.
*/
tcg_gen_andi_i32(var, var, s->thumb ? ~1 : ~3);
s->base.is_jmp = DISAS_JUMP;
}
tcg_gen_mov_i32(cpu_R[reg], var);
tcg_temp_free_i32(var);
}
--- snip ---
Due to Wine's cpu context helper not restoring Thumb mode properly, execution
is incorrectly resumed in ARM mode, leading to crash shortly after.
Any Wine ARM32-specific assembly code/wrappers that pass control directly to
app code, bypassing the compiler's ARM-Thumb interworking, has to make sure
that it restores thumb mode properly.
$ sha1sum PowerShell-6.2.0-preview.2-win-arm32.zip
b77b87906514e802c03c84fcb72ce39f925c3b41
PowerShell-6.2.0-preview.2-win-arm32.zip
$ du -sh PowerShell-6.2.0-preview.2-win-arm32.zip
40M PowerShell-6.2.0-preview.2-win-arm32.zip
Regards
--
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.
http://bugs.winehq.org/show_bug.cgi?id=10467
Summary: Making Microsoft .NET 2.0 to work in wine, based on
example app FastMD5 1.4 for NET 2.0
Product: Wine
Version: CVS/GIT
Platform: PC
URL: http://www.paehl.de/english.php
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wine-dotnet
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Hello,
this bug id exists for the sole purpose of showing my little journey of getting
.NET 2.0 to work in wine.
This topic does *NOT* cover the MONO project in any way.
The windows version of MONO is covered by other bug reports.
DISCLAIMER: This is just a first step which aims at major show stoppers.
There are *many* issues left when it comes to managed (JIT) vs. unmanaged
(native) API code bridging.
To iron out all the bugs, many different applications are needed which cover
the whole range of .NET Framework.
I randomly chose a simple .NET 2.0 app which uses plain system.windows.forms
stuff (no fancy controls/interop).
--- snip ---
http://www.paehl.de/fastmd5_net20.zip
FASTMD5 create very fast with low CPU use a MD5 hash. Required .NET 1.1 or 2.0
--- snip ---
Just as foreword: yes, it plain sucks to debug mixed code in wine (managed +
unmanaged) because the tools required don't work reliable (or at all) due to
several wine bugs/design problems.
Prerequisite: successful installation of .NET 2.0 Framework and wine-0.9.49 (or
GIT)
----------
If you start .NET apps they will fail with stack overflows and some exceptions
thrown.
The exception type tells us what we are dealing with: 0xe0434f4d
For the uninitiated: this an exception type exclusively thrown by .NET common
language runtime (CLR).
Using my specially hacked wine to run tools like windbg one can get a raw
estimate by looking at native method callstack:
--- snip ---
0:000> sxe clr
..
0:000> .load clr20\sos.dll
..
0:000> g
..
0:000> kb
ChildEBP RetAddr Args to Child
WARNING: Stack unwind information not available. Following frames may be wrong.
0034efb8 79f97065 e0434f4d 00000001 00000001 KERNEL32!RaiseException+0x78
0034f018 7a0945a4 00a11cb4 00000000 00000000
mscorwks!RaiseTheExceptionInternalOnly+0x226
0034f0dc 02fa364b 00000000 0000007f 0034f138 mscorwks!JIT_Throw+0xd0
0034f1d8 79e88f63 00000000 0012e0f8 0034f22c 0x2fa364b
0034f1f8 79e88f63 00000000 00000000 0016b200 mscorwks!CallDescrWorker+0x33
0034f210 79e88ee4 0034f2e8 00000002 0034f2b0 mscorwks!CallDescrWorker+0x33
..
--- snip ---
JIT code is at 0x2fa364b which transfers managed exceptions using
mscorwks!JIT_Throw() to native code/OS.
Lets look at CLR exception info...
--- snip ---
0:000> !PrintException
Exception object: 00a11cb4
Exception type: System.TypeInitializationException
Message: The type initializer for 'System.Globalization.TextInfo' threw an
exception.
InnerException: <none>
StackTrace (generated):
<none>
StackTraceString: <none>
HResult: 80131534
--- snip ---
And the managed code callstack...
--- snip ---
0:000> !ClrStack
OS Thread Id: 0xf (0)
ESP EIP
0034f040 7b8414d8 [HelperMethodFrame: 0034f040]
0034f0e4 02fa364b System.Globalization.TextInfo.GetNativeTextInfo(Int32)
0034f114 02fa3511 System.Globalization.TextInfo.get_InvariantNativeTextInfo()
0034f140 02fa193d System.String.Compare(System.String, Int32, System.String,
Int32, Int32, System.StringComparison)
0034f16c 02fa15a1
System.Security.Util.URLString.PreProcessForExtendedPathRemoval(System.String,
Boolean)
0034f184 02fa10b0 System.AppDomainSetup.NormalizePath(System.String, Boolean)
0034f1a4 02fa06d6
System.AppDomainSetup.SetupDefaultApplicationBase(System.String)
0034f1bc 02fa02cc System.AppDomain.SetupFusionStore(System.AppDomainSetup)
0034f1d4 02fa01fa System.AppDomain.SetupDomain(Boolean, System.String,
System.String)
0034f42c 79e88f63 [GCFrame: 0034f42c]
0034f9e0 79e88f63 [DebuggerClassInitMarkFrame: 0034f9e0]
--- snip ---
Some native method call in GetNativeTextInfo() seems to be the culprit.
For many (string) resource based stuff to work, a unicode OS casing table is
required.
The table for the invariant version is built from external .NLS file.
To make story short: wine does not ship the default case mapping table for
unicode characters: "l_intl.nls".
This is a "must" requirement and failure results in early
TypeInitializationException while setting up default application domain.
Short fix: copy the file from your windows system32 directory to wine system32.
Long run fix: let wine generate/install this file. Not a big deal.
Now simple .NET _console_ based apps (like "Hello World") will work.
---------------------------------------
Stay tuned, more goodies to come ...
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=45333
Bug ID: 45333
Summary: Failed to install Microsoft .NET 4.7.2
Product: Wine
Version: 3.0.1
Hardware: x86-64
OS: Mac OS X
Status: UNCONFIRMED
Severity: critical
Priority: P2
Component: msi
Assignee: wine-bugs(a)winehq.org
Reporter: gtsasamori(a)gmail.com
Created attachment 61620
--> https://bugs.winehq.org/attachment.cgi?id=61620
log file
$ wine NDP472-DevPack-ENU.exe
[. . . ]
00bc:err:msi:create_temp_binary failed to load dll
L"C:\\users\\gts\\Temp\\msi164f.tmp" (193)
00cd:err:msi:ACTION_CallDllFunction failed to load dll
L"C:\\users\\gts\\Temp\\msi164f.tmp" (193)
00ca:err:msi:ACTION_CallDllFunction failed to load dll
L"C:\\users\\gts\\Temp\\msi164f.tmp" (193)
00bc:err:msi:create_temp_binary failed to load dll
L"C:\\users\\gts\\Temp\\msi389c.tmp" (193)
00d9:err:msi:ACTION_CallDllFunction failed to load dll
L"C:\\users\\gts\\Temp\\msi389c.tmp" (193)
00bc:fixme:service:EnumDependentServicesW 0x18a5eb8 0x00000001 0x0 0x00000000
0xb6f668 0xb6f664 - stub
00bc:fixme:msi:ACTION_CustomAction msidbCustomActionTypeTSAware not handled
00bc:fixme:msi:ACTION_CustomAction msidbCustomActionTypeTSAware not handled
--
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.