[Bug 45703] Microsoft Office 365 applications crash on startup ( Microsoft AppV ISV virtual filesystem technology requires several native and core API to be hot-patchable )

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Apr 12 04:38:45 CDT 2019


https://bugs.winehq.org/show_bug.cgi?id=45703

--- Comment #21 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

revisiting, still present.
Using regular Wine build with -fPIC and -O2 for testing.

One of the native API mentioned here 'ntdll.NtQueryDirectoryFile' (comment #9)
is also frequently used in game scene releases that use custom Steam Client API
Module (proxy). The API resolver is obfuscated hence can't be seen from any
trace logs.

--- snip ---
...
Unhandled exception: page fault on execute access to 0x8b5de754 in 32-bit code
(0x000000008b5de754).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:8b5de754 ESP:0032f030 EBP:0032f458 EFLAGS:00210282(  R- --  I S - - - )
 EAX:8b5de754 EBX:00000000 ECX:0032ebc0 EDX:00000000
 ESI:00457250 EDI:00000003
Stack dump:
...
Backtrace:
=>0 0x000000008b5de754 (0x000000000032f458)
  1 0x0000000010047a9b EntryPoint+0xffffffffffffffff() in steam_api
(0x000000000032f4b8)
  2 0x000000007b44c819 FindFirstFileExW+0x518(filename=<couldn't compute
location>, level=<couldn't compute location>, data=<couldn't compute location>,
search_op=<couldn't compute location>, filter=<couldn't compute location>,
flags=<couldn't compute location>)
[/home/focht/projects/wine/mainline-src/dlls/kernel32/file.c:2105] in kernel32
(0x000000000032f588)
  3 0x000000001001bcee EntryPoint+0xffffffffffffffff() in steam_api
(0x000000000032fa38)
  4 0x000000001001206d EntryPoint+0xffffffffffffffff() in steam_api
(0x000000000032fa50)
  5 0x0000000010051285 EntryPoint+0xffffffffffffffff() in steam_api
(0x000000000032fcac)
  6 0x0000000000719a71 EntryPoint+0xffffffffffffffff() in sniperelitev2
(0x000000000032fcbc)
...

Wine-dbg>info share
Module    Address            Debug info    Name (166 modules)
PE      400000-  bc5000    Export          sniperelitev2
PE     9b30000- 9b77000    Deferred        binkw32
PE    10000000-100b0000    Export          steam_api
ELF    7a800000-7a939000    Deferred        opengl32<elf>
  \-PE    7a820000-7a939000    \               opengl32
ELF    7b400000-7b830000    Dwarf           kernel32<elf>
  \-PE    7b420000-7b830000    \               kernel32
ELF    7bc00000-7bd2a000    Deferred        ntdll<elf>
  \-PE    7bc10000-7bd2a000    \               ntdll
ELF    7c000000-7c004000    Deferred        <wine-loader>
...

Wine-dbg>

0x0000000010047a8f EntryPoint+0xffffffffffffffff in steam_api: pushl   
0xc(%ebp)
0x0000000010047a92 EntryPoint+0xffffffffffffffff in steam_api: pushl   
0x8(%ebp)
0x0000000010047a95 EntryPoint+0xffffffffffffffff in steam_api: call   
*0x1009bde0 -> (invalid destination)
0x0000000010047a9b EntryPoint+0xffffffffffffffff in steam_api: movl   
%eax,%edi

Wine-dbg>x/10x 0x1009bde0
0x000000001009bde0 EntryPoint+0xffffffffffffffff:  00390f80 00390fa0 00390fc0
00000000
0x000000001009bdf0 EntryPoint+0xffffffffffffffff:  00000000 00161460 00161490
00161700
0x000000001009be00 EntryPoint+0xffffffffffffffff:  41455453 5050414d

Wine-dbg>x/10i 0x390f80
0x0000000000390f80: call    0x000000007bc3b257 __x86.get_pc_thunk.ax in ntdll
0x0000000000390f85: jmp    0x000000007bc45d35 NtQueryDirectoryFile+0x5
[/home/focht/projects/wine/mainline-src/dlls/ntdll/directory.c:1944] in ntdll
0x0000000000390f8a: addb    %al,0x0(%eax)

Wine-dbg>x/10i NtQueryDirectoryFile

0x000000007bc45d30 NtQueryDirectoryFile      jmp    0x0000000010047a67
EntryPoint+0xffffffffffffffff in steam_api
0x000000007bc45d35 NtQueryDirectoryFile+0x5  addl    $811723,%eax
0x000000007bc45d3a NtQueryDirectoryFile+0xa  leal    0x4(%esp),%ecx
0x000000007bc45d3e NtQueryDirectoryFile+0xe  andl    $-16,%esp
0x000000007bc45d41 NtQueryDirectoryFile+0x11 pushl    0xfffffffc(%ecx)
0x000000007bc45d44 NtQueryDirectoryFile+0x14 pushl    %ebp
--- snip ---

Copies of native API entry points:

--- snip ---
1009BDD0  00000666  
1009BDD4  003A0F40  
1009BDD8  003A0FE0  
1009BDDC  003A0F60  
1009BDE0  003A0F80  
1009BDE4  003A0FA0  
1009BDE8  003A0FC0  
1009BDEC  00000000  
1009BDF0  00000000  

003A0F40  | 8BFF            | mov edi,edi                    
003A0F42  | 55              | push ebp                       
003A0F43  | 8BEC            | mov ebp,esp                    
003A0F45  | E9 9B478C7B     | jmp 7BC656E5     ; LdrLoadDll+0x5
003A0F4A  | 0000            | add byte ptr ds:[eax],al       
...
003A0F60  | 8D4C24 04       | lea ecx,dword ptr ss:[esp+4]   
003A0F64  | 83E4 F0         | and esp,FFFFFFF0               
003A0F67  | E9 6B188B7B     | jmp 7BC527D7     ; NtQueryFullAttributesFile+0x7
003A0F6C  | 0000            | add byte ptr ds:[eax],al       
...
003A0F80  | E8 D2A2897B     | call 7BC3B257    ; PIC/GOT -> problem!            
003A0F85  | E9 AB4D8A7B     | jmp 7BC45D35     ; NtQueryDirectoryFile+0x5
003A0F8A  | 0000            | add byte ptr ds:[eax],al       
...
003A0FA0  | 8D4C24 04       | lea ecx,dword ptr ss:[esp+4]   
003A0FA4  | 83E4 F0         | and esp,FFFFFFF0               
003A0FA7  | E9 7BCF8A7B     | jmp 7BC4DF27     ; NtOpenFile+0x7
003A0FAC  | 0000            | add byte ptr ds:[eax],al       
...
003A0FC0  | 8D4C24 04       | lea ecx,dword ptr ss:[esp+4]   
003A0FC4  | 83E4 F0         | and esp,FFFFFFF0               
003A0FC7  | E9 ABCF8A7B     | jmp 7BC4DF77     ; NtCreateFile+0x7
003A0FCC  | 0000            | add byte ptr ds:[eax],al       
...
003A0FE0  | 8D4C24 04       | lea ecx,dword ptr ss:[esp+4]   
003A0FE4  | 83E4 F0         | and esp,FFFFFFF0               
003A0FE7  | E9 FB198B7B     | jmp 7BC529E7     ; NtQueryAttributesFile+0x7
003A0FEC  | 0000            | add byte ptr ds:[eax],al       
...
--- snip ---

There is also a number of other bug reports with similar symptoms, albeit with
questionable tracebility/comment thread quality.

--- quote ---
bump once again, someone please respond on how I can enable IOPL in WINE.
--- quote ---

IOPL errors are the symptom of a broken MS Office installation. You didn't
follow howtos/guidelines to do post-installation fixups. I admit most of these
instructions which involve manual copying of files are of rather questionable
quality. Anyway, use forums. Wine Bugzilla is not meant for end user support.

$ wine --version
wine-4.5-368-g0cb79db12a

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.



More information about the wine-bugs mailing list