[Bug 47280] New: TopoEdit tool from Windows 10 SDK (10.0.17763.x) crashes on unimplemented function ' ext-ms-win-ntuser-windowclass-l1-1-0.dll.{Get,Set}WindowLongPtrW'
wine-bugs at winehq.org
wine-bugs at winehq.org
Mon May 27 17:46:14 CDT 2019
https://bugs.winehq.org/show_bug.cgi?id=47280
Bug ID: 47280
Summary: TopoEdit tool from Windows 10 SDK (10.0.17763.x)
crashes on unimplemented function
'ext-ms-win-ntuser-windowclass-l1-1-0.dll.{Get,Set}Win
dowLongPtrW'
Product: Wine
Version: 4.9
Hardware: x86-64
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: ext-ms-win-*
Assignee: wine-bugs at winehq.org
Reporter: focht at gmx.net
Distribution: ---
Hello folks,
continuation of bug 46090
--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files (x86)/Windows
Kits/10/bin/10.0.17763.0/x64
$ wine ./topoedit.exe
...
0036:err:module:DelayLoadFailureHook failed to delay load
ext-ms-win-ntuser-windowclass-l1-1-0.dll.SetWindowLongPtrW
wine: Call from 0x7b45323c to unimplemented function
ext-ms-win-ntuser-windowclass-l1-1-0.dll.SetWindowLongPtrW, aborting
wine: Unimplemented function
ext-ms-win-ntuser-windowclass-l1-1-0.dll.SetWindowLongPtrW called at address
0x7b45323c (thread 0036), starting debugger...
...
Backtrace:
=>0 0x000000007b45323c RaiseException+0x6c(code=<is not available>, flags=<is
not available>, nbargs=<is not available>, args=<is not available>)
[/home/focht/projects/wine/mainline-src/dlls/kernel32/except.c:86] in kernel32
(0x000000000024e700)
1 0x000000007b47ff7a
DelayLoadFailureHook+0xa9(name="ext-ms-win-ntuser-windowclass-l1-1-0.dll",
function="SetWindowLongPtrW")
[/home/focht/projects/wine/mainline-src/dlls/kernel32/module.c:1236] in
kernel32 (0x000000000024e800)
2 0x000000007bc71e08 LdrResolveDelayLoadedAPI+0x207(base=0x180000000,
desc=0x18003ae38, dllhook=(nil), syshook=0x7b47fed0)
[/home/focht/projects/wine/mainline-src/dlls/ntdll/loader.c:3251] in ntdll
(0x000000000024e9a0)
3 0x0000000180006421 EntryPoint+0xfffdb8e0() in tedutil (0x0000000180026630)
4 0x000000018002c02a EntryPoint+0x1000014e9() in tedutil (0x0000000180026630)
5 0x0000000180027d1b EntryPoint+0xffffd1da() in tedutil (0x0000000180026630)
6 0x00007f69080737f1 call_window_proc+0x60(hwnd=0x10142, msg=0x81, wp=0,
lp=0x24f050, result=0x24eb98, arg=0x180027c80)
[/home/focht/projects/wine/mainline-src/dlls/user32/winproc.c:219] in user32
(0x000000000024eb98)
7 0x00007f6908075c95 WINPROC_call_window+0x214(hwnd=0x10142, msg=0x81,
wParam=0, lParam=0x24f050, result=0x24eb98, unicode=0x1)
[/home/focht/projects/wine/mainline-src/dlls/user32/winproc.c:960] in user32
(0x00007fffffea8000)
8 0x00007f6908025ea3 call_window_proc+0x82(hwnd=0x10142, msg=0x81, wparam=0,
lparam=0x24f050, unicode=0x1, same_thread=0x1)
[/home/focht/projects/wine/mainline-src/dlls/user32/message.c:2225] in user32
(0x0000000000000001)
9 0x00007f690802d9b3 send_message+0x222(info=0x24ecc0, res_ptr=0x24ecb8,
unicode=0x1)
[/home/focht/projects/wine/mainline-src/dlls/user32/message.c:3288] in user32
(0x000000000024ecb8)
10 0x00007f690802dd98 SendMessageW+0xa7(hwnd=<is not available>, msg=<is not
available>, wparam=<is not available>, lparam=<is not available>)
[/home/focht/projects/wine/mainline-src/dlls/user32/message.c:3489] in user32
(0x000000000024edc0)
11 0x00007f6908068678 WIN_CreateWindowEx+0x1407(cs=0x24f050, className=<is
not available>, module=<is not available>, unicode=<is not available>)
[/home/focht/projects/wine/mainline-src/dlls/user32/win.c:1620] in user32
(0x0000000000010132)
12 0x00007f690805f76f CreateWindowExW+0xc6(exStyle=<is not available>,
className=0x0(nil), windowName=<is not available>, style=<is not available>)
[/home/focht/projects/wine/mainline-src/dlls/user32/win.c:1798] in user32
(0x000000000024f150)
13 0x000000018002775d EntryPoint+0xffffcc1c() in tedutil (0x0000000000252bd0)
14 0x00000001800275e9 EntryPoint+0xffffcaa8() in tedutil (0x0000000000252bd0)
15 0x00000001800278f7 EntryPoint+0xffffcdb6() in tedutil (0x000000000024f351)
16 0x000000014000a76c in topoedit (+0xa76b) (0x000000000024f351)
17 0x000000014000d262 in topoedit (+0xd261) (0x000000000024f3e0)
18 0x0000000140010208 in topoedit (+0x10207) (0x000000000024f480)
19 0x00007f69080737f1 call_window_proc+0x60(hwnd=0x1011e, msg=0x1, wp=0,
lp=0x24fa40, result=0x24f588, arg=0x4d0000)
[/home/focht/projects/wine/mainline-src/dlls/user32/winproc.c:219] in user32
(0x000000000024f588)
20 0x00007f6908075c95 WINPROC_call_window+0x214(hwnd=0x1011e, msg=0x1,
wParam=0, lParam=0x24fa40, result=0x24f588, unicode=0x1)
[/home/focht/projects/wine/mainline-src/dlls/user32/winproc.c:960] in user32
(0x00007fffffea8000)
21 0x00007f6908025ea3 call_window_proc+0x82(hwnd=0x1011e, msg=0x1, wparam=0,
lparam=0x24fa40, unicode=0x1, same_thread=0x1)
[/home/focht/projects/wine/mainline-src/dlls/user32/message.c:2225] in user32
(0x0000000000000001)
22 0x00007f690802d9b3 send_message+0x222(info=0x24f6b0, res_ptr=0x24f6a8,
unicode=0x1)
[/home/focht/projects/wine/mainline-src/dlls/user32/message.c:3288] in user32
(0x000000000024f6a8)
23 0x00007f690802dd98 SendMessageW+0xa7(hwnd=<is not available>, msg=<is not
available>, wparam=<is not available>, lparam=<is not available>)
[/home/focht/projects/wine/mainline-src/dlls/user32/message.c:3489] in user32
(0x000000000024f7b0)
24 0x00007f69080687a8 WIN_CreateWindowEx+0x1537(cs=0x24fa40, className=<is
not available>, module=<is not available>, unicode=<is not available>)
[/home/focht/projects/wine/mainline-src/dlls/user32/win.c:1657] in user32
(0x0000000000010020)
25 0x00007f690805f76f CreateWindowExW+0xc6(exStyle=<is not available>,
className=0x0(nil), windowName=<is not available>, style=<is not available>)
[/home/focht/projects/wine/mainline-src/dlls/user32/win.c:1798] in user32
(0x000000000024fb40)
26 0x0000000140003bf5 in topoedit (+0x3bf4) (0x00000000002520d0)
27 0x00000001400039cd in topoedit (+0x39cc) (0x00000000002520d0)
28 0x00000001400072cb in topoedit (+0x72ca) (0x00000000002520d0)
29 0x0000000140007464 in topoedit (+0x7463) (0x000000000024ffd0)
30 0x0000000140010432 in topoedit (+0x10431) (0x000000000024ffd0)
31 0x0000000140019689 in topoedit (+0x19688) (0x000000000024ffd0)
32 0x000000007b48d981 start_process+0x160(entry=0x140019730,
peb=0x7fffffeaf000)
[/home/focht/projects/wine/mainline-src/dlls/kernel32/process.c:1225] in
kernel32 (0x000000000024ffd0)
0x000000007b45323c RaiseException+0x6c
[/home/focht/projects/wine/mainline-src/dlls/kernel32/except.c:86] in kernel32:
leaq 0xfffffffffffffff0(%rbp),%rsp
86 }
Modules:
Module Address Debug info Name (101 modules)
PE 510000- 52d000 Deferred
ext-ms-win-ntuser-windowclass-l1-1-0
PE 61780000- 617a0000 Deferred
api-ms-win-core-com-l1-1-0
PE 61a00000- 61a1d000 Deferred
ext-ms-win-shell-comctl32-init-l1-1-0
PE 61d80000- 61d9d000 Deferred
api-ms-win-core-debug-l1-1-0
PE 61e40000- 61e5d000 Deferred
api-ms-win-core-sysinfo-l1-1-0
PE 651c0000- 651dd000 Deferred
api-ms-win-core-errorhandling-l1-1-0
PE 65240000- 6525f000 Deferred
api-ms-win-core-processthreads-l1-1-0
PE 65540000- 6555d000 Deferred
api-ms-win-core-delayload-l1-1-0
PE 65940000- 6595f000 Deferred
api-ms-win-core-libraryloader-l1-2-0
PE 66580000- 6659f000 Deferred
ext-ms-win-ntuser-window-l1-1-0
PE 66780000- 6679d000 Deferred
api-ms-win-core-string-l1-1-0
PE 67340000- 6735f000 Deferred
api-ms-win-core-delayload-l1-1-1
PE 67ec0000- 67edd000 Deferred
ext-ms-win-rtcore-ntuser-cursor-l1-1-0
PE 68340000- 6835d000 Deferred
api-ms-win-core-util-l1-1-0
PE 68740000- 6875f000 Deferred
api-ms-win-core-registry-l1-1-0
PE 688c0000- 688dd000 Deferred
api-ms-win-core-rtlsupport-l1-1-0
PE 69780000- 6979d000 Deferred
api-ms-win-core-memory-l1-1-0
PE 69ac0000- 69add000 Deferred
api-ms-win-core-profile-l1-1-0
PE 6a4c0000- 6a4dd000 Deferred
api-ms-win-core-handle-l1-1-0
PE 6bcc0000- 6bcde000 Deferred
api-ms-win-core-file-l1-1-0
PE 6c300000- 6c31f000 Deferred
api-ms-win-core-heap-l1-1-0
PE 6c580000- 6c59d000 Deferred
api-ms-win-core-synch-l1-1-0
PE 6c840000- 6c85d000 Deferred
api-ms-win-core-string-obsolete-l1-1-0
PE 6e340000- 6e35f000 Deferred
api-ms-win-core-synch-l1-2-0
PE 6ee80000- 6eea3000 Deferred atlthunk
PE 6f640000- 6f65f000 Deferred
api-ms-win-core-processthreads-l1-1-1
PE 6f880000- 6f89f000 Deferred
api-ms-win-core-localization-l1-2-0
PE 70700000- 7071d000 Deferred
api-ms-win-core-interlocked-l1-1-0
PE 70800000- 7081f000 Deferred
api-ms-win-core-timezone-l1-1-0
PE 70e80000- 70e9d000 Deferred
api-ms-win-core-string-l2-1-0
ELF 7b400000- 7b86c000 Dwarf kernel32<elf>
\-PE 7b420000- 7b86c000 \ kernel32
ELF 7bc00000- 7bd55000 Dwarf ntdll<elf>
\-PE 7bc20000- 7bd55000 \ ntdll
ELF 7c000000- 7c004000 Deferred <wine-loader>
PE 140000000- 140034000 Export topoedit
PE 180000000- 18004a000 Export tedutil
...
Threads:
process tid prio (all id:s are in hex)
...
0000003c (D) C:\Program Files (x86)\Windows
Kits\10\bin\10.0.17763.0\x64\topoedit.exe
0000003e 0
0000003d 0 <==
--- snip ---
Dumping the API set stub dll imports of the corresponding module:
--- snip ---
$ winedump -j import tedutil.dll | sed -n '/ext-ms-win/,/^$/p'
grAttrs 00000001 offset 00039c78 ext-ms-win-gdi-dc-l1-2-0.dll
Hint/Name Table: 0003aed0
Address Table: 00046018
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970)
Thunk Ordn Name
00046018 19 SelectObject
grAttrs 00000001 offset 00039c98 ext-ms-win-gdi-draw-l1-1-0.dll
Hint/Name Table: 0003aee0
Address Table: 00046028
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970)
Thunk Ordn Name
00046028 4 CreateCompatibleBitmap
00046030 0 BitBlt
00046038 10 CreateSolidBrush
00046040 30 MoveToEx
00046048 29 LineTo
grAttrs 00000001 offset 00039cb8 ext-ms-win-gdi-draw-l1-1-1.dll
Hint/Name Table: 0003af10
Address Table: 00046058
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970)
Thunk Ordn Name
00046058 38 SetBkColor
00046060 9 CreatePen
00046068 37 Rectangle
grAttrs 00000001 offset 00039cd8 ext-ms-win-gdi-font-l1-1-0.dll
Hint/Name Table: 0003af30
Address Table: 00046078
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970)
Thunk Ordn Name
00046078 2 CreateFontIndirectW
grAttrs 00000001 offset 00039cf8 ext-ms-win-gdi-font-l1-1-1.dll
Hint/Name Table: 0003af40
Address Table: 00046088
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970)
Thunk Ordn Name
00046088 40 SetTextColor
grAttrs 00000001 offset 00039d18 ext-ms-win-gdi-dc-create-l1-1-0.dll
Hint/Name Table: 0003aeb8
Address Table: 00046000
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970)
Thunk Ordn Name
00046000 4 DeleteDC
00046008 0 CreateCompatibleDC
grAttrs 00000001 offset 00039d38 ext-ms-win-ntuser-dialogbox-l1-1-0.dll
Hint/Name Table: 0003af50
Address Table: 00046098
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970)
Thunk Ordn Name
00046098 25 MessageBoxW
grAttrs 00000001 offset 00039d58 ext-ms-win-ntuser-draw-l1-1-0.dll
Hint/Name Table: 0003af60
Address Table: 000460a8
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970)
Thunk Ordn Name
000460a8 4 EndPaint
000460b0 0 BeginPaint
000460b8 11 InvalidateRect
grAttrs 00000001 offset 00039d78 ext-ms-win-ntuser-gui-l1-1-0.dll
Hint/Name Table: 0003af80
Address Table: 000460c8
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970)
Thunk Ordn Name
000460c8 7 FillRect
grAttrs 00000001 offset 00039d98 ext-ms-win-ntuser-message-l1-1-0.dll
Hint/Name Table: 0003af90
Address Table: 000460d8
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970)
Thunk Ordn Name
000460d8 22 SendMessageW
grAttrs 00000001 offset 00039db8 ext-ms-win-ntuser-misc-l1-1-0.dll
Hint/Name Table: 0003afa0
Address Table: 000460e8
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970)
Thunk Ordn Name
000460e8 6 DrawTextW
grAttrs 00000001 offset 00039dd8 ext-ms-win-ntuser-misc-l1-2-0.dll
Hint/Name Table: 0003afb0
Address Table: 000460f8
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970)
Thunk Ordn Name
000460f8 48 ShowScrollBar
00046100 24 GetScrollInfo
00046108 44 SetScrollInfo
grAttrs 00000001 offset 00039df8 ext-ms-win-ntuser-window-l1-1-0.dll
Hint/Name Table: 0003afd0
Address Table: 00046118
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970)
Thunk Ordn Name
00046118 13 CreateWindowExW
00046120 15 DefWindowProcW
00046128 29 GetClientRect
grAttrs 00000001 offset 00039e18 ext-ms-win-ntuser-window-l1-1-4.dll
Hint/Name Table: 0003aff0
Address Table: 00046138
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970)
Thunk Ordn Name
00046138 8 CallWindowProcW
grAttrs 00000001 offset 00039e38 ext-ms-win-ntuser-windowclass-l1-1-0.dll
Hint/Name Table: 0003b000
Address Table: 00046148
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970)
Thunk Ordn Name
00046148 13 GetWindowLongPtrW
00046150 28 UnregisterClassA
00046158 26 SetWindowLongPtrW
00046160 18 RegisterClassExW
00046168 2 GetClassInfoExW
grAttrs 00000001 offset 00039e58 ext-ms-win-rtcore-gdi-object-l1-1-0.dll
Hint/Name Table: 0003b030
Address Table: 00046178
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970)
Thunk Ordn Name
00046178 0 DeleteObject
grAttrs 00000001 offset 00039e78 ext-ms-win-rtcore-ntuser-cursor-l1-1-0.dll
Hint/Name Table: 0003b040
Address Table: 00046188
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970)
Thunk Ordn Name
00046188 6 LoadCursorW
--- snip ---
--- snip ---
$ winedump -j import tedutil.dll | sed -n '/ext-ms-win/,/^$/p' | sed -n
's/.*[[:xdigit:]]\+[[:blank:]]\+[[:digit:]]\+[[:blank:]]\+\(.*\)/\1/p' | xargs
-n1 -I '{}' grep '.*[[:blank:]]{}'
/home/focht/projects/wine/mainline-src/dlls/ext-ms-*/*.spec | egrep
"(GetWindowLongPtrW|UnregisterClassA|SetWindowLongPtrW|RegisterClassExW|GetClassInfoExW)"
/home/focht/projects/wine/mainline-src/dlls/ext-ms-win-ntuser-windowclass-l1-1-0/ext-ms-win-ntuser-windowclass-l1-1-0.spec:@
stdcall UnregisterClassA(str long) user32.UnregisterClassA
/home/focht/projects/wine/mainline-src/dlls/ext-ms-win-ntuser-windowclass-l1-1-1/ext-ms-win-ntuser-windowclass-l1-1-1.spec:@
stdcall UnregisterClassA(str long) user32.UnregisterClassA
/home/focht/projects/wine/mainline-src/dlls/ext-ms-win-ntuser-windowclass-l1-1-0/ext-ms-win-ntuser-windowclass-l1-1-0.spec:@
stdcall RegisterClassExW(ptr) user32.RegisterClassExW
/home/focht/projects/wine/mainline-src/dlls/ext-ms-win-ntuser-windowclass-l1-1-1/ext-ms-win-ntuser-windowclass-l1-1-1.spec:@
stdcall RegisterClassExW(ptr) user32.RegisterClassExW
/home/focht/projects/wine/mainline-src/dlls/ext-ms-win-ntuser-windowclass-l1-1-0/ext-ms-win-ntuser-windowclass-l1-1-0.spec:@
stdcall GetClassInfoExW(long wstr ptr) user32.GetClassInfoExW
/home/focht/projects/wine/mainline-src/dlls/ext-ms-win-ntuser-windowclass-l1-1-1/ext-ms-win-ntuser-windowclass-l1-1-1.spec:@
stdcall GetClassInfoExW(long wstr ptr) user32.GetClassInfoExW
--- snip ---
Apparently 'GetWindowLongPtrW' and 'SetWindowLongPtrW' forwards are somehow
missing.
Sadly there is no tracebility how the API set stub dll was actually generated
(which exact WinSDK/Windows build).
https://source.winehq.org/git/wine.git/commitdiff/eb0b06b9cfdf28914100b468b68f7b30dadfa631
https://www.nirsoft.net/dll_information/windows8/ext-ms-win-ntuser-windowclass-l1-1-0_dll.html
https://www.geoffchappell.com/studies/windows/win32/apisetschema/history/sets62.htm
-> "discontinued in 10.0"
Stable link from Internet Archive in case MS takes old stuff offline:
https://web.archive.org/web/20190317015617/https://software-download.microsoft.com/download/pr/17763.1.180914-1434.rs5_release_WindowsSDK.iso
$ sha1sum 17763.1.180914-1434.rs5_release_WindowsSDK.iso
e702b5e5f2597d01eaee1eb1be7a34b0da0b6211
17763.1.180914-1434.rs5_release_WindowsSDK.iso
$ du -sh 17763.1.180914-1434.rs5_release_WindowsSDK.iso
815M 17763.1.180914-1434.rs5_release_WindowsSDK.iso
$ wine --version
wine-4.9-46-g3139727a97
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