[Bug 37628] KORG Legacy Collection - MS-20 v1.3.0 'Authorizer' app crashes ('d2d_factory_CreateDCRenderTarget' is a stub)

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Nov 24 16:54:28 CST 2014


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
                 CC|                            |focht at gmx.net
          Component|-unknown                    |d2d
            Summary|Unable To Start Korg Legacy |KORG Legacy Collection -
                   |Collection due to Crash in  |MS-20 v1.3.0 'Authorizer'
                   |Authorizer                  |app crashes
                   |                            |('d2d_factory_CreateDCRende
                   |                            |rTarget' is a stub)
     Ever confirmed|0                           |1

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

confirming.

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/KORG/KORG Legacy

$ WINEDEBUG=+tid,+seh,+relay,+dwrite wine ./MS-20.exe >>log.txt 2>&1
...
0023:Call KERNEL32.CreateProcessA(0033f1d8 "C:\\Program Files\\Common
Files\\KORG\\KORG Legacy\\MS-20
Authorizer.exe",00000000,00000000,00000000,00000000,00000000,00000000,00000000,0033f0f0,0033f134)
ret=00b553d9
...
0025:Call KERNEL32.__wine_kernel_init() ret=7bc5a259
0023:Ret  KERNEL32.CreateProcessA() retval=00000001 ret=00b553d9 
...
0025:fixme:d2d:d2d_factory_CreateDCRenderTarget iface 0x13fce8, desc 0x33f558,
render_target 0x33f544 stub!
...
<lots of dwrite action>
...
0025:trace:seh:raise_exception code=c0000005 flags=0 addr=0x476b68 ip=00476b68
tid=0025
0025:trace:seh:raise_exception  info[0]=00000000
0025:trace:seh:raise_exception  info[1]=00000000
0025:trace:seh:raise_exception  eax=00000000 ebx=0000006b ecx=000000ff
edx=00000000 esi=00a02a98 edi=00000000
0025:trace:seh:raise_exception  ebp=0033f494 esp=0033f438 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00010202
0025:trace:seh:call_stack_handlers calling handler at 0x4ddf30 code=c0000005
flags=0 
...
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code
(0x00476b68).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:00476b68 ESP:0033f438 EBP:0033f494 EFLAGS:00010202(  R- --  I   - - - )
 EAX:00000000 EBX:0000006b ECX:000000ff EDX:00000000
 ESI:00a02a98 EDI:00000000
...
Backtrace:
=>0 0x00476b68 in ms-20 authorizer (+0x76b68) (0x0033f494)
  1 0x00476dad in ms-20 authorizer (+0x76dac) (0x0033f4ec)
  2 0x00476efc in ms-20 authorizer (+0x76efb) (0x0033f584)
  3 0x004789a6 in ms-20 authorizer (+0x789a5) (0x0033f5f0)
  4 0x004ac838 in ms-20 authorizer (+0xac837) (0x0033f678)
  5 0x004b1e58 in ms-20 authorizer (+0xb1e57) (0x0033f6ac)
  6 0x004b9552 in ms-20 authorizer (+0xb9551) (0x0033f6d8)
  7 0x004ba688 in ms-20 authorizer (+0xba687) (0x0033f734)
  8 0x004acfb7 in ms-20 authorizer (+0xacfb6) (0x0033f77c) 
...
0x00476b68: movl    0x0(%eax),%edx
Modules:
Module    Address            Debug info    Name (70 modules)
PE      400000-  532000    Export          ms-20 authorizer
ELF    4720e000-47212000    Deferred        libxau.so.6
ELF    47322000-4732d000    Deferred        libxrender.so.1
ELF    4736d000-4738f000    Deferred        libxcb.so.1
ELF    47478000-475b2000    Deferred        libx11.so.6
ELF    475e3000-475e7000    Deferred        libxinerama.so.1
ELF    47c19000-47c1d000    Deferred        libxcomposite.so.1
ELF    4a1e3000-4a1e9000    Deferred        libxfixes.so.3
ELF    4a1eb000-4a1fe000    Deferred        libxext.so.6
ELF    4a55f000-4a56b000    Deferred        libxcursor.so.1
ELF    4a56d000-4a578000    Deferred        libxrandr.so.2
ELF    4a62c000-4a63d000    Deferred        libxi.so.6 
...
ELF    7dcbb000-7dd03000    Deferred        dwrite<elf>
  \-PE    7dcc0000-7dd03000    \               dwrite 
...
Threads:
process  tid      prio (all id:s are in hex)
...
00000022 MS-20.exe
    00000023    1
00000024 (D) C:\Program Files\Common Files\KORG\KORG Legacy\MS-20
Authorizer.exe
    00000028    1
    00000027    0
    00000026    0
    00000025    0 <== 
--- snip ---

Was a bit tricky to find as the NULL 'ID2D1DCRenderTarget' gets propagated
through multiple call levels - only to be hit on teardown path, after lots of
DirectWrite API action.
The app doesn't handle the initial failure (E_NOTIMPL) and proceeds just as if
nothing happend (which is bad too).

Source:
http://source.winehq.org/git/wine.git/blob/0d962da9d3c7a5b3b6509da66c1a05926c7554b1:/dlls/d2d1/factory.c#l231

--- snip ---
231 static HRESULT STDMETHODCALLTYPE
d2d_factory_CreateDCRenderTarget(ID2D1Factory *iface,
232          const D2D1_RENDER_TARGET_PROPERTIES *desc, ID2D1DCRenderTarget
**render_target)
233 {
234     FIXME("iface %p, desc %p, render_target %p stub!\n", iface, desc,
render_target);
235
236     return E_NOTIMPL;
237 }
--- snip ---

Work around the crash by disabling 'dwrite' (yes, not 'd2d1') component
permanently or on command line run with:

--- snip ---
$ WINEDLLOVERRIDES=dwrite=d wine ./MS-20.exe
--- snip ---

$ sha1sum klc_ms20_win_130.zip
92af28a9770d37ae861691b48ce2b63b9e293278  klc_ms20_win_130.zip

$ du -sh klc_ms20_win_130.zip
63M    klc_ms20_win_130.zip

$ wine --version
wine-1.7.31-99-g5ecea72

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