Hello, just tried to reproduce the issue and was able to in a buster i386 VM.
Unfortunately winedbg does not take advantage of the automatic dbgsym pages. Therefore running from a local package build directory gives this stack: Backtrace: =>0 0x7ea989c5 USER_SetWindowPos+0x25() [./dlls/user32/winpos.c:2220] in user32 (0x0060dac8) 1 0x7ea5cd7f handle_internal_message+0x1de(hwnd=0x10070, msg=<is not available>, wparam=0xc00) [./dlls/user32/message.c:1861] in user32 (0x0060db18) 2 0x7ea61998 peek_message+0x1987(msg=<is not available>, hwnd=(nil), first=<is not available>, last=<is not available>, flags=0x1, changed_mask=<is not available>) [./dlls/user32/message.c:2920] in user32 (0x0060de38) 3 0x7ea66cef PeekMessageW+0x79(msg_out=<couldn't compute location>, hwnd=<couldn't compute location>, first=<couldn't compute location>, last=<couldn't compute location>, flags=<couldn't compute location>) [./dlls/user32/message.c:3768] in user32 (0x0060dea8) 4 0x66b887bf in qt5core (+0x2487be) (0x0060fbb8) 5 0x025a9347 in qwindows (+0x79346) (0x0060fbf8) 6 0x66b27980 in qt5core (+0x1e797f) (0x0060fca8) 7 0x66b31bd9 in qt5core (+0x1f1bd8) (0x0060fd28) 8 0x0040189b in digitalclock (+0x189a) (0x0011c2d8) Starting with some more verbosity leads to some PostMessageW call that puts this message in some message queue: $ WINEDEBUG=+win,+msg wine digitalclock.exe ... 003c:trace:msg:PostMessageW hwnd 0x2007e msg 80000001 (WM_WINE_SETWINDOWPOS) wp c00 lp 0 ... 003c:trace:msg:peek_message got type 6 msg 80000001 (WM_WINE_SETWINDOWPOS) hwnd 0x2007e wp c00 lp 0 wine: Unhandled page fault on read access to 0x00000018 at address 0x7ea989c5 (thread 003c), starting debugger... Another run in winedbg gives following stack where the message is entered into the message queue: $ wine winedbg digitalclock.exe ... Wine-dbg>b PostMessageW Wine-dbg>cont Wine-dbg>cont Wine-dbg>cont ... Wine-dbg>bt Backtrace: =>0 0x7ea65cb0 PostMessageW(hwnd=0x40088, msg=0x80000001, wparam=0xc00, lparam=0) [./dlls/user32/message.c:3643] in user32 (0x0060f568) 1 0x7db6427e TABLET_PostTabletMessage+0x4d() in wintab32 (0x0060f598) 2 0x7db64e23 WTOpenW+0x4f2(hWnd=<couldn't compute location>, lpLogCtx=<couldn't compute location>, fEnable=<couldn't compute location>) [./dlls/wintab32/context.c:487] in wintab32 (0x0060f758) 3 0x02596789 in qwindows (+0x66788) (0x00040088) See below for the relevant source. I think following might happen: - Qt executes following to get a copy of the default context. WTInfoW -> WTInfoT -> LoadTablet -> LoadTabletInfo==X11DRV_LoadTabletInfo. In X11DRV_LoadTabletInfo the default context gets WT_DEFBASE(0x7FF0) assigned to member lcMsgBase in line 522. Some lines later is decided whether the device is usable by wintab32.dll and if yes add_system_cursor is called that increments gNumCursors. In every case X11DRV_LoadTabletInfo returns TRUE here. Therefore we continue here: WTInfoW -> WTInfoT -> pWTInfoW==X11DRV_WTInfoW As gNumCursors is 0 we do in line 1134 "if (0 == gNumCursors)" copy nothing and return 0 bytes copied. Unfortunately Qt does not check the return value of the WTInfoT call. - Qt continues now to call wTOpen==WTOpenW assuming that we received a copy of the default context which we have not. Near the end WTOpenW wants to post a message: _WT_CTXOVERLAP(newcontext->context.lcMsgBase) Unfortunately lcMsgBase was not properly initialized and contains some "random" data. In our case it is quite reproducible as the resulting message is always WM_WINE_SETWINDOWPOS instead of WT_DEFBASE+4. - Later USER_SetWindowPos expects the parameter lparam to contain a pointer to a WINDOWPOS struct. But the lparam is filled also from the context's lcStatus and contains also some "random" data and the process crashes. I assume this worked before just because this resulting "random" window message was just not used and therefore ignored. I tried 3.12-2 from snapshot.debian.org and that did not crash. When trying to run with e.g. WINEDEBUG=+win,+msg,+wintab32 the crash does also not happen. Attached are some more information on my debugging and a patch that would return FALSE from X11DRV_LoadTabletInfo in case no usable device was found. Kind regards, Bernhard In Qt we might be in that location: http://code.qt.io/cgit/qt/qtbase.git/tree/src/plugins/platforms/windows/qwindowstabletsupport.cpp 230 QWindowsTabletSupport *QWindowsTabletSupport::create() 231 { 232 if (!m_winTab32DLL.init()) 233 return 0; 234 const HWND window = QWindowsContext::instance()->createDummyWindow(QStringLiteral("TabletDummyWindow"), 235 L"TabletDummyWindow", 236 qWindowsTabletSupportWndProc); 237 if (!window) { 238 qCWarning(lcQpaTablet) << __FUNCTION__ << "Unable to create window for tablet."; 239 return 0; 240 } 241 LOGCONTEXT lcMine; 242 // build our context from the default context 243 QWindowsTabletSupport::m_winTab32DLL.wTInfo(WTI_DEFSYSCTX, 0, &lcMine); <-- return value is not checked ... 244 qCDebug(lcQpaTablet) << "Default: " << lcMine; 245 // Go for the raw coordinates, the tablet event will return good stuff 246 lcMine.lcOptions |= CXO_MESSAGES | CXO_CSRMESSAGES; 247 lcMine.lcPktData = lcMine.lcMoveMask = PACKETDATA; 248 lcMine.lcPktMode = PacketMode; 249 lcMine.lcOutOrgX = 0; 250 lcMine.lcOutExtX = lcMine.lcInExtX; 251 lcMine.lcOutOrgY = 0; 252 lcMine.lcOutExtY = -lcMine.lcInExtY; 253 qCDebug(lcQpaTablet) << "Requesting: " << lcMine; 254 const HCTX context = QWindowsTabletSupport::m_winTab32DLL.wTOpen(window, &lcMine, true); <-- ... and still context is used here. 255 if (!context) {
Description: Avoid crash by returning false from LoadTabletInfo if no usable device is found. Bug-Debian: https://bugs.debian.org/905090 Forwarded: no Last-Update: 2018-08-11 --- wine-development-3.13.orig/dlls/winex11.drv/wintab.c +++ wine-development-3.13/dlls/winex11.drv/wintab.c @@ -769,6 +769,12 @@ BOOL CDECL X11DRV_LoadTabletInfo(HWND hw WARN("Did not find a valid stylus, unable to determine system context parameters. Wintab is disabled.\n"); } + if (0 == gNumCursors) + { + WARN("No usable touch screen device found.\n"); + return FALSE; + } + return TRUE; }
apt update apt install xserver-xorg lightdm openbox pulseaudio xterm psmisc htop mc tmux dpkg-dev devscripts quilt strace gdb valgrind systemd-coredump apt install libz-mingw-w64 apt install wine-development wine32-development-dbgsym libwine-development-dbgsym wget http://snapshot.debian.org/archive/debian/20170829T174458Z/pool/main/u/unicode-data/unicode-data_10.0.0-3_all.deb dpkg -i unicode-data_10.0.0-3_all.deb apt build-dep wine-development (mkdir wine/orig; cd wine/orig; apt source wine32-development-dbgsym) export DISPLAY=:0 wine winecfg wget http://www.dependencywalker.com/depends22_x86.zip wget https://osdn.net/projects/csp-qt/downloads/69866/Qt-5.11.1.Win32.homebrew.MinGW-w64.gcc8.2.i686.tar.xz/ -O Qt-5.11.1.Win32.homebrew.MinGW-w64.gcc8.2.i686.tar.xz cd .wine/drive_c/ cp /usr/i686-w64-mingw32/lib/zlib1.dll . -a unzip ../../depends22_x86.zip -d depends22_x86 tar -axf /home/benutzer/Qt-5.11.1.Win32.homebrew.MinGW-w64.gcc8.2.i686.tar.xz mkdir test cd test cp -a ../Qt-5.11.1.Win32.homebrew.MinGW-w64.gcc8.2.i686/usr.local/i586-mingw-msvc/5.11.1/mingw_82x/examples/widgets/widgets/digitalclock/digitalclock.exe . cp -a ../Qt-5.11.1.Win32.homebrew.MinGW-w64.gcc8.2.i686/usr.local/i586-mingw-msvc/gcc-8.2/i686-w64-mingw32/8.2-win32/libstdc++-6.dll . cp -a ../Qt-5.11.1.Win32.homebrew.MinGW-w64.gcc8.2.i686/usr.local/i586-mingw-msvc/gcc-8.2/i686-w64-mingw32/8.2-win32/libgcc_s_sjlj-1.dll . cp -a ../Qt-5.11.1.Win32.homebrew.MinGW-w64.gcc8.2.i686/usr.local/i586-mingw-msvc/5.11.1/mingw_82x/bin/Qt5Core.dll . cp -a ../Qt-5.11.1.Win32.homebrew.MinGW-w64.gcc8.2.i686/usr.local/i586-mingw-msvc/5.11.1/mingw_82x/bin/Qt5Gui.dll . cp -a ../Qt-5.11.1.Win32.homebrew.MinGW-w64.gcc8.2.i686/usr.local/i586-mingw-msvc/5.11.1/mingw_82x/bin/Qt5Widgets.dll . cp -a ../Qt-5.11.1.Win32.homebrew.MinGW-w64.gcc8.2.i686/usr.local/i586-mingw-msvc/icu/lib/icuin57.dll . cp -a ../Qt-5.11.1.Win32.homebrew.MinGW-w64.gcc8.2.i686/usr.local/i586-mingw-msvc/icu/lib/icuuc57.dll . cp -a ../Qt-5.11.1.Win32.homebrew.MinGW-w64.gcc8.2.i686/usr.local/i586-mingw-msvc/icu/lib/icudt57.dll . cp -a ../Qt-5.11.1.Win32.homebrew.MinGW-w64.gcc8.2.i686/usr.local/i586-mingw-msvc/pcre2-10.30/bin/libpcre2-16-0.dll . cp -a /usr/i686-w64-mingw32/lib/zlib1.dll . cp -a ../Qt-5.11.1.Win32.homebrew.MinGW-w64.gcc8.2.i686/usr.local/i586-mingw-msvc/5.11.1/mingw_82x/plugins/platforms . cp -a ../Qt-5.11.1.Win32.homebrew.MinGW-w64.gcc8.2.i686/usr.local/i586-mingw-msvc/5.11.1/mingw_82x/plugins/styles . # wine c:\\depends22_x86\\depends.exe digitalclock.exe # wine digitalclock.exe winedbg digitalclock.exe #winedbg # Wine-dbg>info proc # pid threads executable (all id:s are in hex) # ... # 00000008 2 'digitalclock.exe' #winedbg --gdb 8 ## attach with --gdb does not work gdb -q --pid $(pgrep digitalclock) wine --version wine-3.11 (Debian 3.11-1) Sources changed to unstable: deb http://192.168.178.25:9999/debian-unstable-ftp.de.debian.org/ unstable main deb-src http://192.168.178.25:9999/debian-unstable-ftp.de.debian.org/ unstable main deb http://192.168.178.25:9999/debian-buster-debug.mirrors.debian.org/ unstable-debug main apt install wine-development wine32-development-dbgsym libwine-development-dbgsym wine --version wine-3.13 (Debian 3.13-3) ######################## $ wine digitalclock.exe wine: Unhandled page fault on read access to 0x00000018 at address 0x7fa789c5 (thread 0009), starting debugger... Unhandled exception: page fault on read access to 0x00000018 in 32-bit code (0x7fa789c5). Register dump: CS:0073 SS:007b DS:007b ES:007b FS:003b GS:0033 EIP:7fa789c5 ESP:0060d9c0 EBP:0060dac8 EFLAGS:00010246( R- -- I Z- -P- ) EAX:00000000 EBX:7fabcf40 ECX:00000000 EDX:0001004c ESI:00000000 EDI:00000c00 Stack dump: 0x0060d9c0: 00000005 0060dc14 00000040 b7d64237 0x0060d9d0: 00000000 00000000 b7bff439 3fff8000 0x0060d9e0: 7bce3cbc 0060dc14 7bc8019f 7bce3cbc 0x0060d9f0: 0060dc14 0060da7c 0060da58 7bc814f3 0x0060da00: 00000000 694c0000 0078756e 00000000 0x0060da10: 00000000 00000000 00000000 00000000 Backtrace: =>0 0x7fa789c5 in user32 (+0x989c5) (0x0060dac8) 1 0x7fa3cd7f in user32 (+0x5cd7e) (0x0060db18) 2 0x7fa41998 in user32 (+0x61997) (0x0060de38) 3 0x7fa46cef in user32 (+0x66cee) (0x0060dea8) 4 0x66b887bf in qt5core (+0x2487be) (0x0060fbb8) 5 0x025a9347 in qwindows (+0x79346) (0x0060fbf8) 6 0x66b27980 in qt5core (+0x1e797f) (0x0060fca8) 7 0x66b31bd9 in qt5core (+0x1f1bd8) (0x0060fd28) 8 0x0040189b in digitalclock (+0x189a) (0x0011c508) 9 0x0011c508 (0x0011c508) 10 0x0011c508 (0x0011c508) ... 200 0x0011c508 (0x0011c508) 0x7fa789c5: movl 0x18(%esi),%eax Modules: Module Address Debug info Name (37 modules) PE 400000- 40b000 Export digitalclock PE 610000- 1ea6000 Deferred icudt57 PE 1eb0000- 241d000 Deferred qt5gui PE 2530000- 26c9000 Export qwindows PE 63080000-630a3000 Deferred zlib1 PE 66400000-66925000 Deferred qt5widgets PE 66940000-66e2a000 Export qt5core PE 67c80000-67d0d000 Deferred libpcre2-16-0 PE 6d0c0000-6d1e8000 Deferred libgcc_s_sjlj-1 PE 6de40000-6e0c2000 Deferred icuin57 PE 6fe40000-70b17000 Deferred libstdc++-6 PE 70ec0000-70ef3000 Deferred qwindowsvistastyle PE 71480000-7161d000 Deferred icuuc57 PE 7b420000-7b5c6000 Deferred kernel32 PE 7bc10000-7bc14000 Deferred ntdll PE 7eae0000-7eae3000 Deferred wintab32 PE 7ed60000-7ed64000 Deferred winex11 PE 7ee00000-7ee08000 Deferred oleaut32 PE 7ef20000-7ef24000 Deferred imm32 PE 7f130000-7f134000 Deferred uxtheme PE 7f170000-7f174000 Deferred dwmapi PE 7f180000-7f189000 Deferred msacm32 PE 7f1b0000-7f228000 Deferred winmm PE 7f270000-7f273000 Deferred userenv PE 7f290000-7f298000 Deferred shlwapi PE 7f310000-7f4d9000 Deferred shell32 PE 7f5d0000-7f5f8000 Deferred ole32 PE 7f720000-7f724000 Deferred ws2_32 PE 7f780000-7f784000 Deferred iphlpapi PE 7f7b0000-7f7b4000 Deferred rpcrt4 PE 7f830000-7f833000 Deferred netapi32 PE 7f860000-7f86a000 Deferred mpr PE 7f880000-7f884000 Deferred version PE 7f8b0000-7f8b7000 Deferred gdi32 PE 7f9e0000-7fac7000 Export user32 PE 7fbf0000-7fbf4000 Deferred msvcrt PE 7fca0000-7fca4000 Deferred advapi32 Threads: process tid prio (all id:s are in hex) 00000008 (D) C:\test\digitalclock.exe 0000002e 0 00000009 0 <== 0000000e services.exe 00000026 0 00000020 0 0000001a 0 00000017 0 00000016 0 00000015 0 00000010 0 0000000f 0 00000011 winedevice.exe 0000001d 0 0000001c 0 0000001b 0 00000019 0 00000018 0 00000012 0 00000013 explorer.exe 00000029 0 00000027 0 00000025 0 00000014 0 0000001e plugplay.exe 00000022 0 00000021 0 0000001f 0 00000023 winedevice.exe 0000002d 0 0000002c 0 0000002b 0 0000002a 0 00000028 0 00000024 0 System information: Wine build: wine-3.13 (Debian 3.13-3) Platform: i386 Version: Windows 7 Host system: Linux Host version: 4.17.0-1-686-pae . ######################## set height 0 set width 0 set pagination 0 directory /home/benutzer/wine/orig/wine-development-3.13/dlls/user32 $ gdb -q --pid $(pgrep digitalclock) Attaching to process 4616 [New LWP 4656] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1". 0xb7f13d39 in __kernel_vsyscall () (gdb) set height 0 (gdb) set width 0 (gdb) set pagination 0 (gdb) bt #0 0xb7f13d39 in __kernel_vsyscall () #1 0xb7d38347 in __libc_read (fd=7, buf=0x3fffb0fc, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:27 #2 0x7bc80277 in wait_select_reply (cookie=0x3fffb168) at ../../include/winnt.h:2463 #3 0x7bc81883 in server_select (select_op=0x0, size=0, flags=2, timeout=0x3fffb298) at server.c:618 #4 0x7bc460a3 in wait_suspend (context=0x3fffb990) at exception.c:127 #5 0x7bc8326f in usr1_handler (signal=10, siginfo=0x3fffbc8c, sigcontext=0x3fffbd0c) at signal_i386.c:2214 #6 <signal handler called> #7 0xb7f13d37 in __kernel_vsyscall () #8 0xb7d38347 in __libc_read (fd=7, buf=0x60cdcc, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:27 #9 0x7bc80277 in wait_select_reply (cookie=0x60ce38) at ../../include/winnt.h:2463 #10 0x7bc81883 in server_select (select_op=0x60cf48, size=12, flags=2, timeout=0x0) at server.c:618 #11 0x7bc88a65 in wait_objects (count=<optimized out>, handles=<optimized out>, wait_any=<optimized out>, alertable=0 '\000', timeout=0x0) at sync.c:1031 #12 0x7bc8af7f in NtWaitForMultipleObjects (count=2, handles=0x60d0ec, wait_any=1 '\001', alertable=0 '\000', timeout=0x0) at sync.c:1042 #13 0x7b47755a in WaitForMultipleObjectsEx (count=2, handles=0x60d374, wait_all=0, timeout=4294967295, alertable=0) at sync.c:121 #14 0x7b4776e3 in WaitForMultipleObjectsEx (count=2, handles=0x60d374, wait_all=0, timeout=4294967295, alertable=0) at sync.c:213 #15 0x7b4777d3 in WaitForMultipleObjects (count=2, handles=0x60d374, wait_all=0, timeout=4294967295) at sync.c:180 #16 0x7b43e81b in start_debugger (epointers=0x60d524, hEvent=0xb0) at except.c:319 #17 0x7b43ed35 in UnhandledExceptionFilter (epointers=<optimized out>) at except.c:362 #18 0x7b489cc6 in __wine_exception_handler (record=0x60d968, frame=0x60ff08, context=0x60d69c, pdispatcher=0x60d5e8) at exception.c:90 #19 0x7bc82ce9 in call_exception_handler () from /usr/lib/wine-development/../i386-linux-gnu/wine-development/ntdll.dll.so #20 0x7bc82cbb in EXC_CallHandler () from /usr/lib/wine-development/../i386-linux-gnu/wine-development/ntdll.dll.so #21 0x7bc855b3 in NtRaiseException (rec=<optimized out>, context=<optimized out>, first_chance=<optimized out>) at signal_i386.c:640 #22 0x7bc85a06 in raise_segv_exception (rec=<optimized out>, context=<optimized out>) at signal_i386.c:1936 #23 0xdeadbabe in ?? () #24 0x0060d968 in ?? () #25 0x7fa3cd7f in handle_internal_message (hwnd=0x0, msg=<optimized out>, wparam=3072, lparam=0) at message.c:1861 #26 0x7fa41998 in peek_message (msg=<optimized out>, hwnd=0x0, first=<optimized out>, last=<optimized out>, flags=1, changed_mask=<optimized out>) at message.c:2920 #27 0x7fa46cef in PeekMessageW (msg_out=<optimized out>, hwnd=<optimized out>, first=<optimized out>, last=<optimized out>, flags=<optimized out>) at message.c:3768 #28 0x66b887bf in ?? () #29 0x025a9347 in ?? () #30 0x66b27980 in ?? () #31 0x66b31bd9 in ?? () #32 0x0040189b in ?? () Backtrace stopped: previous frame inner to this frame (corrupt stack?) (gdb) disassemble handle_internal_message Dump of assembler code for function handle_internal_message: 0x7fa3cba0 <+0>: push %ebp ... 0x7fa3cd5d <+445>: call 0x7f9e9150 <wine_dbg_log@plt> 0x7fa3cd62 <+450>: add $0x20,%esp 0x7fa3cd65 <+453>: xor %eax,%eax 0x7fa3cd67 <+455>: jmp 0x7fa3cbf8 <handle_internal_message+88> 0x7fa3cd6c <+460>: lea 0x0(%esi,%eiz,1),%esi 0x7fa3cd70 <+464>: sub $0x4,%esp 0x7fa3cd73 <+467>: push $0x0 0x7fa3cd75 <+469>: push $0x0 0x7fa3cd77 <+471>: pushl 0x8(%ebp) 0x7fa3cd7a <+474>: call 0x7fa789a0 <USER_SetWindowPos> <- Frame #1 called here. 0x7fa3cd7f <+479>: add $0x10,%esp .... End of assembler dump. (gdb) (gdb) disassemble USER_SetWindowPos Dump of assembler code for function USER_SetWindowPos: 0x7fa789a0 <+0>: push %ebp 0x7fa789a1 <+1>: mov %esp,%ebp 0x7fa789a3 <+3>: push %edi 0x7fa789a4 <+4>: push %esi 0x7fa789a5 <+5>: push %ebx 0x7fa789a6 <+6>: call 0x7f9e92e0 <__x86.get_pc_thunk.bx> 0x7fa789ab <+11>: add $0x44595,%ebx 0x7fa789b1 <+17>: sub $0xfc,%esp 0x7fa789b7 <+23>: mov 0x8(%ebp),%esi 0x7fa789ba <+26>: mov %gs:0x14,%eax 0x7fa789c0 <+32>: mov %eax,-0x1c(%ebp) 0x7fa789c3 <+35>: xor %eax,%eax 0x7fa789c5 <+37>: mov 0x18(%esi),%eax <- This instruction is failing. 0x7fa789c8 <+40>: mov (%esi),%edx 0x7fa789ca <+42>: mov %eax,-0xdc(%ebp) 0x7fa789d0 <+48>: test $0x4,%al 0x7fa789d2 <+50>: jne 0x7fa78a40 <USER_SetWindowPos+160> ... End of assembler dump. (gdb) (gdb) disassemble /m 0x7fa789a0,0x7fa789d2 Dump of assembler code from 0x7fa789a0 to 0x7fa789d2: 2216 { 0x7fa789a0 <USER_SetWindowPos+0>: push %ebp 0x7fa789a1 <USER_SetWindowPos+1>: mov %esp,%ebp 0x7fa789a3 <USER_SetWindowPos+3>: push %edi 0x7fa789a4 <USER_SetWindowPos+4>: push %esi 0x7fa789a5 <USER_SetWindowPos+5>: push %ebx 0x7fa789a6 <USER_SetWindowPos+6>: call 0x7f9e92e0 <__x86.get_pc_thunk.bx> 0x7fa789ab <USER_SetWindowPos+11>: add $0x44595,%ebx 0x7fa789b1 <USER_SetWindowPos+17>: sub $0xfc,%esp 0x7fa789b7 <USER_SetWindowPos+23>: mov 0x8(%ebp),%esi 0x7fa789ba <USER_SetWindowPos+26>: mov %gs:0x14,%eax 0x7fa789c0 <USER_SetWindowPos+32>: mov %eax,-0x1c(%ebp) 0x7fa789c3 <USER_SetWindowPos+35>: xor %eax,%eax 2217 RECT old_window_rect, old_client_rect, new_window_rect, new_client_rect, valid_rects[2]; 2218 UINT orig_flags; 2219 2220 orig_flags = winpos->flags; 0x7fa789c5 <USER_SetWindowPos+37>: mov 0x18(%esi),%eax 0x7fa789c8 <USER_SetWindowPos+40>: mov (%esi),%edx 0x7fa789ca <USER_SetWindowPos+42>: mov %eax,-0xdc(%ebp) 2221 2222 /* First, check z-order arguments. */ 2223 if (!(winpos->flags & SWP_NOZORDER)) 0x7fa789d0 <USER_SetWindowPos+48>: test $0x4,%al 0x7fa789d2 <USER_SetWindowPos+50>: jne 0x7fa78a40 <USER_SetWindowPos+160> End of assembler dump. (gdb) list winpos.c:2215,+50 2215 BOOL USER_SetWindowPos( WINDOWPOS * winpos, int parent_x, int parent_y ) 2216 { 2217 RECT old_window_rect, old_client_rect, new_window_rect, new_client_rect, valid_rects[2]; 2218 UINT orig_flags; 2219 2220 orig_flags = winpos->flags; 2221 2222 /* First, check z-order arguments. */ 2223 if (!(winpos->flags & SWP_NOZORDER)) 2224 { 2225 /* fix sign extension */ (gdb) up #1 0xb7d38347 in __libc_read (fd=7, buf=0x3fffb0fc, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:27 ... (gdb) up #25 0x7fa3cd7f in handle_internal_message (hwnd=0x0, msg=<optimized out>, wparam=3072, lparam=0) at message.c:1861 1861 return USER_SetWindowPos( (WINDOWPOS *)lparam, 0, 0 ); (gdb) print hwnd $1 = (HWND) 0x0 ######################## dpkg --purge libwine-development:i386 libwine-development-dbgsym:i386 wine-development wine32-development wine32-development-dbgsym apt install wine-development wine32-development-dbgsym libwine-development-dbgsym Back to 3.11-1 -> no crash, window shown normally ######################## dpkg --purge libwine-development:i386 libwine-development-dbgsym:i386 wine-development wine32-development wine32-development-dbgsym wget http://snapshot.debian.org/archive/debian/20180712T103326Z/pool/main/w/wine-development/wine32-development_3.12-2_i386.deb wget http://snapshot.debian.org/archive/debian/20180712T103326Z/pool/main/w/wine-development/libwine-development_3.12-2_i386.deb wget http://snapshot.debian.org/archive/debian/20180712T103326Z/pool/main/w/wine-development/wine-development_3.12-2_all.deb dpkg -i wine-development_3.12-2_all.deb wine32-development_3.12-2_i386.deb libwine-development_3.12-2_i386.deb 3.12-2 is also working ... time for git bisect ... ######################## not reproducible on amd64 desktop with self built 32bit wine 3.13 ... ######################## mkdir wine/orig -p cd wine/orig apt source wine-development directory /home/benutzer/wine/orig/wine-development-3.13/dlls/user32 ######################## export DISPLAY=:0 export WINEPREFIX=/home/benutzer/wineprefix-3.13-3 wine wineboot cd $WINEPREFIX/drive_c/ cp -a /home/benutzer/test . cd test wine notepad & WINEDEBUG=+win wine digitalclock.exe 2>&1 | tee -a ~/trace_$(date +%Y-%m-%d_%H-%M-%S).log (gdb) list 1853,1862 1853 static LRESULT handle_internal_message( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam ) 1854 { 1855 switch(msg) 1856 { ... 1859 case WM_WINE_SETWINDOWPOS: 1860 if (is_desktop_window( hwnd )) return 0; 1861 return USER_SetWindowPos( (WINDOWPOS *)lparam, 0, 0 ); 002f:trace:win:WIN_CreateWindowEx L"digitalclock" L"Qt5QWindowIcon" ex=00000000 style=86cf0000 433,331 158x87 parent=(nil) menu=(nil) inst=0x400000 params=(nil) 002f:trace:win:dump_window_styles style: WS_POPUP WS_CLIPSIBLINGS WS_CLIPCHILDREN WS_CAPTION WS_SYSMENU WS_THICKFRAME WS_MINIMIZEBOX WS_MAXIMIZEBOX 002f:trace:win:dump_window_styles exstyle: 002f:trace:win:GetWindowRect hwnd 0x1007c (0,0)-(0,0) 002f:trace:win:GetWindowRect hwnd 0x1007c (0,0)-(0,0) 002f:trace:win:WINPOS_GetMinMaxInfo 1032 776 / -4 -4 / 1036 780 / 112 27 002f:trace:win:GetWindowRect hwnd 0x1007c (433,331)-(591,418) 002f:trace:win:invalidate_dce 0x1007c parent 0x10020 (433,331)-(591,418) ((0,0)-(0,0)) 002f:trace:win:invalidate_dce 0x3c0041: hwnd 0x10020 dcx 00000013 Cache 002f:trace:win:invalidate_dce 0x1c0039: hwnd 0x10020 dcx 00000013 Cache InUse 002f:trace:win:set_window_pos win 0x1007c surface (nil) -> (nil) 002f:trace:win:WIN_CreateWindowEx hwnd 0x1007c cs 433,331 158x87 002f:trace:win:WIN_CreateWindowEx register IME window for 0x1007c 002f:trace:win:GetWindowRect hwnd 0x1007c (433,331)-(591,418) 002f:trace:win:invalidate_dce 0x1007c parent 0x10020 (433,331)-(591,418) ((433,331)-(591,418)) 002f:trace:win:invalidate_dce 0x3c0041: hwnd 0x10020 dcx 00000013 Cache 002f:trace:win:invalidate_dce 0x1c0039: hwnd 0x10020 dcx 00000013 Cache InUse 002f:trace:win:set_window_pos win 0x1007c surface (nil) -> (nil) 002f:trace:win:WIN_CreateWindowEx created window 0x1007c 002f:trace:win:SetWindowPos hwnd 0x1007c, after (nil), 0,0 (0x0), flags 00001837 002f:trace:win:dump_winpos_flags flags: SWP_NOSIZE SWP_NOMOVE SWP_NOZORDER SWP_NOACTIVATE SWP_FRAMECHANGED SWP_NOCLIENTSIZE SWP_NOCLIENTMOVE 002f:trace:win:SWP_DoWinPosChanging hwnd 0x1007c, after (nil), swp 0,0 0x0 flags 00001837 002f:trace:win:SWP_DoWinPosChanging current (433,331)-(591,418) style 86cf0000 new (433,331)-(591,418) 002f:trace:win:GetWindowPlacement 0x1007c: returning min -1,-1 max -1,-1 normal (433,331)-(591,418) 002f:trace:win:SWP_DoNCCalcSize hwnd 0x1007c old win (433,331)-(591,418) old client (437,354)-(587,414) new win (433,331)-(591,418) new client (437,354)-(587,414) 002f:trace:win:GetWindowRect hwnd 0x1007c (433,331)-(591,418) 002f:trace:win:invalidate_dce 0x1007c parent 0x10020 (433,331)-(591,418) ((433,331)-(591,418)) 002f:trace:win:invalidate_dce 0x3c0041: hwnd 0x10020 dcx 00000013 Cache 002f:trace:win:invalidate_dce 0x1c0039: hwnd 0x10020 dcx 00000013 Cache InUse 002f:trace:win:set_window_pos win 0x1007c surface (nil) -> (nil) 002f:trace:win:USER_SetWindowPos status flags = 1827 002f:trace:win:show_window hwnd=0x1007c, cmd=1, wasVisible 0 002f:trace:win:SetWindowPos hwnd 0x1007c, after (nil), 0,0 (0x0), flags 00000043 002f:trace:win:dump_winpos_flags flags: SWP_NOSIZE SWP_NOMOVE SWP_SHOWWINDOW 002f:trace:win:SWP_DoWinPosChanging hwnd 0x1007c, after (nil), swp 0,0 0x0 flags 00001843 002f:trace:win:SWP_DoWinPosChanging current (433,331)-(591,418) style 86cf0000 new (433,331)-(591,418) 002f:trace:win:SWP_DoOwnedPopups (0x1007c) hInsertAfter = (nil) 002f:trace:win:GetWindowRect hwnd 0x1007c (433,331)-(591,418) 002f:trace:win:invalidate_dce 0x1007c parent 0x10020 (433,331)-(591,418) ((433,331)-(591,418)) 002f:trace:win:invalidate_dce 0x3c0041: hwnd 0x10020 dcx 00000013 Cache 002f:trace:win:invalidate_dce 0x1c0039: hwnd 0x10020 dcx 00000013 Cache InUse 002f:trace:win:set_window_pos win 0x1007c surface (nil) -> 0x12e898 002f:trace:win:SetForegroundWindow 0x1007c 002f:trace:win:GetDCEx hwnd 0x1007c, hrgnClip 0x12004a, flags 00010041 002f:trace:win:GetDCEx (0x1007c,0x12004a,0x10053): returning 0x6004f (updated) 002f:trace:win:release_dc 0x1007c 0x6004f 002f:trace:win:SetFocus 0x1007c prev (nil) 002f:trace:win:GetDCEx hwnd 0x1007c, hrgnClip 0x14004a, flags 00010041 002f:trace:win:GetDCEx found valid 0x6004f hwnd 0x1007c, flags 00000013 002f:trace:win:GetDCEx (0x1007c,0x14004a,0x10053): returning 0x6004f (updated) 002f:trace:win:release_dc 0x1007c 0x6004f 002f:trace:win:GetDCEx hwnd 0x1007c, hrgnClip 0x70054, flags 00010080 002f:trace:win:GetDCEx (0x1007c,0x70054,0x10098): returning 0x15004a (updated) 002f:trace:win:release_dc 0x1007c 0x15004a 002f:trace:win:USER_SetWindowPos status flags = 1847 wine: Unhandled page fault on read access to 0x00000018 at address 0x7fa789c5 (thread 002f), starting debugger... ############# dpkg --purge libwine-development:i386 libwine-development-dbgsym:i386 wine-development wine32-development wine32-development-dbgsym dpkg -i libwine-development_3.12-2_i386.deb wine32-development_3.12-2_i386.deb wine-development_3.12-2_all.deb export WINEPREFIX=/home/benutzer/wineprefix-3.12-2 wine wineboot cd $WINEPREFIX/drive_c/ cp -a /home/benutzer/test . cd test wine notepad & WINEDEBUG=+win wine digitalclock.exe 2>&1 | tee -a ~/trace_$(date +%Y-%m-%d_%H-%M-%S).log 002e:trace:win:WIN_CreateWindowEx L"digitalclock" L"Qt5QWindowIcon" ex=00000000 style=86cf0000 433,331 158x87 parent=(nil) menu=(nil) inst=0x400000 params=(nil) 002e:trace:win:dump_window_styles style: WS_POPUP WS_CLIPSIBLINGS WS_CLIPCHILDREN WS_CAPTION WS_SYSMENU WS_THICKFRAME WS_MINIMIZEBOX WS_MAXIMIZEBOX 002e:trace:win:dump_window_styles exstyle: 002e:trace:win:GetWindowRect hwnd 0x1007c (0,0)-(0,0) 002e:trace:win:MonitorFromWindow (0x1007c, 0x00000001) 002e:trace:win:GetWindowRect hwnd 0x1007c (0,0)-(0,0) 002e:trace:win:GetMonitorInfoW flags 0001, monitor (0,0)-(1024,768), work (0,0)-(1024,768) 002e:trace:win:MonitorFromRect (0,0)-(0,0) flags 1 returning 0x1 002e:trace:win:GetMonitorInfoW flags 0001, monitor (0,0)-(1024,768), work (0,0)-(1024,768) 002e:trace:win:WINPOS_GetMinMaxInfo 1032 776 / -4 -4 / 1036 780 / 112 27 002e:trace:win:GetWindowRect hwnd 0x1007c (433,331)-(591,418) 002e:trace:win:invalidate_dce 0x1007c parent 0x10020 (433,331)-(591,418) ((0,0)-(0,0)) 002e:trace:win:invalidate_dce 0x3c0041: hwnd 0x10020 dcx 00000013 Cache 002e:trace:win:invalidate_dce 0x1c0039: hwnd 0x10020 dcx 00000013 Cache InUse 002e:trace:win:set_window_pos win 0x1007c surface (nil) -> (nil) 002e:trace:win:WIN_CreateWindowEx hwnd 0x1007c cs 433,331 158x87 002e:trace:win:WIN_CreateWindowEx register IME window for 0x1007c 002e:trace:win:GetWindowRect hwnd 0x1007c (433,331)-(591,418) 002e:trace:win:invalidate_dce 0x1007c parent 0x10020 (433,331)-(591,418) ((433,331)-(591,418)) 002e:trace:win:invalidate_dce 0x3c0041: hwnd 0x10020 dcx 00000013 Cache 002e:trace:win:invalidate_dce 0x1c0039: hwnd 0x10020 dcx 00000013 Cache InUse 002e:trace:win:set_window_pos win 0x1007c surface (nil) -> (nil) 002e:trace:win:WIN_CreateWindowEx created window 0x1007c 002e:trace:win:SetWindowPos hwnd 0x1007c, after (nil), 0,0 (0x0), flags 00001837 002e:trace:win:dump_winpos_flags flags: SWP_NOSIZE SWP_NOMOVE SWP_NOZORDER SWP_NOACTIVATE SWP_FRAMECHANGED SWP_NOCLIENTSIZE SWP_NOCLIENTMOVE 002e:trace:win:SWP_DoWinPosChanging hwnd 0x1007c, after (nil), swp 0,0 0x0 flags 00001837 002e:trace:win:SWP_DoWinPosChanging current (433,331)-(591,418) style 86cf0000 new (433,331)-(591,418) 002e:trace:win:GetWindowPlacement 0x1007c: returning min -1,-1 max -1,-1 normal (433,331)-(591,418) 002e:trace:win:SWP_DoNCCalcSize hwnd 0x1007c old win (433,331)-(591,418) old client (437,354)-(587,414) new win (433,331)-(591,418) new client (437,354)-(587,414) 002e:trace:win:GetWindowRect hwnd 0x1007c (433,331)-(591,418) 002e:trace:win:invalidate_dce 0x1007c parent 0x10020 (433,331)-(591,418) ((433,331)-(591,418)) 002e:trace:win:invalidate_dce 0x3c0041: hwnd 0x10020 dcx 00000013 Cache 002e:trace:win:invalidate_dce 0x1c0039: hwnd 0x10020 dcx 00000013 Cache InUse 002e:trace:win:set_window_pos win 0x1007c surface (nil) -> (nil) 002e:trace:win:USER_SetWindowPos status flags = 1827 002e:trace:win:show_window hwnd=0x1007c, cmd=1, wasVisible 0 002e:trace:win:SetWindowPos hwnd 0x1007c, after (nil), 0,0 (0x0), flags 00000043 002e:trace:win:dump_winpos_flags flags: SWP_NOSIZE SWP_NOMOVE SWP_SHOWWINDOW 002e:trace:win:SWP_DoWinPosChanging hwnd 0x1007c, after (nil), swp 0,0 0x0 flags 00001843 002e:trace:win:SWP_DoWinPosChanging current (433,331)-(591,418) style 86cf0000 new (433,331)-(591,418) 002e:trace:win:SWP_DoOwnedPopups (0x1007c) hInsertAfter = (nil) 002e:trace:win:GetWindowRect hwnd 0x1007c (433,331)-(591,418) 002e:trace:win:invalidate_dce 0x1007c parent 0x10020 (433,331)-(591,418) ((433,331)-(591,418)) 002e:trace:win:invalidate_dce 0x3c0041: hwnd 0x10020 dcx 00000013 Cache 002e:trace:win:invalidate_dce 0x1c0039: hwnd 0x10020 dcx 00000013 Cache InUse 002e:trace:win:set_window_pos win 0x1007c surface (nil) -> 0x12e898 002e:trace:win:SetForegroundWindow 0x1007c 002e:trace:win:GetDCEx hwnd 0x1007c, hrgnClip 0x12004a, flags 00010041 002e:trace:win:GetDCEx (0x1007c,0x12004a,0x10053): returning 0x6004f (updated) 002e:trace:win:release_dc 0x1007c 0x6004f 002e:trace:win:SetFocus 0x1007c prev (nil) 002e:trace:win:GetWindowRect hwnd 0x1007c (433,331)-(591,418) 002e:trace:win:GetDCEx hwnd 0x1007c, hrgnClip 0x14004a, flags 00010041 002e:trace:win:GetDCEx found valid 0x6004f hwnd 0x1007c, flags 00000013 002e:trace:win:GetDCEx (0x1007c,0x14004a,0x10053): returning 0x6004f (updated) 002e:trace:win:release_dc 0x1007c 0x6004f 002e:trace:win:GetDCEx hwnd 0x1007c, hrgnClip 0x70054, flags 00010080 002e:trace:win:GetDCEx (0x1007c,0x70054,0x10098): returning 0x15004a (updated) 002e:trace:win:release_dc 0x1007c 0x15004a 002e:trace:win:USER_SetWindowPos status flags = 1847 002e:trace:win:alloc_winproc allocated 0xffff0015 for W 0x7edf0430 (22/4096 used) 002e:trace:win:GetDCEx hwnd 0x1007c, hrgnClip (nil), flags 00010000 002e:trace:win:GetDCEx found valid 0x15004a hwnd 0x1007c, flags 0000001a 002e:trace:win:GetDCEx (0x1007c,(nil),0x10018): returning 0x15004a (updated) 002e:trace:win:release_dc 0x1007c 0x15004a 002e:trace:win:GetDCEx hwnd 0x1007c, hrgnClip 0xb0054, flags 00010080 002e:trace:win:GetDCEx found valid 0x15004a hwnd 0x1007c, flags 0000001a 002e:trace:win:GetDCEx (0x1007c,0xb0054,0x10098): returning 0x15004a (updated) 002e:trace:win:BeginPaint hdc = 0x15004a box = ((0,0)-(150,60)), fErase = 1 002e:fixme:dwmapi:DwmIsCompositionEnabled 0x60dad0 002e:trace:win:GetDCEx hwnd 0x10020, hrgnClip (nil), flags 00000003 002e:trace:win:GetDCEx found valid 0x3c0041 hwnd 0x10020, flags 00000013 002e:trace:win:GetDCEx (0x10020,(nil),0x13): returning 0x3c0041 (updated) 002e:trace:win:release_dc (nil) 0x3c0041 002e:trace:win:GetDCEx hwnd 0x10020, hrgnClip (nil), flags 00000003 002e:trace:win:GetDCEx found valid 0x3c0041 hwnd 0x10020, flags 00000013 002e:trace:win:GetDCEx (0x10020,(nil),0x13): returning 0x3c0041 (updated) 002e:trace:win:release_dc (nil) 0x3c0041 002e:trace:win:GetDCEx hwnd 0x1007c, hrgnClip (nil), flags 00010000 002e:trace:win:GetDCEx (0x1007c,(nil),0x10018): returning 0x1005b (updated) 002e:trace:win:release_dc 0x1007c 0x1005b 002e:trace:win:release_dc 0x1007c 0x15004a 002e:trace:win:GetWindowRect hwnd 0x1007c (433,331)-(591,418) 002e:trace:win:SetForegroundWindow 0x1007c 002e:trace:win:GetDCEx hwnd 0x1007c, hrgnClip (nil), flags 00010000 002e:trace:win:GetDCEx found valid 0x1005b hwnd 0x1007c, flags 0000001a 002e:trace:win:GetDCEx (0x1007c,(nil),0x10018): returning 0x1005b 002e:trace:win:release_dc 0x1007c 0x1005b 002e:trace:win:GetDCEx hwnd 0x1007c, hrgnClip (nil), flags 00010000 002e:trace:win:GetDCEx found valid 0x1005b hwnd 0x1007c, flags 0000001a 002e:trace:win:GetDCEx (0x1007c,(nil),0x10018): returning 0x1005b 002e:trace:win:release_dc 0x1007c 0x1005b 002e:trace:win:GetDCEx hwnd 0x1007c, hrgnClip (nil), flags 00010000 002e:trace:win:GetDCEx found valid 0x1005b hwnd 0x1007c, flags 0000001a 002e:trace:win:GetDCEx (0x1007c,(nil),0x10018): returning 0x1005b 002e:trace:win:release_dc 0x1007c 0x1005b 002e:trace:win:GetDCEx hwnd 0x1007c, hrgnClip (nil), flags 00010000 002e:trace:win:GetDCEx found valid 0x1005b hwnd 0x1007c, flags 0000001a 002e:trace:win:GetDCEx (0x1007c,(nil),0x10018): returning 0x1005b 002e:trace:win:release_dc 0x1007c 0x1005b 002e:trace:win:GetDCEx hwnd 0x1007c, hrgnClip (nil), flags 00010000 002e:trace:win:GetDCEx found valid 0x1005b hwnd 0x1007c, flags 0000001a 002e:trace:win:GetDCEx (0x1007c,(nil),0x10018): returning 0x1005b 002e:trace:win:release_dc 0x1007c 0x1005b 002e:trace:win:GetDCEx hwnd 0x1007c, hrgnClip (nil), flags 00010000 002e:trace:win:GetDCEx found valid 0x1005b hwnd 0x1007c, flags 0000001a 002e:trace:win:GetDCEx (0x1007c,(nil),0x10018): returning 0x1005b 002e:trace:win:release_dc 0x1007c 0x1005b 002e:trace:win:GetWindowRect hwnd 0x1007c (433,331)-(591,418) 002e:trace:win:SetForegroundWindow 0x1007c 002e:trace:win:show_window hwnd=0x1007c, cmd=0, wasVisible 1 002e:trace:win:SetWindowPos hwnd 0x1007c, after (nil), 0,0 (0x0), flags 00000083 002e:trace:win:dump_winpos_flags flags: SWP_NOSIZE SWP_NOMOVE SWP_HIDEWINDOW 002e:trace:win:SWP_DoWinPosChanging hwnd 0x1007c, after (nil), swp 0,0 0x0 flags 00001883 002e:trace:win:SWP_DoWinPosChanging current (433,331)-(591,418) style 96cf0000 new (433,331)-(591,418) 002e:trace:win:SWP_DoOwnedPopups (0x1007c) hInsertAfter = (nil) 002e:trace:win:GetWindowRect hwnd 0x1007c (433,331)-(591,418) 002e:trace:win:invalidate_dce 0x1007c parent 0x10020 (433,331)-(591,418) ((433,331)-(591,418)) 002e:trace:win:invalidate_dce 0x1005b: hwnd 0x1007c dcx 0000001a Cache 002e:trace:win:make_dc_dirty purged 0x1005b hwnd 0x1007c 002e:trace:win:invalidate_dce 0x15004a: hwnd 0x1007c dcx 0000001a Cache 002e:trace:win:make_dc_dirty purged 0x15004a hwnd 0x1007c 002e:trace:win:invalidate_dce 0x6004f: hwnd 0x1007c dcx 00000013 Cache 002e:trace:win:make_dc_dirty purged 0x6004f hwnd 0x1007c 002e:trace:win:invalidate_dce 0x3c0041: hwnd 0x10020 dcx 00000013 Cache 002e:trace:win:invalidate_dce 0x1c0039: hwnd 0x10020 dcx 00000013 Cache InUse 002e:trace:win:set_window_pos win 0x1007c surface 0x12e898 -> 0x7fbae2a0 002e:trace:win:USER_SetWindowPos status flags = 1887 002e:trace:win:WINPOS_ShowIconTitle 0x1007c 0 002e:trace:win:WINPOS_ActivateOtherWindow win = 0x1004c fg = 0x1007c 002e:trace:win:SetForegroundWindow 0x1004c 002e:trace:win:DestroyWindow (0x1007c) 002e:trace:win:WIN_DestroyWindow 0x1007c 002e:trace:win:WIN_DestroyWindow unregister IME window for 0x1007c 002e:trace:win:DestroyWindow (0x10072) 002e:trace:win:WIN_DestroyWindow 0x10072 002e:trace:win:DestroyWindow (0x10074) 002e:trace:win:WIN_DestroyWindow 0x10074 002e:trace:win:DestroyWindow (0x10070) 002e:trace:win:WIN_DestroyWindow 0x10070 002e:trace:win:DestroyWindow (0x10066) 002e:trace:win:WIN_DestroyWindow 0x10066 ############ export OLDPATH=$PATH apt build-dep wine-development git describe --always --tag # wine-3.13 ./configure --with-gnutls --without-hal --without-netapi --disable-tests make -j8 export WINEPREFIX=/home/benutzer/wine-git-prefix-3.13 export PATH=/home/benutzer/wine-git-3.13:$OLDPATH wine --version # wine-3.13 wine wineboot cd $WINEPREFIX/drive_c/ cp -a /home/benutzer/test . cd test wine notepad & WINEDEBUG=+win wine digitalclock.exe 2>&1 | tee -a ~/trace_$(date +%Y-%m-%d_%H-%M-%S).log no crash ... ############ dpkg-buildpackage -b dpkg -i libwine-development_3.13-3_i386.deb wine32-development_3.13-3_i386.deb wine-development_3.13-3_all.deb export PATH=$OLDPATH wine --version # wine-3.13 (Debian 3.13-3) export WINEPREFIX=/home/benutzer/wineprefix-3.13-selfbuilt wine wineboot is crashing... ############ dpkg --purge libwine-development:i386 libwine-development-dbgsym:i386 wine-development wine32-development wine32-development-dbgsym export WINEPREFIX=/home/benutzer/wineprefix-3.13-selfbuilt export PATH=/home/benutzer/wine/try1/wine-development-3.13:$OLDPATH make Unhandled exception: page fault on read access to 0x00000018 in 32-bit code (0x7ea98b25). Register dump: CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b EIP:7ea98b25 ESP:0060d9c0 EBP:0060dac8 EFLAGS:00010246( R- -- I Z- -P- ) EAX:00000000 EBX:7eadcf40 ECX:00000001 EDX:0002007e ESI:00000000 EDI:00000c00 Stack dump: 0x0060d9c0: 00000005 0060dc14 00000040 b7df9237 0x0060d9d0: 00000000 00000000 00000000 7ffd8000 0x0060d9e0: 7bce5cbc 0060dc14 7bc824ff 7bce5cbc 0x0060d9f0: 0060dc14 0060da7c 0060da58 7bc83853 0x0060da00: 00000000 694c0000 0078756e 00000000 0x0060da10: 00000000 00000000 00000000 00000000 Backtrace: =>0 0x7ea98b25 USER_SetWindowPos+0x25() [./dlls/user32/winpos.c:2220] in user32 (0x0060dac8) 1 0x7ea5cd8f handle_internal_message+0x1ee(hwnd=0x2007e, msg=<is not available>, wparam=0xc00) [./dlls/user32/message.c:1864] in user32 (0x0060db18) 2 0x7ea619e0 peek_message+0x198f(msg=<is not available>, hwnd=(nil), first=<is not available>, last=<is not available>, flags=0x1, changed_mask=<is not available>) [./dlls/user32/message.c:2923] in user32 (0x0060de38) 3 0x7ea66dcf PeekMessageW+0x79(msg_out=<couldn't compute location>, hwnd=<couldn't compute location>, first=<couldn't compute location>, last=<couldn't compute location>, flags=<couldn't compute location>) [./dlls/user32/message.c:3771] in user32 (0x0060dea8) 4 0x66b887bf in qt5core (+0x2487be) (0x0060fbb8) 5 0x025a9347 in qwindows (+0x79346) (0x0060fbf8) 6 0x66b27980 in qt5core (+0x1e797f) (0x0060fca8) 7 0x66b31bd9 in qt5core (+0x1f1bd8) (0x0060fd28) 8 0x0040189b in digitalclock (+0x189a) (0x0011c330) 9 0x0011c330 (0x0011c330) 10 0x0011c330 (0x0011c330) ... 200 0x0011c330 (0x0011c330) 0x7ea98b25 USER_SetWindowPos+0x25 [./dlls/user32/winpos.c:2220] in user32: movl 0x18(%esi),%eax Unable to access file './dlls/user32/winpos.c' Modules: Module Address Debug info Name (94 modules) PE 400000- 40b000 Export digitalclock PE 610000- 1ea6000 Deferred icudt57 PE 1eb0000- 241d000 Deferred qt5gui PE 2530000- 26c9000 Export qwindows PE 63080000-630a3000 Deferred zlib1 PE 66400000-66925000 Deferred qt5widgets PE 66940000-66e2a000 Export qt5core PE 67c80000-67d0d000 Deferred libpcre2-16-0 PE 6d0c0000-6d1e8000 Deferred libgcc_s_sjlj-1 PE 6de40000-6e0c2000 Deferred icuin57 PE 6fe40000-70b17000 Deferred libstdc++-6 PE 70ec0000-70ef3000 Deferred qwindowsvistastyle PE 71480000-7161d000 Deferred icuuc57 ELF 7b400000-7b7ef000 Deferred kernel32<elf> \-PE 7b420000-7b7ef000 \ kernel32 ELF 7bc00000-7bd03000 Deferred ntdll<elf> \-PE 7bc10000-7bd03000 \ ntdll ELF 7c000000-7c005000 Deferred <wine-loader> ELF 7dafc000-7db1a000 Deferred wintab32<elf> \-PE 7db00000-7db1a000 \ wintab32 ELF 7db60000-7db67000 Deferred libxfixes.so.3 ELF 7db67000-7db73000 Deferred libxcursor.so.1 ELF 7db73000-7db86000 Deferred libxi.so.6 ELF 7db86000-7db8a000 Deferred libxcomposite.so.1 ELF 7db8a000-7db97000 Deferred libxrandr.so.2 ELF 7db97000-7dba3000 Deferred libxrender.so.1 ELF 7dba3000-7dbaa000 Deferred libxxf86vm.so.1 ELF 7dbaa000-7dbae000 Deferred libxinerama.so.1 ELF 7dbae000-7dbb8000 Deferred librt.so.1 ELF 7dbb8000-7dbd6000 Deferred libbsd.so.0 ELF 7dbd6000-7dbdd000 Deferred libxdmcp.so.6 ELF 7dbdd000-7dc0b000 Deferred libxcb.so.1 ELF 7dc0b000-7dd58000 Deferred libx11.so.6 ELF 7dd58000-7dd6d000 Deferred libxext.so.6 ELF 7dd6d000-7de00000 Deferred winex11<elf> \-PE 7dd80000-7de00000 \ winex11 ELF 7de00000-7df32000 Deferred oleaut32<elf> \-PE 7de20000-7df32000 \ oleaut32 ELF 7df32000-7df57000 Deferred imm32<elf> \-PE 7df40000-7df57000 \ imm32 ELF 7df57000-7df61000 Deferred libuuid.so.1 ELF 7df61000-7df93000 Deferred libexpat.so.1 ELF 7df93000-7dfdd000 Deferred libfontconfig.so.1 ELF 7dfdd000-7dffc000 Deferred libz.so.1 ELF 7dffc000-7e038000 Deferred libpng16.so.16 ELF 7e038000-7e0f6000 Deferred libfreetype.so.6 ELF 7e0f6000-7e11e000 Deferred libtinfo.so.6 ELF 7e11e000-7e14b000 Deferred libncurses.so.6 ELF 7e14b000-7e186000 Deferred uxtheme<elf> \-PE 7e150000-7e186000 \ uxtheme ELF 7e186000-7e19e000 Deferred dwmapi<elf> \-PE 7e190000-7e19e000 \ dwmapi ELF 7e19e000-7e1c9000 Deferred msacm32<elf> \-PE 7e1a0000-7e1c9000 \ msacm32 ELF 7e1c9000-7e284000 Deferred winmm<elf> \-PE 7e1d0000-7e284000 \ winmm ELF 7e284000-7e29d000 Deferred userenv<elf> \-PE 7e290000-7e29d000 \ userenv ELF 7e29d000-7e316000 Deferred shlwapi<elf> \-PE 7e2b0000-7e316000 \ shlwapi ELF 7e316000-7e5d3000 Deferred shell32<elf> \-PE 7e330000-7e5d3000 \ shell32 ELF 7e5d3000-7e730000 Deferred ole32<elf> \-PE 7e5f0000-7e730000 \ ole32 ELF 7e730000-7e76c000 Deferred ws2_32<elf> \-PE 7e740000-7e76c000 \ ws2_32 ELF 7e76c000-7e785000 Deferred libresolv.so.2 ELF 7e795000-7e7c1000 Deferred iphlpapi<elf> \-PE 7e7a0000-7e7c1000 \ iphlpapi ELF 7e7c1000-7e845000 Deferred rpcrt4<elf> \-PE 7e7d0000-7e845000 \ rpcrt4 ELF 7e845000-7e875000 Deferred netapi32<elf> \-PE 7e850000-7e875000 \ netapi32 ELF 7e875000-7e89e000 Deferred mpr<elf> \-PE 7e880000-7e89e000 \ mpr ELF 7e89e000-7e8b9000 Deferred version<elf> \-PE 7e8a0000-7e8b9000 \ version ELF 7e8b9000-7e9e9000 Deferred gdi32<elf> \-PE 7e8d0000-7e9e9000 \ gdi32 ELF 7e9e9000-7ebf2000 Dwarf user32<elf> \-PE 7ea00000-7ebf2000 \ user32 ELF 7ebf2000-7ecac000 Deferred msvcrt<elf> \-PE 7ec10000-7ecac000 \ msvcrt ELF 7ecac000-7ed28000 Deferred advapi32<elf> \-PE 7ecc0000-7ed28000 \ advapi32 ELF 7eee9000-7eefd000 Deferred libnss_files.so.2 ELF 7eefd000-7f000000 Deferred libm.so.6 ELF b7c01000-b7c06000 Deferred libxau.so.6 ELF b7c08000-b7c0e000 Deferred libdl.so.2 ELF b7c0e000-b7de8000 Deferred libc.so.6 ELF b7de8000-b7e08000 Deferred libpthread.so.0 ELF b7e18000-b7fcf000 Dwarf libwine.so.1 ELF b7fd1000-b7ffa000 Deferred ld-linux.so.2 ELF b7ffd000-b7ffe000 Deferred [vdso].so Threads: process tid prio (all id:s are in hex) 00000008 notepad.exe 00000009 0 0000000e services.exe 00000025 0 0000001f 0 00000015 0 00000010 0 0000000f 0 00000011 winedevice.exe 0000001c 0 00000019 0 00000018 0 00000012 0 00000013 explorer.exe 0000002b 0 0000002a 0 00000024 0 00000014 0 0000001d plugplay.exe 00000021 0 00000020 0 0000001e 0 00000022 winedevice.exe 0000002c 0 00000027 0 00000026 0 00000023 0 0000003a (D) C:\test\digitalclock.exe 0000003c 0 0000003b 0 <== System information: Wine build: wine-3.13 () Platform: i386 Version: Windows 7 Host system: Linux Host version: 4.17.0-1-686-pae . WINEDEBUG=+win wine winedbg digitalclock.exe dir /home/benutzer/wine/try1/wine-development-3.13 cont Unhandled exception: page fault on read access to 0x00000018 in 32-bit code (0x7ea98b25). Register dump: CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b EIP:7ea98b25 ESP:0060d9c0 EBP:0060dac8 EFLAGS:00010246( R- -- I Z- -P- ) EAX:00000000 EBX:7eadcf40 ECX:00000002 EDX:0003008a ESI:00000000 EDI:00000c00 Stack dump: 0x0060d9c0: 00000004 0060dc14 00000040 b7d06237 0x0060d9d0: 00000000 00000000 00000000 7ffd8000 0x0060d9e0: 7bce5cbc 0060dc14 7bc824ff 7bce5cbc 0x0060d9f0: 0060dc14 0060da7c 0060da58 7bc83853 0x0060da00: 00000000 694c0000 0078756e 00000000 0x0060da10: 00000000 00000000 00000000 00000000 Backtrace: =>0 0x7ea98b25 USER_SetWindowPos+0x25() [./dlls/user32/winpos.c:2220] in user32 (0x0060dac8) 1 0x7ea5cd8f handle_internal_message+0x1ee(hwnd=0x3008a, msg=<is not available>, wparam=0xc00) [./dlls/user32/message.c:1864] in user32 (0x0060db18) 2 0x7ea619e0 peek_message+0x198f(msg=<is not available>, hwnd=(nil), first=<is not available>, last=<is not available>, flags=0x1, changed_mask=<is not available>) [./dlls/user32/message.c:2923] in user32 (0x0060de38) 3 0x7ea66dcf PeekMessageW+0x79(msg_out=<couldn't compute location>, hwnd=<couldn't compute location>, first=<couldn't compute location>, last=<couldn't compute location>, flags=<couldn't compute location>) [./dlls/user32/message.c:3771] in user32 (0x0060dea8) 4 0x66b887bf in qt5core (+0x2487be) (0x0060fbb8) 5 0x025a9347 in qwindows (+0x79346) (0x0060fbf8) 6 0x66b27980 in qt5core (+0x1e797f) (0x0060fca8) 7 0x66b31bd9 in qt5core (+0x1f1bd8) (0x0060fd28) 8 0x0040189b in digitalclock (+0x189a) (0x0011aa88) 9 0x0011aa88 (0x0011aa88) ... 0x7ea98b25 USER_SetWindowPos+0x25 [./dlls/user32/winpos.c:2220] in user32: movl 0x18(%esi),%eax 2220 orig_flags = winpos->flags; Wine-dbg>print *winpos Many symbols with name 'winpos', choose the one you want (<cr> to abort): [1]: 0x7e9e9000 frame in user32<elf> [2]: 0x7e9e9000 frame in user32<elf> => 1 {hwnd=*** Invalid address 0x464c457f *** , hwndInsertAfter=*** Invalid address 0x464c4583 *** , x=*** Invalid address 0x464c4587 *** , y=*** Invalid address 0x464c458b *** , cx=*** Invalid address 0x464c458f *** , cy=*** Invalid address 0x464c4593 *** , flags=*** Invalid address 0x464c4597 *** } Wine-dbg>up 1864 return USER_SetWindowPos( (WINDOWPOS *)lparam, 0, 0 ); Wine-dbg>print lparam Too many addresses for symbol 'lparam', limiting the first 100 Many symbols with name 'lparam', choose the one you want (<cr> to abort): ... [24]: 0x7e9e9000 frame in user32<elf> ... => 24 0x464c457f ######### WINEDEBUG=+win,+msg wine winedbg digitalclock.exe dir /home/benutzer/wine/try1/wine-development-3.13 cont b PostMessageW WINEDEBUG=+win,+msg wine winedbg digitalclock.exe WineDbg starting on pid 0034 0035:trace:win:User32InitializeImmEntryTable (19650412) 0035:trace:msg:RegisterWindowMessageA MSIMEService, ret=c001 0035:trace:msg:RegisterWindowMessageA MSIMEReconvertOptions, ret=c002 0035:trace:msg:RegisterWindowMessageA MSIMEMouseOperation, ret=c003 0035:trace:msg:RegisterWindowMessageA MSIMEReconvertRequest, ret=c004 0035:trace:msg:RegisterWindowMessageA MSIMEReconvert, ret=c005 0035:trace:msg:RegisterWindowMessageA MSIMEQueryPosition, ret=c006 0035:trace:msg:RegisterWindowMessageA MSIMEDocumentFeed, ret=c007 start_process () at ./dlls/kernel32/process.c:1101 0x7b465771 start_process+0x141 [./dlls/kernel32/process.c:1101] in kernel32: movl 0xffffff24(%ebp),%esi Unable to access file './dlls/kernel32/process.c' Wine-dbg>dir /home/benutzer/wine/try1/wine-development-3.13 Wine-dbg>b PostMessageW 0033:fixme:dbghelp_dwarf:dwarf2_parse_const_type Unsupported children 0033:fixme:dbghelp_dwarf:dwarf2_parse_const_type Unsupported children Breakpoint 1 at 0x7ea65d90 PostMessageW [./dlls/user32/message.c:3646] in user32 Wine-dbg>cont 0035:fixme:file:FindFirstFileExW flags not implemented 0x00000002 0035:trace:win:alloc_winproc allocated 0xffff000e for W 0x7e6087e0 (15/4096 used) 0035:trace:win:WIN_CreateWindowEx (null) L"OleMainThreadWndClass" ex=00000000 style=00000000 0,0 0x0 parent=0xfffffffd menu=(nil) inst=0x7e5f0000 params=(nil) 0035:trace:win:dump_window_styles style: 0035:trace:win:dump_window_styles exstyle: 0035:trace:win:GetWindowRect hwnd 0x2007a (0,0)-(0,0) 0035:trace:win:GetWindowRect hwnd 0x2007a (0,0)-(0,0) 0035:trace:win:WINPOS_GetMinMaxInfo 106 106 / -3 -3 / 1036 780 / 112 27 0035:trace:win:GetWindowRect hwnd 0x2007a (0,0)-(112,27) 0035:trace:win:invalidate_dce 0x2007a parent 0x10026 (0,0)-(112,27) ((0,0)-(0,0)) 0035:trace:win:set_window_pos win 0x2007a surface (nil) -> (nil) 0035:trace:win:WIN_CreateWindowEx hwnd 0x2007a cs 0,0 112x27 0035:trace:win:GetWindowRect hwnd 0x2007a (0,0)-(112,27) 0035:trace:win:invalidate_dce 0x2007a parent 0x10026 (0,0)-(112,27) ((0,0)-(112,27)) 0035:trace:win:set_window_pos win 0x2007a surface (nil) -> (nil) 0035:trace:win:WIN_CreateWindowEx created window 0x2007a 0035:trace:win:alloc_winproc allocated 0xffff000f for W 0x7e634540 (16/4096 used) 0035:trace:win:GetDCEx hwnd 0x10020, hrgnClip (nil), flags 00000003 0035:trace:win:GetDCEx (0x10020,(nil),0x13): returning 0x1c0039 (updated) 0035:trace:win:alloc_winproc allocated 0xffff0010 for W 0x7db6c2f0 (17/4096 used) 0035:trace:win:WIN_CreateWindowEx L"Tablet" L"WineTabletClass" ex=00000000 style=80880000 0,0 0x0 parent=(nil) menu=(nil) inst=0x7db60000 params=(nil) 0035:trace:win:dump_window_styles style: WS_POPUP WS_BORDER WS_SYSMENU 0035:trace:win:dump_window_styles exstyle: 0035:trace:win:GetWindowRect hwnd 0x20078 (0,0)-(0,0) 0035:trace:win:invalidate_dce 0x20078 parent 0x10020 (0,0)-(0,0) ((0,0)-(0,0)) 0035:trace:win:invalidate_dce 0x1c0039: hwnd 0x10020 dcx 00000013 Cache InUse 0035:trace:win:set_window_pos win 0x20078 surface (nil) -> 0x7ebc92a0 0035:trace:win:WIN_CreateWindowEx hwnd 0x20078 cs 0,0 0x0 0035:trace:win:WIN_CreateWindowEx L"Default IME" L"IME" ex=00000000 style=8c000000 0,0 1x1 parent=(nil) menu=(nil) inst=(nil) params=(nil) 0035:trace:win:dump_window_styles style: WS_POPUP WS_DISABLED WS_CLIPSIBLINGS 0035:trace:win:dump_window_styles exstyle: 0035:trace:win:GetWindowRect hwnd 0x20064 (0,0)-(0,0) 0035:trace:win:GetWindowRect hwnd 0x20064 (0,0)-(0,0) 0035:trace:win:GetWindowRect hwnd 0x20064 (0,0)-(1,1) 0035:trace:win:invalidate_dce 0x20064 parent 0x10020 (0,0)-(1,1) ((0,0)-(0,0)) 0035:trace:win:invalidate_dce 0x1c0039: hwnd 0x10020 dcx 00000013 Cache InUse 0035:trace:win:set_window_pos win 0x20064 surface (nil) -> (nil) 0035:trace:win:WIN_CreateWindowEx hwnd 0x20064 cs 0,0 1x1 0035:trace:win:GetWindowRect hwnd 0x20064 (0,0)-(1,1) 0035:trace:win:GetWindowRect hwnd 0x20064 (0,0)-(1,1) 0035:trace:win:invalidate_dce 0x20064 parent 0x10020 (0,0)-(1,1) ((0,0)-(1,1)) 0035:trace:win:invalidate_dce 0x1c0039: hwnd 0x10020 dcx 00000013 Cache InUse 0035:trace:win:set_window_pos win 0x20064 surface (nil) -> (nil) Stopped on breakpoint 1 at 0x7ea65d90 PostMessageW [./dlls/user32/message.c:3646] in user32 PostMessageW () at ./dlls/user32/message.c:3646 3646 { Wine-dbg>cont 0035:trace:msg:PostMessageW hwnd 0x10020 msg 210 (WM_PARENTNOTIFY) wp 1 lp 20064 0035:trace:win:WIN_CreateWindowEx created window 0x20064 0035:trace:win:WIN_CreateWindowEx register IME window for 0x20078 0035:trace:win:GetWindowRect hwnd 0x20078 (0,0)-(0,0) 0035:trace:win:invalidate_dce 0x20078 parent 0x10020 (0,0)-(0,0) ((0,0)-(0,0)) 0035:trace:win:invalidate_dce 0x1c0039: hwnd 0x10020 dcx 00000013 Cache InUse 0035:trace:win:set_window_pos win 0x20078 surface 0x7ebc92a0 -> 0x7ebc92a0 Stopped on breakpoint 1 at 0x7ea65d90 PostMessageW [./dlls/user32/message.c:3646] in user32 3646 { Wine-dbg>cont 0035:trace:msg:PostMessageW hwnd 0x10020 msg 210 (WM_PARENTNOTIFY) wp 1 lp 20078 0035:trace:win:WIN_CreateWindowEx created window 0x20078 0035:trace:win:alloc_winproc allocated 0xffff0011 for W 0x2599870 (18/4096 used) 0035:trace:win:WIN_CreateWindowEx L"TabletDummyWindow" L"TabletDummyWindow" ex=00000000 style=00000000 -2147483648,-2147483648 -2147483648x-2147483648 parent=0xfffffffd menu=(nil) inst=0x400000 params=(nil) 0035:trace:win:dump_window_styles style: 0035:trace:win:dump_window_styles exstyle: 0035:trace:win:GetWindowRect hwnd 0x10026 (0,0)-(100,100) 0035:trace:win:GetWindowRect hwnd 0x20062 (0,0)-(0,0) 0035:trace:win:GetWindowRect hwnd 0x20062 (0,0)-(0,0) 0035:trace:win:WINPOS_GetMinMaxInfo 106 106 / -3 -3 / 1036 780 / 112 27 0035:trace:win:GetWindowRect hwnd 0x20062 (0,0)-(768,576) 0035:trace:win:invalidate_dce 0x20062 parent 0x10026 (0,0)-(768,576) ((0,0)-(0,0)) 0035:trace:win:invalidate_dce 0x1c0039: hwnd 0x10020 dcx 00000013 Cache InUse 0035:trace:win:set_window_pos win 0x20062 surface (nil) -> (nil) 0035:trace:win:WIN_CreateWindowEx hwnd 0x20062 cs 0,0 768x576 0035:trace:win:GetWindowRect hwnd 0x20062 (0,0)-(768,576) 0035:trace:win:invalidate_dce 0x20062 parent 0x10026 (0,0)-(768,576) ((0,0)-(768,576)) 0035:trace:win:invalidate_dce 0x1c0039: hwnd 0x10020 dcx 00000013 Cache InUse 0035:trace:win:set_window_pos win 0x20062 surface (nil) -> (nil) 0035:trace:win:WIN_CreateWindowEx created window 0x20062 Stopped on breakpoint 1 at 0x7ea65d90 PostMessageW [./dlls/user32/message.c:3646] in user32 3646 { Wine-dbg>next 3646 { Wine-dbg> 426 if (message >= 8*sizeof(message_pointer_flags)) return FALSE; Wine-dbg>next 3655 TRACE( "hwnd %p msg %x (%s) wp %lx lp %lx\n", Wine-dbg> 3655 TRACE( "hwnd %p msg %x (%s) wp %lx lp %lx\n", Wine-dbg> 3655 TRACE( "hwnd %p msg %x (%s) wp %lx lp %lx\n", Wine-dbg> 0033:fixme:winedbg:be_i386_is_jump unknown ff 0035:trace:msg:PostMessageW hwnd 0x20062 msg 80000001 (WM_WINE_SETWINDOWPOS) wp c00 lp 0 3661 info.wparam = wparam; Wine-dbg>bt Backtrace: =>0 0x7ea65e06 PostMessageW+0x76(hwnd=<couldn't compute location>, msg=<couldn't compute location>, wparam=<couldn't compute location>, lparam=<couldn't compute location>) [./dlls/user32/message.c:3661] in user32 (0x0060f518) 1 0x7ea65fb6 PostMessageA+0x55(wparam=<couldn't compute location>) [./dlls/user32/message.c:3638] in user32 (0x0060f568) 2 0x7db6927e TABLET_PostTabletMessage+0x4d() in wintab32 (0x0060f598) 3 0x7db69e23 WTOpenW+0x4f2(hWnd=<couldn't compute location>, lpLogCtx=<couldn't compute location>, fEnable=<couldn't compute location>) [./dlls/wintab32/context.c:487] in wintab32 (0x0060f758) 4 0x02596789 in qwindows (+0x66788) (0x00020062)