[Bug 18274] Xenocode Virtual Appliance Runtime Error 0xD0000022

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Apr 29 15:40:02 CDT 2009


http://bugs.winehq.org/show_bug.cgi?id=18274


Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net




--- Comment #2 from Anastasius Focht <focht at gmx.net>  2009-04-29 15:40:01 ---
Hello,

use of +relay thunks is useless because Xenocode hooks into native API using
special trampolines and you won't see all calls made.

This seems to be the culprit:

--- snip ---
...
0009: create_mapping( access=00000006, attributes=00000000, protect=00000043,
size=003d6000, file_handle=0000, objattr={rootdir=0000,sd={},name=L""} )
0009: create_mapping() = 0 { handle=0054 } 
...
0009:trace:virtual:NtMapViewOfSection handle=0x54 process=0xffffffff addr=(nil)
off=000000000 size=0 access=4
0009: get_mapping_info( handle=0054, access=00000003 )
0009: get_mapping_info() = ACCESS_DENIED { size=00000000, protect=0,
header_size=0, base=00000000, mapping=0000, shared_file=0000 }
0009: close_handle( handle=0054 )
0009: close_handle() = 0
0009: output_debug_string( length=252, string=00137650, unicode=1 )
0009: output_debug_string() = 0
0009:warn:debugstr:OutputDebugStringW L"This application has encountered an
error: 0xD0000022\n\nPlease contact the publisher of this application for more
information." 
--- snip ---

Partly emulated NtCreateSection() (hook) passes down following params:

access: SECTION_MAP_READ | SECTION_MAP_WRITE 
protect = VPROT_READ | VPROT_WRITE | VPROT_COMMITTED

When the section is about to be mapped, NtMapViewOfSection() (not
emulated/hooked) is passed following params:

protect: PAGE_READWRITE which is tranlated into: SECTION_QUERY |
SECTION_MAP_WRITE for get_mapping_info()

This fails because no SECTION_QUERY right is present.
Seems this right has to be added internally to access flags before making
wineserver creating the section to have later map succeeding.
Don't know which access flags combinations imply this flag hence it might need
a conformance test case to find out.

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.



More information about the wine-bugs mailing list