[Bug 43480] Peavey Revalver IV (Amp modeling software) crashes due to missing Win7+ Touch Input API (stubs)

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Aug 7 07:31:46 CDT 2017


https://bugs.winehq.org/show_bug.cgi?id=43480

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
           Keywords|                            |download
            Summary|Peavey Revalver IV crashes  |Peavey Revalver IV (Amp
                   |                            |modeling software) crashes
                   |                            |due to missing Win7+ Touch
                   |                            |Input API (stubs)
                URL|                            |https://revalver.peavey.com
                   |                            |/assets/download/r4_win_x64
                   |                            |_160830.zip
          Component|-unknown                    |user32
                 CC|                            |focht at gmx.net

--- Comment #1 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

confirming.

The issue is also present in the 32-bit app version.
The app late-binds some Win7+ Touch Input API but has no proper error handling
for missing imports. It crashes when calling one of these API where no stubs
exist.
The trace log doesn't reveal this from the crash location, the app has to be
debugged.

Relevant part of trace log:

--- snip ---
$ pwd
/home/focht/Downloads/wineprefix64/drive_c/Program Files/Peavey
Electronics/ReValver 4

$ WINEDEBUG=+tid,+seh,+relay wine ./ReValver\ 4\ x64.exe >>log.txt 2>&1
...
0032:Call KERNEL32.GetModuleHandleA(140fef094 "user32.dll") ret=140108915
0032:Ret  KERNEL32.GetModuleHandleA() retval=7f0efa2a0000 ret=140108915
0032:Call KERNEL32.GetProcAddress(7f0efa2a0000,14100d530 "RegisterTouchWindow")
ret=140108921
0032:Ret  KERNEL32.GetProcAddress() retval=7f0efa2add14 ret=140108921
0032:Call KERNEL32.GetModuleHandleA(140fef094 "user32.dll") ret=140108915
0032:Ret  KERNEL32.GetModuleHandleA() retval=7f0efa2a0000 ret=140108915
0032:Call KERNEL32.GetProcAddress(7f0efa2a0000,14100d544 "GetTouchInputInfo")
ret=140108921
0032:Ret  KERNEL32.GetProcAddress() retval=00000000 ret=140108921
0032:Call KERNEL32.GetModuleHandleA(140fef094 "user32.dll") ret=140108915
0032:Ret  KERNEL32.GetModuleHandleA() retval=7f0efa2a0000 ret=140108915
0032:Call KERNEL32.GetProcAddress(7f0efa2a0000,14100d558
"CloseTouchInputHandle") ret=140108921
0032:Ret  KERNEL32.GetProcAddress() retval=00000000 ret=140108921
0032:Call KERNEL32.GetModuleHandleA(140fef094 "user32.dll") ret=140108915
0032:Ret  KERNEL32.GetModuleHandleA() retval=7f0efa2a0000 ret=140108915
0032:Call KERNEL32.GetProcAddress(7f0efa2a0000,14100d570 "GetGestureInfo")
ret=140108921
0032:Ret  KERNEL32.GetProcAddress() retval=00000000 ret=140108921
0032:Call user32.RegisterTouchWindow(00010078,00000000) ret=140340525
0032:fixme:win:RegisterTouchWindow (0x10078 00000000): stub
0032:Ret  user32.RegisterTouchWindow() retval=00000000 ret=140340525 
...
0032:Call gdi32.SetMapMode(000a004a,00000001) ret=14036a256
0032:Ret  gdi32.SetMapMode() retval=00000001 ret=14036a256
0032:Call user32.GetWindowRect(00010078,0023d3c0) ret=140327e56
0032:Ret  user32.GetWindowRect() retval=00000001 ret=140327e56
0032:trace:seh:NtRaiseException code=c0000005 flags=0 addr=(nil) ip=0 tid=0032
0032:trace:seh:NtRaiseException  info[0]=0000000000000000
0032:trace:seh:NtRaiseException  info[1]=0000000000000000
0032:trace:seh:NtRaiseException  rax=000000000023d3e0 rbx=0000000000000000
rcx=0000000000010078 rdx=0000000000000000
0032:trace:seh:NtRaiseException  rsi=000000000023f4a0 rdi=00000000000a004a
rbp=000000000023d450 rsp=000000000023d3d8
0032:trace:seh:NtRaiseException   r8=000000000023d468  r9=000000000023f498
r10=00000000000001e0 r11=00000000000000d7
0032:trace:seh:NtRaiseException  r12=0000000000040054 r13=00000000003d87d0
r14=000000000004004f r15=0000000000010078
0032:trace:seh:RtlVirtualUnwind type 1 rip 14036a305 rsp 23d3e0
0032:trace:seh:dump_unwind_info **** func 369ca0-36a799 
--- snip ---

The following stubs are missing, not being resolved:

* GetTouchInputInfo
* CloseTouchInputHandle
* GetGestureInfo

Even if not referenced I would add: 

* UnregisterTouchWindow

for consistency too.

https://msdn.microsoft.com/en-us/library/windows/desktop/dd317318(v=vs.85).aspx

One Win7+ Touch Input API is already there -> RegisterTouchWindow

https://msdn.microsoft.com/en-us/library/windows/desktop/dd317326(v=vs.85).aspx

Added with:
https://source.winehq.org/git/wine.git/commitdiff/6458aca761f56dffcdf117e81450720c26a0c53f
("user32: Add a stub for RegisterTouchWindow.")

Tidbit: The app seems to be Wine aware.

--- snip ---
...
0032:Call KERNEL32.GetModuleHandleA(140fef0a0 "ntdll") ret=1401474a1
0032:Ret  KERNEL32.GetModuleHandleA() retval=7bc80000 ret=1401474a1
0032:Call KERNEL32.GetProcAddress(7bc80000,140fef0a8 "wine_get_version")
ret=1401474b6
0032:Ret  KERNEL32.GetProcAddress() retval=7bc90228 ret=1401474b6
...
--- snip ---

$ sha1sum r4_win_x64_160830.zip
37ca7030812854cc8c4e18da3af57db1b0d24c2c  r4_win_x64_160830.zip

$ du -sh r4_win_x64_160830.zip 
245M    r4_win_x64_160830.zip

$ wine --version
wine-2.13-94-g5d9a4c4dbd

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