[Bug 37243] 64-bit Scuffham S-Gear v2.4 crashes on startup (needs 'K32EnumDeviceDrivers' implementation/semi-stub)

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Sep 9 15:11:32 CDT 2014


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |win64
                 CC|                            |focht at gmx.net
          Component|-unknown                    |kernel32
            Summary|Scuffham S-Gear (64 bit)    |64-bit Scuffham S-Gear v2.4
                   |crashes on startup          |crashes on startup (needs
                   |                            |'K32EnumDeviceDrivers'
                   |                            |implementation/semi-stub)

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

confirming.

The app tries to enumerate all device drivers in the system (part of 64-bit
FlexNet licensing scheme).

--- snip ---
$ pwd
/home/focht/wine64/drive_c/Program Files/Scuffham Amps/S-Gear2

$ WINEDEBUG=+tid,+seh,+relay wine ./S-Gear2.exe >>log.txt 2>&1
...
0025:Call KERNEL32.LoadLibraryA(0023e900 "C:\\Program Files\\Scuffham
Amps\\S-Gear2\\S-Gear2_ActLOC.dll") ret=01c5eb33 
0025:Ret  PE DLL (proc=0x1c702f0,module=0x18b0000
L"S-Gear2_Act.dll",reason=PROCESS_ATTACH,res=(nil)) retval=1
0025:Ret  KERNEL32.LoadLibraryA() retval=018b0000 ret=180129a2b
0025:Call KERNEL32.GetProcAddress(018b0000,00000002) ret=180129a61
0025:Ret  KERNEL32.GetProcAddress() retval=01cbca40 ret=180129a61
0025:Call advapi32.OpenSCManagerA(00000000,00000000,00000001) ret=01cbcaa5 
...
0025:Ret  advapi32.OpenSCManagerA() retval=0007b810 ret=01cbcaa5
0025:Call advapi32.OpenServiceA(0007b810,0202f2e4 "FlexNet Licensing Service
64",00000014) ret=01cbcac1 
...
0025:Ret  advapi32.OpenServiceA() retval=0007b8a0 ret=01cbcac1 
...
0025:Call KERNEL32.K32EnumDeviceDrivers(00000000,00000000,0023f010)
ret=01cb8bf0
0025:fixme:file:K32EnumDeviceDrivers ((nil), 0, 0x23f010): stub
0025:Ret  KERNEL32.K32EnumDeviceDrivers() retval=00000001 ret=01cb8bf0
0025:Call ntdll.RtlAllocateHeap(02100000,00000000,00000050) ret=01c6e5f7
0025:Ret  ntdll.RtlAllocateHeap() retval=021078b0 ret=01c6e5f7
0025:Call KERNEL32.K32EnumDeviceDrivers(021078b0,00000000,0023f010)
ret=01cb8c48
0025:fixme:file:K32EnumDeviceDrivers (0x21078b0, 0, 0x23f010): stub
0025:Ret  KERNEL32.K32EnumDeviceDrivers() retval=00000001 ret=01cb8c48 
...
0025:Call KERNEL32.IsDebuggerPresent() ret=01cb4b32
0025:Ret  KERNEL32.IsDebuggerPresent() retval=00000000 ret=01cb4b32
0025:trace:seh:raise_exception code=80000003 flags=0 addr=0x1cb4bbd ip=1cb4bbd
tid=0025
0025:trace:seh:raise_exception  rax=000000007a2ac720 rbx=00000000cc4f4e80
rcx=000000000023f1b0 rdx=000000000023f280
0025:trace:seh:raise_exception  rsi=000000000023f280 rdi=000000000023f1b0
rbp=0000000001e6b098 rsp=000000000023ed90
0025:trace:seh:raise_exception   r8=00000000ffffffff  r9=00000000b3161b82
r10=0000000001e6b0a8 r11=000000003b4fba5d
0025:trace:seh:raise_exception  r12=00000001803c9e7c r13=0000000000000000
r14=00000001803b5390 r15=0000000000019bb8 
...
Unhandled exception: page fault in 64-bit code (0x0000000001cb8248).
fixme:dbghelp:interpret_function_table_entry PUSH_MACHFRAME 6
fixme:dbghelp:interpret_function_table_entry PUSH_MACHFRAME 6
Register dump:
 rip:0000000001cb8248 rsp:000000000023ed90 rbp:000000000138feaf eflags:00010206
(  R- --  I   - -P- )
 rax:00000000020ba1dc rbx:00000000f9c1100b rcx:000000000023e4c0
rdx:00000000af5b4d9c
 rsi:000000000023ede0 rdi:0000000000000002  r8:000000000c1084dd 
r9:00000000b3161b82 r10:0000000001e6b0a8
 r11:0000000033b0b17e r12:000000000023e4b0 r13:0000000000000000
r14:00000001803b5390 r15:0000000000019bb8 
...
Backtrace:
=>0 0x0000000001cb8248 in s-gear2_act (+0x408248) (0x000000000138feaf)
  1 0x0000000001cbbb40 in s-gear2_act (+0x40bb3f) (0x0000000001e6b098)
  2 0x0000000001cbbe9f in s-gear2_act (+0x40be9e) (0x0000000001e6b098)
  3 0x0000000001cbc1b4 in s-gear2_act (+0x40c1b3) (0x0000000001e6b098)
  4 0x0000000001cbc4c4 in s-gear2_act (+0x40c4c3) (0x0000000001e6b098)
  5 0x0000000001cbc7b0 in s-gear2_act (+0x40c7af) (0x0000000001e6b098)
  6 0x0000000001cbc984 in s-gear2_act (+0x40c983) (0x0000000001e6b098)
  7 0x0000000001cbcb1b in s-gear2_act (+0x40cb1a) (0x0000000000000032)
  8 0x0000000180129a7f in s-gear2_x64 (+0x129a7e) (0x0000000000000032)
  9 0x00000001802fcaa4 in s-gear2_x64 (+0x2fcaa3) (0x0000000000000032)
  10 0x000000018017c7d4 in s-gear2_x64 (+0x17c7d3) (0x0000000000000032)
  11 0x000000018017cef8 in s-gear2_x64 (+0x17cef7) (0x0000000000000032)
  12 0x000000018000a44c in s-gear2_x64 (+0xa44b) (0x0000000000000032)
  13 0x00000001801381e8 in s-gear2_x64 (+0x1381e7) (0x0000000000000032)
0x0000000001cb8248: calll    *(%rax)
Modules:
Module    Address                    Debug info    Name (144 modules)
PE             1740000-         17a0000    Deferred        fnpcommssoap
PE             18b0000-         20fe000    Export          s-gear2_act
ELF            7b800000-        7bc87000    Deferred        kernel32<elf>
  \-PE            7b820000-        7bc87000    \               kernel32
ELF            7be00000-        7c103000    Deferred        <wine-loader>
PE           140000000-       140018000    Deferred        s-gear2
PE           180000000-       185250000    Export          s-gear2_x64
ELF          301c400000-      301c616000    Deferred        libgcc_s.so.1 
...
Threads:
process  tid      prio (all id:s are in hex)
...
00000024 (D) C:\Program Files\Scuffham Amps\S-Gear2\S-Gear2.exe
    00000029    0
    00000026    0
    00000025    0 <==
--- snip ---

Because of the stub, it throws an assert which causes another fault.

With a 'K32EnumDeviceDrivers' semi-stub, returning actual data, it goes a bit
further - only to run into next problem: 'K32GetDeviceDriverBaseNameA' stub.

--- snip ---
...
fixme:file:K32EnumDeviceDrivers ((nil), 0, 0x23f010): semi-stub
fixme:file:K32EnumDeviceDrivers (0x211e030, 80, 0x23f010): semi-stub
fixme:file:K32GetDeviceDriverBaseNameA ((nil), 0x23ee80, 256): stub
fixme:file:K32GetDeviceDriverBaseNameA ((nil), 0x23ee80, 256): stub
--- snip ---

$ sha1sum S-GearSetupv2_42.exe 
bfbcdc705c559d3c869cc84d30a65a11cc1875e6  S-GearSetupv2_42.exe

$ du -sh S-GearSetupv2_42.exe 
313M    S-GearSetupv2_42.exe

$ wine --version
wine-1.7.26-21-g45c1d7c

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