richedit (ro): "Select all" or "Copy" crashes wine
Tobias Burnus
burnus at gmx.de
Wed Feb 23 03:21:10 CST 2005
Hi,
in Diamond 2.x
(http://www.codeweavers.com/compatibility/browse/name?app_id=865) there
is a structure-data richedit (read-only). (Under Windows:
http://www.physik.fu-berlin.de/~tburnus/wine/diamond_info.png; it's on
the right side; Wine looks similar, but the background is grey and it is
not that sleek.)
I can flawlessly select some text using the mouse or the keyboard, but
if I use the context menu and choose either of
- "Select all"
- "Copy" (after selecting something)
it crashes with:
wine: Unhandled exception (thread 0009), starting debugger...
WineDbg starting on pid 0x8
Unhandled exception: page fault on read access to 0x00000000 in 32-bit
code (0x451e158b).
In 32 bit mode.
Register dump:
CS:0073 SS:007b DS:007b ES:007b FS:003b GS:0033
EIP:451e158b ESP:406dfb98 EBP:406dfbb4 EFLAGS:00210246( - 00 -RIZP1)
EAX:40425b70 EBX:451eecec ECX:40b77600 EDX:451f2c50
ESI:00000000 EDI:40425b70
Stack dump:
0x406dfb98: 4058a80e 4058a80e 451eecec 00000000
0x406dfba8: 451eecec 404240d8 00000111 406dfbe8
0x406dfbb8: 451e3ba8 40425b70 00000000 00000000
0x406dfbc8: 00000111 00000000 00000301 00000301
0x406dfbd8: 44b68a14 40b6a450 00000000 00020048
0x406dfbe8: 406dfc0c 40ae88f7 00020048 00000111
Backtrace:
=>1 0x451e158b RTFSetEditStream in riched32 (0x406dfbb4)
2 0x451e3ba8 RICHED32_WindowProc in riched32 (0x406dfbe8)
3 0x40ae88f7 WINPROC_wrapper in user32 (0x406dfc0c)
4 0x40ae9c1b WINPROC_CallWndProc in user32 (0x406dfc50)
5 0x40aef2c5 CallWindowProcA in user32 (0x406dfc94)
6 0x00563a90fixme:dbghelp_msc:pe_load_debug_directory This guy has FPO
information
in diamond (+0x163a90) (0x406dfcb4)
7 0x005641c2 in diamond (+0x1641c2) (0x406dfcd4)
8 0x00562ed9 in diamond (+0x162ed9) (0x406dfd40)
9 0x005631e5 in diamond (+0x1631e5) (0x406dfd5c)
10 0x40ae88f7 WINPROC_wrapper in user32 (0x406dfd80)
11 0x40ae9c1b WINPROC_CallWndProc in user32 (0x406dfdc4)
12 0x40aef2c5 CallWindowProcA in user32 (0x406dfe08)
13 0x40ad26f2 DispatchMessageA in user32 (0x406dfe34)
14 0x00567cb7 in diamond (+0x167cb7) (0x005f3d50)
15 0x00000001 (0x005ab278)
16 0x00464520 in diamond (+0x64520) (0x00589f71)
0x451e158b RTFSetEditStream+0x2b in riched32: movl 0x0(%esi),%eax
A WINEDEBUG=+relay,+seh,+tid gives the following (excerpt):
(This is with Meissner's wine-20050211-1.1 and CXOffice-nightly 05-02-21
and occurs also with earlier versions of WINE. The excerpt below comes
from wine-20050211-1.1 with "Select all".)
[...]
0009:Call window proc 0x5631b9
(hwnd=0x20048,msg=WM_COMMAND,wp=000000b1,lp=00000000)
0009:Call kernel32._ConfirmSysLevel(40b77600) ret=40ade8c5
0009:Ret kernel32._ConfirmSysLevel() retval=00000000 ret=40ade8c5
0009:Call kernel32.TlsGetValue(00000007) ret=0058c6c9
0009:Ret kernel32.TlsGetValue() retval=403cdc08 ret=0058c6c9
0009:Call kernel32.TlsGetValue(00000007) ret=0058c6c9
0009:Ret kernel32.TlsGetValue() retval=403cdc08 ret=0058c6c9
0009:Call kernel32.TlsGetValue(00000007) ret=0058c6c9
0009:Ret kernel32.TlsGetValue() retval=403cdc08 ret=0058c6c9
0009:Call
user32.CallWindowProcA(451e38b0,00020048,00000111,000000b1,00000000)
ret=00563a90
0009:Call kernel32._EnterSysLevel(40b77600) ret=40ade890
0009:Call ntdll.RtlEnterCriticalSection(40b77600) ret=4050828b
0009:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=4050828b
0009:Ret kernel32._EnterSysLevel() retval=4058a640 ret=40ade890
0009:Call kernel32._LeaveSysLevel(40b77600) ret=40ade920
0009:Call ntdll.RtlLeaveCriticalSection(40b77600) ret=40507fc1
0009:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=40507fc1
0009:Ret kernel32._LeaveSysLevel() retval=4058a80e ret=40ade920
0009:Call kernel32._EnterSysLevel(40b77600) ret=40ade890
0009:Call ntdll.RtlEnterCriticalSection(40b77600) ret=4050828b
0009:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=4050828b
0009:Ret kernel32._EnterSysLevel() retval=4058a640 ret=40ade890
0009:Call kernel32._LeaveSysLevel(40b77600) ret=40ade920
0009:Call ntdll.RtlLeaveCriticalSection(40b77600) ret=40507fc1
0009:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=40507fc1
0009:Ret kernel32._LeaveSysLevel() retval=4058a80e ret=40ade920
0009:Call kernel32.GlobalGetAtomNameW(0000c043,406df99c,0000003c)
ret=40aba1ba
0009:Ret kernel32.GlobalGetAtomNameW() retval=00000008 ret=40aba1ba
0009:Call kernel32._EnterSysLevel(40b77600) ret=40ade890
0009:Call ntdll.RtlEnterCriticalSection(40b77600) ret=4050828b
0009:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=4050828b
0009:Ret kernel32._EnterSysLevel() retval=4058a640 ret=40ade890
0009:Call kernel32._LeaveSysLevel(40b77600) ret=40ade920
0009:Call ntdll.RtlLeaveCriticalSection(40b77600) ret=40507fc1
0009:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=40507fc1
0009:Ret kernel32._LeaveSysLevel() retval=4058a80e ret=40ade920
0009:Call window proc 0x451e38b0
(hwnd=0x20048,msg=WM_COMMAND,wp=000000b1,lp=00000000)
0009:Call kernel32._ConfirmSysLevel(40b77600) ret=40ade8c5
0009:Ret kernel32._ConfirmSysLevel() retval=00000000 ret=40ade8c5
0009:Call user32.GetWindowLongW(00020048,00000004) ret=451e38e2
0009:Call kernel32._EnterSysLevel(40b77600) ret=40ade890
0009:Call ntdll.RtlEnterCriticalSection(40b77600) ret=4050828b
0009:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=4050828b
0009:Ret kernel32._EnterSysLevel() retval=4058a640 ret=40ade890
0009:Call kernel32._LeaveSysLevel(40b77600) ret=40ade920
0009:Call ntdll.RtlLeaveCriticalSection(40b77600) ret=40507fc1
0009:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=40507fc1
0009:Ret kernel32._LeaveSysLevel() retval=4058a80e ret=40ade920
0009:Ret user32.GetWindowLongW() retval=404240c0 ret=451e38e2
0009:trace:seh:EXC_RtlRaiseException code=c0000005 flags=0 addr=0x451e158b
0009:trace:seh:EXC_RtlRaiseException info[0]=00000000
0009:trace:seh:EXC_RtlRaiseException info[1]=00000000
0009:trace:seh:EXC_RtlRaiseException eax=40425b30 ebx=451eecec
ecx=00000000 edx=451f2c50 esi=00000000 edi=40425b30
0009:trace:seh:EXC_RtlRaiseException ebp=406df9ec esp=406df9d0 cs=0073
ds=007b es=007b fs=003b gs=0033 flags=00210246
0009:trace:seh:EXC_CallHandler calling handler at 0x562f3e code=c0000005
flags=0
0009:Call kernel32.GetLastError() ret=00547758
0009:Ret kernel32.GetLastError() retval=00000000 ret=00547758
0009:Call kernel32.TlsGetValue(00000006) ret=00547766
0009:Ret kernel32.TlsGetValue() retval=44b60100 ret=00547766
0009:Call kernel32.SetLastError(00000000) ret=005477ba
0009:Ret kernel32.SetLastError() retval=00000000 ret=005477ba
0009:trace:seh:EXC_CallHandler handler returned 1
0009:trace:seh:EXC_CallHandler calling handler at 0x54c1e0 code=c0000005
flags=0
0009:Call kernel32.GetLastError() ret=00547758
0009:Ret kernel32.GetLastError() retval=00000000 ret=00547758
0009:Call kernel32.TlsGetValue(00000006) ret=00547766
0009:Ret kernel32.TlsGetValue() retval=44b60100 ret=00547766
0009:Call kernel32.SetLastError(00000000) ret=005477ba
0009:Ret kernel32.SetLastError() retval=00000000 ret=005477ba
0009:Call kernel32.UnhandledExceptionFilter(406df57c) ret=0054e15a
0009:Call kernel32.IsBadCodePtr(41036a10) ret=005503a1
0009:Ret kernel32.IsBadCodePtr() retval=00000000 ret=005503a1
0009:Call kernel32.IsBadCodePtr(1000a670) ret=410386a1
0009:Ret kernel32.IsBadCodePtr() retval=00000000 ret=410386a1
0009:Call
ntdll.NtCreateEvent(406df240,001f0003,406df408,00000001,00000000)
ret=404c574f
0009:Ret ntdll.NtCreateEvent() retval=00000000 ret=404c574f
wine: Unhandled exception (thread 0009), starting debugger...
0009:Call ntdll.RtlInitUnicodeString(406df238,40568a80
L"Machine\\Software\\Microsoft\\Windows NT\\CurrentVersion\\AeDebug")
ret=404c
57e0
[...]
Tobias
More information about the wine-devel
mailing list