[Bug 50411] New: Adobe Audition 2020 crashes on startup, reporting 'Direct2D Drawbot error' (d2d_geometry_group_GetBounds is a stub)

WineHQ Bugzilla wine-bugs at winehq.org
Sun Dec 27 09:52:09 CST 2020


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

            Bug ID: 50411
           Summary: Adobe Audition 2020 crashes on startup, reporting
                    'Direct2D Drawbot error' (d2d_geometry_group_GetBounds
                    is a stub)
           Product: Wine
           Version: 6.0-rc4
          Hardware: x86-64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: d2d
          Assignee: wine-bugs at winehq.org
          Reporter: focht at gmx.net
      Distribution: ---

Hello folks,

continuation of bug 50409 ("Adobe Audition 2020 crashes on startup (msvcrt
strftime_impl uses __lc_time_data struct WCHAR members but only ANSI members
have been initialized by _Gettnames)").

After fixing bug 50409, the application runs much further with a splash screen
and main user interface briefly shown - until it crashes.

--- snip ---
$ wine ./Adobe\ Audition.exe
...
0184:fixme:d2d:d2d_device_context_PushAxisAlignedClip Ignoring antialias_mode
0.
0184:fixme:d2d:d2d_device_context_PushAxisAlignedClip Ignoring antialias_mode
0.
0184:fixme:d2d:d2d_device_context_PushAxisAlignedClip Ignoring antialias_mode
0.
0184:fixme:d2d:d2d_device_context_DrawGeometry Ignoring stroke style
0000000025A54AA0.
0184:fixme:d2d:d2d_device_context_DrawGeometry Ignoring stroke style
0000000025A54AC0.
...
0184:fixme:d2d:d2d_device_context_DrawGeometry Ignoring stroke style
0000000025A51F40.
0184:fixme:d2d:d2d_device_context_PushAxisAlignedClip Ignoring antialias_mode
0.
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  62 (X_CopyArea)
  Serial number of failed request:  9035
  Current serial number in output stream:  9035
--- snip ---

Debugger log provides some hints:

--- snip ---
...
DebugString: "<324> <AuLog.Startup> <5> Session Host initialization sequence
complete."
DebugString: "<324> <aui.SplashScreen> <5> Initializing (SesxNative) took
3.66537 seconds."
DebugString: "<324> <AuLog.Startup> <5> Initializing Document Manager"
DebugString: "<324> <AuLog.Startup> <5> Initializing Project Manager"
DebugString: "<324> <AuLog.Startup> <5> Initializing TimeCode Broadcaster"
DebugString: "<324> <AuLog.Startup> <5> Initializing Clipboard Manager"
Thread 590 created, Entry: <ntdll.timer_queue_thread_proc>
DebugString: "<324> <AuLog.Startup> <5> Initializing Preset Manager"
DebugString: "<324> <AuLog.Startup> <5> Initializing Favorites Manager"
DebugString: "<324> <AuLog.Startup> <5> Initializing AutoSave Manager"
DebugString: "<324> <AuLog.Startup> <5> Initializing Essential Sound"
DebugString: "<324> <AuLog.Startup> <5> AuApplication initialization sequence
complete."
DebugString: "<324> <AuLog.Startup> <5> Initializing AuCEPSupport"
DebugString: "<324> <aui.SplashScreen> <5> Initializing (Session) took 21.7096
seconds."
DebugString: "<324> <AuLog.Startup> <5> Initializing AsyncQueueManager"
DebugString: "<324> <AuLog.Startup> <5> Initializing AuUI"
DebugString: "<324> <aui.SplashScreen> <5> Initializing (AuCEPSupport) took
3.483 seconds."
...
DebugString: "<324> <AuLog.Startup> <5> Setting up temp directories"
DebugString: "<324> <aui.SplashScreen> <5> Initializing (AuUI) took 5.96025
seconds."
DebugString: "<324> <AuLog.Startup> <5> AuUI initialization sequence complete."
...
DebugString: "<324> <Assert> <0> Debug Assert failed! 
Expression: !inReportToUser 
Direct2D Drawbot error 
Process: Adobe Audition.exe 
Process ID: 320 
Thread ID: 324 
File: ..\..\Application\private\ErrorManager.cpp 
Line: 250 
Function: aui::ErrorManager::ThrowError 
Assert Dialog Show:false"
--- snip ---

After some debugging one arrives at this place:

--- snip ---
...
0D297A69 | call qword ptr ds:[rax+140]      | d2d_device_context_PushLayer
0D297A6F | mov rcx,qword ptr ds:[r14+60]    |
0D297A73 | mov rax,qword ptr ds:[rcx]       |
0D297A76 | lea rdx,qword ptr ss:[rbp]       |
0D297A7A | call qword ptr ds:[rax+F8]       | d2d_device_context_GetTransform
0D297A80 | mov rcx,qword ptr ds:[r15]       |
0D297A83 | mov rax,qword ptr ds:[rcx]       |
0D297A86 | lea r8,qword ptr ss:[rbp-10]     |
0D297A8A | lea rdx,qword ptr ss:[rbp]       |
0D297A8E | call qword ptr ds:[rax+20]       | d2d_geometry_group_GetBounds
0D297A91 | test eax,eax                     | 0x80004001
0D297A93 | jns dvaui.D297AD3                |
0D297A95 | lea r9,qword ptr ds:[D53D148]    | "Direct2D Drawbot error"
0D297A9C | mov edx,eax                      |
0D297A9E | sub edx,16                       |
0D297AA1 | je dvaui.D297ABF                 |
0D297AA3 | sub edx,6                        |
0D297AA6 | je dvaui.D297AB6                 |
0D297AA8 | cmp edx,1                        |
0D297AAB | jne dvaui.D297AC6                |
0D297AAD | lea r9,qword ptr ds:[D53F360]    | "Unable to create image buffer."
0D297AB4 | jmp dvaui.D297AC6                |
0D297AB6 | lea r9,qword ptr ds:[D53F420]    | "Invalid image file."
0D297ABD | jmp dvaui.D297AC6                |
0D297ABF | lea r9,qword ptr ds:[D53F0C0]    | "Unsupported Pixel Format."
0D297AC6 | mov r8b,1                        |
0D297AC9 | mov rdx,r9                       |
0D297ACC | mov ecx,eax                      |
0D297ACE | call dvaui.D298910               | ThrowError
0D297AD3 | movss xmm8,dword ptr ss:[rbp-4]  |
0D297AD9 | movss xmm9,dword ptr ss:[rbp-C]  |
0D297ADF | subss xmm8,xmm9                  |
0D297AE4 | movss xmm6,dword ptr ss:[rbp-8]  |
0D297AE9 | movss xmm7,dword ptr ss:[rbp-10] |
0D297AEE | subss xmm6,xmm7                  |
0D297AF2 | movaps xmm0,xmm7                 |
0D297AF5 | call <JMP.&floorf>               |
...
--- snip ---

It asserts() on 'd2d_geometry_group_GetBounds' returning E_NOTIMPL.

Wine source:

https://source.winehq.org/git/wine.git/blob/e377786a71c3b6eab5bc11c0b1c9c7c3dc309398:/dlls/d2d1/geometry.c#l4880

--- snip ---
4880 static HRESULT STDMETHODCALLTYPE
d2d_geometry_group_GetBounds(ID2D1GeometryGroup *iface,
4881         const D2D1_MATRIX_3X2_F *transform, D2D1_RECT_F *bounds)
4882 {
4883     FIXME("iface %p, transform %p, bounds %p stub!.\n", iface, transform,
bounds);
4884 
4885     return E_NOTIMPL;
4886 }
--- snip ---

There are preceding stub method call(s) such as 'd2d_device_context_PushLayer':

https://source.winehq.org/git/wine.git/blob/e377786a71c3b6eab5bc11c0b1c9c7c3dc309398:/dlls/d2d1/device.c#l1517

--- snip ---
1517 static void STDMETHODCALLTYPE
d2d_device_context_PushLayer(ID2D1DeviceContext *iface,
1518         const D2D1_LAYER_PARAMETERS *layer_parameters, ID2D1Layer *layer)
1519 {
1520     FIXME("iface %p, layer_parameters %p, layer %p stub!\n", iface,
layer_parameters, layer);
1521 }
--- snip ---

The user visible / blocker issue is 'd2d_geometry_group_GetBounds' though,
hence the report.

$ sha1sum AdobeAudition13All.zip 
b2800e4fd28f3c669cd0b3754ec11a9e8e18cee1  AdobeAudition13All.zip

$ du -sh AdobeAudition13All.zip
296M    AdobeAudition13All.zip

$ wine --version
wine-6.0-rc4

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