No subject


Wed Feb 20 09:39:33 CST 2008


offset  value     comment
$+00    00241000  BaseAddress       
$+04    00240000  AllocationBase
$+08    00000004  AllocationProtect
$+0C    0010F000  RegionSize
$+10    00001000  State       
$+14    00000004  Protect
$+18    00020000  Type

Trace snippet of .NET 2.0 app (C++ -> managed exception transition +
unwinding):

--- snip trace ---
..
003d:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,0033e28c)
ret=78158dd3
003d:trace:seh:raise_exception code=e06d7363 flags=1 addr=0x7b8419a0
003d:trace:seh:raise_exception  info[0]=19930520
003d:trace:seh:raise_exception  info[1]=0033e300
003d:trace:seh:raise_exception  info[2]=79f9acc4
003d:trace:seh:raise_exception  eax=7b82c3e9 ebx=7b8af3a4 ecx=00000000
edx=0033e278 esi=0033e278 edi=0033e1f0
003d:trace:seh:raise_exception  ebp=0033e1d8 esp=0033e174 cs=0073 ds=007b
es=007b fs=0033 gs=003b flags=00000216
..
003d:Call KERNEL32.RaiseException(e0434f4d,00000001,00000001,0033e294)
ret=79f97065
003d:trace:seh:raise_exception code=e0434f4d flags=1 addr=0x7b8419a0
003d:trace:seh:raise_exception  info[0]=80004001
003d:trace:seh:raise_exception  eax=7b82c3e9 ebx=7b8af3a4 ecx=00000000
edx=0033e274 esi=0033e274 edi=0033e1f0
003d:trace:seh:raise_exception  ebp=0033e1d8 esp=0033e174 cs=0073 ds=007b
es=007b fs=0033 gs=003b flags=00000212
...
003d:Ret  ntdll.RtlUnwind() retval=00000000 ret=79f9608c
003d:  eax=00000000 ebx=00000001 ecx=0013de68 edx=0033dc34 esi=00000000
edi=0013de68 ebp=0033db50 esp=0033db44 ds=007b es=007b fs=0033 gs=003b
flags=00000246
...
003d:Call KERNEL32.VirtualQuery(00241000,0033d3d4,0000001c) ret=79f992fc
003d:Ret  KERNEL32.VirtualQuery() retval=0000001c ret=79f992fc
003d:Call KERNEL32.VirtualQuery(00241000,0033e478,0000001c) ret=79f992fc
003d:Ret  KERNEL32.VirtualQuery() retval=0000001c ret=79f992fc
003d:Call KERNEL32.VirtualProtect(0033d000,00000001,00000104,0033e498)
ret=79e74b61
003d:trace:virtual:NtProtectVirtualMemory 0xffffffff 0x33d000 00000001 00000104
003d:trace:virtual:VIRTUAL_SetProt 0x33d000-0x33dfff cgrw- 
<segfault here>
--- snip trace ---

First VirtualQuery() -> page guard search algorithm
Second VirtualQuery() +  VirtualProtect() -> page guard enabling code.

I'm not going to waste more time with explanations.

Please show me the offending apps which ought to break when a guard page is
located at StackLimit.
I might find a way to satisfy both - but I have to see the app code.

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