[Bug 45543] Rekordbox 5.3.0 terminates with the message " Unexpected application error"

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Apr 5 16:10:28 CDT 2019


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

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

the crash can also be reproduced by just providing incorrect email/password
(foobar at 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

-- 
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