https://bugs.winehq.org/show_bug.cgi?id=45543
Bug ID: 45543 Summary: Rekordbox 5.3.0 terminates with the message "Unexpected application error" Product: Wine Version: 3.13 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: bghome@gmail.com Distribution: ---
The problem -----------
When I run the application like
cd ~/.wine/drive_c/Program Files/Pioneer wine ./rekordbox.exe
The application terminates with the message "Unexpected application error".
Prerequisite ------------
- Enable "Hide Wine version from applications" option (see bug #45514). - Install MS core fonts (see bug #45535).
https://bugs.winehq.org/show_bug.cgi?id=45543
--- Comment #1 from Géza Búza bghome@gmail.com --- Created attachment 61949 --> https://bugs.winehq.org/attachment.cgi?id=61949 Debug trace (WINEDEBUG=+relay,+seh) wine-staging
https://bugs.winehq.org/show_bug.cgi?id=45543
--- Comment #2 from Géza Búza bghome@gmail.com --- Created attachment 61950 --> https://bugs.winehq.org/attachment.cgi?id=61950 Complete terminal output
https://bugs.winehq.org/show_bug.cgi?id=45543
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, win64 URL| |https://rekordbox.com/_app/ | |files/Install_rekordbox_x64 | |_5_3_0.zip CC| |bunglehead@gmail.com, | |focht@gmx.net
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello Géza,
hard to tell from logs, maybe adding 'dwrite' debug channel provides better results. Running the app under 'winedbg' might provide additional insight into crash locations.
Did you do an UI interaction, i.e. clicked some menu item etc. to trigger the problem? If yes, please always state the exact steps. This is very important for reproducing. For instance in my case I had to actually do something, that is clicking 'iTunes' -> 'All tracks' to trigger a crash.
This seems to be another dwrite issue besides bug #45535 I don't know if this is the same you encounter here.
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Pioneer/rekordbox 5.3.0
$ WINEDEBUG=+seh,+relay,+dwrite wine ./rekordbox.exe >>log.txt 2>&1 ... 0031:trace:dwrite:dwritetextanalyzer_GetGlyphPlacements (L"The iTunes xml file specified is unable to be read properly." 0x36394ee0 0x3633b600 60 0x36558a40 0x36563d00 60 0x98a4b0 14.81 0 0 "Latn" L"en-us" (nil) (nil) 0 0x364a6500 0x3655a130) 0031:trace:dwrite:dwritefontface_QueryInterface (0x98a4b0)->({a71efdb4-9fdb-4838-ad90-cfc3be8c3daf} 0x23e078) 0031:trace:dwrite:dwritefontface_GetMetrics (0x98a4b0)->(0x23e080) 0031:trace:dwrite:dwritefontface1_GetDesignGlyphAdvances (0x98a4b0)->(1 0x36558a40 0x23e074 0) 0031:trace:dwrite:dwritefontface1_GetDesignGlyphAdvances (0x98a4b0)->(1 0x36558a42 0x23e074 0) 0031:trace:dwrite:dwritefontface1_GetDesignGlyphAdvances (0x98a4b0)->(1 0x36558a44 0x23e074 0) ... 0031:trace:dwrite:dwritefontface1_GetDesignGlyphAdvances (0x98a4b0)->(1 0x36558ab6 0x23e074 0) 0031:trace:dwrite:dwritefontface_Release (0x98a4b0)->(4) 0031:Call ntdll.RtlFreeHeap(00010000,00000000,3633b600) ret=7fbbab5c8ebc 0031:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7fbbab5c8ebc 0031:Call ntdll.RtlFreeHeap(00010000,00000000,36563d00) ret=7fbbab5c8ebc 0031:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7fbbab5c8ebc 0031:trace:dwrite:dwritefontface_GetMetrics (0x98a4b0)->(0x23e500) 0031:trace:dwrite:layout_compute run [0,1], len 2, bidilevel 0 0031:trace:dwrite:layout_compute run [2,61], len 60, bidilevel 0 0031:trace:seh:NtRaiseException code=c0000005 flags=0 addr=0x7fbbab5ceccf ip=7fbbab5ceccf tid=0031 0031:trace:seh:NtRaiseException info[0]=0000000000000000 0031:trace:seh:NtRaiseException info[1]=00000008365510ee 0031:trace:seh:NtRaiseException rax=00000008365510e8 rbx=000000000023e9e0 rcx=000000000023e65c rdx=0000000ffffffff0 0031:trace:seh:NtRaiseException rsi=000000000000000a rdi=00007fbbab600d00 rbp=000000000023e610 rsp=000000000023e510 0031:trace:seh:NtRaiseException r8=0000000000000000 r9=0000000000000000 r10=0000000000000000 r11=0000000000000000 0031:trace:seh:NtRaiseException r12=00000000ffffffff r13=0000000000000001 r14=0000000000000000 r15=0000000000000000 ... --- snip ---
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Pioneer/rekordbox 5.3.0
$ winedbg ./rekordbox.exe ... Unhandled exception: page fault on read access to 0x80d11506e in 64-bit code (0x00007f3060d41ccf). 0031:fixme:dbghelp:interpret_function_table_entry PUSH_MACHFRAME 6 0031:fixme:dbghelp:interpret_function_table_entry PUSH_MACHFRAME 6 Register dump: rip:00007f3060d41ccf rsp:000000000023e580 rbp:000000000023e680 eflags:00010206 ( R- -- I - -P- ) rax:000000080d115068 rbx:000000000023ea50 rcx:000000000023e6cc rdx:0000000ffffffff0 rsi:000000000000000a rdi:00007f3060d73d00 r8:000000000000003b r9:0000000000000001 r10:0000000000000010 r11:0000000000000000 r12:00000000ffffffff r13:0000000000000001 r14:0000000000000000 r15:0000000000000000 Stack dump: 0x000000000023e580: 0000003e007802a7 000000000023e6cc 0x000000000023e590: 0000000000000000 000000000d117ea0 0x000000000023e5a0: 0000000100000000 0000000000000001 0x000000000023e5b0: 0000000000000000 0000000000000000 0x000000000023e5c0: 0000000000000000 0000000000000000 0x000000000023e5d0: 00007f3060d98978 0000000000000000 0x000000000023e5e0: 0000000000000000 000000000d117fc8 0x000000000023e5f0: 000000000023e680 00007f3060d3f70b 0x000000000023e600: 0000000043ee0000 000000000d117ea0 0x000000000023e610: 00000000436e0000 000000000d117eb0 0x000000000023e620: 000000000000003e 000a00000d117eb8 0x000000000023e630: 000000100d169630 000000080d115068 Backtrace: =>0 0x00007f3060d41ccf layout_add_line+0xfd() [/home/focht/projects/wine/mainline-src/dlls/dwrite/layout.c:1844] in dwrite (0x000000000023e680) 1 0x00007f3060d42b37 layout_compute_effective_runs+0x2f9() [/home/focht/projects/wine/mainline-src/dlls/dwrite/layout.c:2081] in dwrite (0x000000000023e700) 2 0x00007f3060d4b0c1 dwritetextlayout_GetLineMetrics+0x119() [/home/focht/projects/wine/mainline-src/dlls/dwrite/layout.c:3574] in dwrite (0x000000000023e800) 3 0x00000001412e24f0 in rekordbox (+0x12e24ef) (0x000000000023ea50) 4 0x00000001412e2352 in rekordbox (+0x12e2351) (0x000000000023eb10) 5 0x000000014133467a in rekordbox (+0x1334679) (0x000000000023eb10) 0x00007f3060d41ccf layout_add_line+0xfd [/home/focht/projects/wine/mainline-src/dlls/dwrite/layout.c:1844] in dwrite: movzbl 0x0000000000000006(%rax),%eax 1844 if (!cluster->isWhitespace) --- snip ---
CC'ing Nikolay here too.
Regards
https://bugs.winehq.org/show_bug.cgi?id=45543
Géza Búza bghome@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID
--- Comment #4 from Géza Búza bghome@gmail.com --- Hi Anastasius,
I did nothing, but started the application and I got the error before the GUI would have been shown up. Next time I started the app via winedbg, it catched the exception and the top of the stack trace referenced the dwrite module. Since there was no information about the source filename and line number of the fault, I compiled wine-staging from source to get the debugging symbols in it. After that the app started correctly and the main GUI was displayed. So the problem went away when I used the self compiled version of wine-staging 1.13. I suspect that there must be an issue with the Arch Linux package of wine-staging. So this bug can be closed.
I see other issues with the app like missing music collection browser or crash when want to play music file by drag and drop. But those needs to go into separate bug tickets.
Thank you again for the guidance.
Regards, Géza
https://bugs.winehq.org/show_bug.cgi?id=45543
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nerv@dawncrow.de Status|RESOLVED |CLOSED
--- Comment #5 from André H. nerv@dawncrow.de --- closing invalid
https://bugs.winehq.org/show_bug.cgi?id=45543
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|INVALID |--- Status|CLOSED |REOPENED Ever confirmed|0 |1 Component|-unknown |dwrite
--- Comment #6 from Nikolay Sivov bunglehead@gmail.com --- Why was this closed?
https://bugs.winehq.org/show_bug.cgi?id=45543
--- Comment #7 from André H. nerv@dawncrow.de --- (In reply to Nikolay Sivov from comment #6)
Why was this closed?
because of a seemingly bad arch package, and it was resolved as invalid for some weeks now:
(In reply to Géza Búza from comment #4)
Hi Anastasius,
I did nothing, but started the application and I got the error before the GUI would have been shown up. Next time I started the app via winedbg, it catched the exception and the top of the stack trace referenced the dwrite module. Since there was no information about the source filename and line number of the fault, I compiled wine-staging from source to get the debugging symbols in it. After that the app started correctly and the main GUI was displayed. So the problem went away when I used the self compiled version of wine-staging 1.13. I suspect that there must be an issue with the Arch Linux package of wine-staging. So this bug can be closed.
I see other issues with the app like missing music collection browser or crash when want to play music file by drag and drop. But those needs to go into separate bug tickets.
But I don't mind it being reopened
https://bugs.winehq.org/show_bug.cgi?id=45543
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |NEW URL|https://rekordbox.com/_app/ |https://web.archive.org/web |files/Install_rekordbox_x64 |/20190405195012/https://rek |_5_3_0.zip |ordbox.com/_app/files/Insta | |ll_rekordbox_x64_5_3_0.zip
--- Comment #8 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present. Resetting status to 'new' after reopen. Also adding stable link via Internet Archive.
$ sha1sum Install_rekordbox_x64_5_3_0.zip da2aac3a54cdbb0122937eab67a8a83942b18679 Install_rekordbox_x64_5_3_0.zip
$ du -sh Install_rekordbox_x64_5_3_0.zip 228M Install_rekordbox_x64_5_3_0.zip
$ wine --version wine-4.5-185-g17056908ac
Regards
https://bugs.winehq.org/show_bug.cgi?id=45543
--- Comment #9 from Anastasius Focht focht@gmx.net --- Hello folks,
the crash can also be reproduced by just providing incorrect email/password (foobar@inter.net test1234) in activation dialog.
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Pioneer/rekordbox 5.3.0
$ winedbg --gdb ./rekordbox.exe ...
Thread 1 received signal SIGSEGV, Segmentation fault. 0x00007fb041f48b05 in layout_add_line (layout=0x795a40, first_cluster=0, last_cluster=0, textpos=0x22e36c) at /home/focht/projects/wine/staging-src-4.5/dlls/dwrite/layout.c:1888 1888 if (!cluster->isWhitespace)
Wine-gdb> bt #0 0x00007fb041f48b05 in layout_add_line (layout=0x795a40, first_cluster=0, last_cluster=0, textpos=0x22e36c) at /home/focht/projects/wine/staging-src-4.5/dlls/dwrite/layout.c:1888 #1 0x00007fb041f499b5 in layout_compute_effective_runs (layout=0x795a40) at /home/focht/projects/wine/staging-src-4.5/dlls/dwrite/layout.c:2128 #2 0x00007fb041f5217f in dwritetextlayout_GetLineMetrics (iface=0x795a40, metrics=0x0, max_count=0, count=0x22e530) at /home/focht/projects/wine/staging-src-4.5/dlls/dwrite/layout.c:3621 #3 0x00000001412e24f0 in ?? () #4 0x0000000000795a40 in ?? () #5 0x0000000000000000 in ?? ()
Wine-gdb> info locals cluster = 0x800795708 lc = 0x1000790690 ch = 10 is_rtl = 0 params = {strikethrough = 2286368, underline = 0, effect = 0x7fb041f4627f <layout_compute+450>} prev_params = {strikethrough = 0, underline = 0, effect = 0x795b68} sign_metrics = {width = 0, height = 0, baseline = 0, supportsSideways = 0} line = 0 i = 0 metrics = {length = 0, trailingWhitespaceLength = 1, newlineLength = 1, height = 0, baseline = 0, isTrimmed = 0, leadingBefore = 0, leadingAfter = 0} index = 4294967295 start = 32688 pos = 0 descent = 0 trailingspacewidth = 0 append_trimming_run = 0 run = 0x795ba8 width = 0 origin_x = 1.11449751e-38 hr = 0 __FUNCTION__ = "layout_add_line" --- snip ---
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/dwrite/layout.c#l1822
--- snip --- 1822 static void layout_add_line(struct dwrite_textlayout *layout, UINT32 first_cluster, UINT32 last_cluster, 1823 UINT32 *textpos) 1824 { 1825 BOOL is_rtl = layout->format.readingdir == DWRITE_READING_DIRECTION_RIGHT_TO_LEFT; 1826 struct layout_final_splitting_params params, prev_params; 1827 DWRITE_INLINE_OBJECT_METRICS sign_metrics = { 0 }; 1828 UINT32 line = layout->metrics.lineCount, i; 1829 DWRITE_LINE_METRICS1 metrics = { 0 }; 1830 UINT32 index, start, pos = *textpos; 1831 FLOAT descent, trailingspacewidth; 1832 BOOL append_trimming_run = FALSE; 1833 const struct layout_run *run; 1834 FLOAT width, origin_x; 1835 HRESULT hr; 1836 1837 /* Take a look at clusters we got for this line in reverse order to set trailing properties for current line */ 1838 for (index = last_cluster, trailingspacewidth = 0.0f; index >= first_cluster; index--) { 1839 DWRITE_CLUSTER_METRICS *cluster = &layout->clustermetrics[index]; 1840 struct layout_cluster *lc = &layout->clusters[index]; 1841 WCHAR ch; 1842 1843 /* This also filters out clusters added from inline objects, those are never 1844 treated as a white space. */ 1845 if (!cluster->isWhitespace) 1846 break; ... --- snip ---
first_cluster == last_cluster == 0 -> loop index out of bounds.
Regards
https://bugs.winehq.org/show_bug.cgi?id=45543
--- Comment #10 from Nikolay Sivov bunglehead@gmail.com --- Created attachment 64151 --> https://bugs.winehq.org/attachment.cgi?id=64151 patch
Does this work? I was unable to reproduce because it doesn't even start for me, it displays black unresponsive window and stops there. From the log, I can only see font enumeration, not a single layout call.
https://bugs.winehq.org/show_bug.cgi?id=45543
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugs.winehq.org/sho | |w_bug.cgi?id=45514
--- Comment #11 from Anastasius Focht focht@gmx.net --- Hello Nikolay,
yes, your patch prevents the crash. The main user interface is fully functional after passing the registration dialog. I played some example tracks.
--- quote --- I was unable to reproduce because it doesn't even start for me, it displays black unresponsive window and stops there. --- quote ---
Did you work around bug 45514 ? The easiest way without using Wine-Staging is to export 'ntdll.wine_get_version()' by ordinal (one line change):
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/ntdll/ntdll.spec#l151...
--- snip --- @ cdecl wine_get_version() NTDLL_wine_get_version --- snip ---
Example:
--- snip --- 1234 cdecl -noname wine_get_version() NTDLL_wine_get_version --- snip ---
$ wine --version wine-4.6
Regards
https://bugs.winehq.org/show_bug.cgi?id=45543
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|wine-bugs@winehq.org |bunglehead@gmail.com
--- Comment #12 from Nikolay Sivov bunglehead@gmail.com --- (In reply to Anastasius Focht from comment #11)
Hello Nikolay,
yes, your patch prevents the crash. The main user interface is fully functional after passing the registration dialog. I played some example tracks.
Thanks, I'll send it later.
--- quote --- I was unable to reproduce because it doesn't even start for me, it displays black unresponsive window and stops there. --- quote ---
Did you work around bug 45514 ? The easiest way without using Wine-Staging is to export 'ntdll.wine_get_version()' by ordinal (one line change):
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/ntdll/ntdll.spec#l151...
--- snip --- @ cdecl wine_get_version() NTDLL_wine_get_version --- snip ---
I didn't, because I wasn't aware it needs that.
https://bugs.winehq.org/show_bug.cgi?id=45543
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|bunglehead@gmail.com |
https://bugs.winehq.org/show_bug.cgi?id=45543
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |571ffaf380f3d80da60ff8bca40 | |31baceefa7811
--- Comment #13 from Anastasius Focht focht@gmx.net --- Hello folks,
this is fixed by commit https://source.winehq.org/git/wine.git/commitdiff/571ffaf380f3d80da60ff8bca4... ("dwrite/layout: Fix invalid index access to cluster array.")
Thanks Nikolay
$ wine --version wine-4.6-30-gf9301c2b66
Regards
https://bugs.winehq.org/show_bug.cgi?id=45543
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|bunglehead@gmail.com |wine-bugs@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=45543
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Rekordbox 5.3.0 terminates |Multiple games and |with the message |applications crash in |"Unexpected application |dwrite due to invalid index |error" |access to cluster array | |(Rekordbox 5.3.0, | |SpellForce 3)
https://bugs.winehq.org/show_bug.cgi?id=45543
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mo78@abv.bg
--- Comment #14 from Anastasius Focht focht@gmx.net --- *** Bug 44340 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=45543
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #15 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 4.7.
https://bugs.winehq.org/show_bug.cgi?id=45543
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |4.0.x
https://bugs.winehq.org/show_bug.cgi?id=45543
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|4.0.x |---
--- Comment #16 from Michael Stefaniuc mstefani@winehq.org --- Removing the 4.0.x milestone from bug fixes included in 4.0.2.