WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 188032
[WIN] Crash when trying to access store pages
https://bugs.webkit.org/show_bug.cgi?id=188032
Summary
[WIN] Crash when trying to access store pages
Myles C. Maxfield
Reported
2018-07-25 17:39:08 PDT
[WIN] Regression(
r213614
): Crash when trying to access store pages
Attachments
Patch
(3.26 KB, patch)
2018-07-25 17:39 PDT
,
Myles C. Maxfield
no flags
Details
Formatted Diff
Diff
Archive of layout-test-results from ews206 for win-future
(12.81 MB, application/zip)
2018-07-26 04:35 PDT
,
EWS Watchlist
no flags
Details
Patch
(17.89 KB, patch)
2018-07-26 19:40 PDT
,
Myles C. Maxfield
no flags
Details
Formatted Diff
Diff
Patch
(17.88 KB, patch)
2018-07-26 23:46 PDT
,
Myles C. Maxfield
no flags
Details
Formatted Diff
Diff
Patch
(17.90 KB, patch)
2018-07-27 09:16 PDT
,
Myles C. Maxfield
ews-watchlist
: commit-queue-
Details
Formatted Diff
Diff
Archive of layout-test-results from ews204 for win-future
(12.89 MB, application/zip)
2018-07-27 11:12 PDT
,
EWS Watchlist
no flags
Details
Show Obsolete
(5)
View All
Add attachment
proposed patch, testcase, etc.
Myles C. Maxfield
Comment 1
2018-07-25 17:39:57 PDT
Created
attachment 345806
[details]
Patch
Radar WebKit Bug Importer
Comment 2
2018-07-25 18:01:24 PDT
<
rdar://problem/42606175
>
Brent Fulgham
Comment 3
2018-07-25 18:01:53 PDT
Comment on
attachment 345806
[details]
Patch R=me if the boys are happy.
Brent Fulgham
Comment 4
2018-07-25 18:03:24 PDT
S/boys/bots/
Myles C. Maxfield
Comment 5
2018-07-25 18:39:19 PDT
<
rdar://problem/42467016
>
John N. Lehner
Comment 6
2018-07-25 21:47:07 PDT
This won't fix
rdar://problem/42467016
; WebKit!WebCore::FontCascade::widthOfTextRange() is not called prior to the overflow in WebCore::GlyphBuffer::offsetAt(). Because WebCore::DisplayList::Replayer::replay() is on the stack at the time of overflow I compared WebCore::TextPainter::paintTextOrEmphasisMarks() in our previous release with today and m_context.drawEmphasisMarks(font, textRun, emphasisMark, textOrigin + FloatSize(0, emphasisMarkOffset), startOffset, endOffset); was changed to // Replaying back a whole cached glyph run to the GraphicsContext. m_context.translate(textOrigin); DisplayList::Replayer replayer(m_context, *m_glyphDisplayList); replayer.replay(); m_context.translate(-textOrigin); If I patch out the DisplayList::Replayer::replay() call with a 5-byte NOP, the crash goes away.
Myles C. Maxfield
Comment 7
2018-07-25 22:21:38 PDT
(In reply to John N. Lehner from
comment #6
)
> This won't fix
rdar://problem/42467016
; > WebKit!WebCore::FontCascade::widthOfTextRange() is not called prior to the > overflow in WebCore::GlyphBuffer::offsetAt(). > > Because WebCore::DisplayList::Replayer::replay() is on the stack at the time > of overflow I compared WebCore::TextPainter::paintTextOrEmphasisMarks() in > our previous release with today and > > m_context.drawEmphasisMarks(font, textRun, emphasisMark, textOrigin + > FloatSize(0, emphasisMarkOffset), startOffset, endOffset); > > was changed to > > // Replaying back a whole cached glyph run to the GraphicsContext. > m_context.translate(textOrigin); > DisplayList::Replayer replayer(m_context, *m_glyphDisplayList); > replayer.replay(); > m_context.translate(-textOrigin); > > If I patch out the DisplayList::Replayer::replay() call with a 5-byte NOP, > the crash goes away.
Ah, okay! That definitely helps.
Myles C. Maxfield
Comment 8
2018-07-25 22:26:38 PDT
Looks like
https://bugs.webkit.org/show_bug.cgi?id=178750
enabled display list usage without an easy way to disable it on Windows
John N. Lehner
Comment 9
2018-07-25 22:29:09 PDT
To clarify for open source, the generateGlyphBuffer() call in WebCore::DisplayList::DrawGlyphs::apply() uses the GlyphBufferAdvance overload of GlyphBuffer::add() (!USE(WINGDI)) and that doesn't update m_offsets like void add(Glyph glyph, const Font* font, float width, unsigned offsetInString = noOffset, const FloatSize* offset = 0) does, so WebCore::GlyphBuffer::offsetAt() generates the CrashOnOverflow
Myles C. Maxfield
Comment 10
2018-07-25 22:30:35 PDT
(In reply to Myles C. Maxfield from
comment #8
)
> Looks like
https://bugs.webkit.org/show_bug.cgi?id=178750
enabled display > list usage without an easy way to disable it on Windows
Fixing display lists to work on Windows requires either getting rid of the offsets member of GlyphBuffer or recording all the offsets in the DrawGlyphs object.
Myles C. Maxfield
Comment 11
2018-07-25 22:31:31 PDT
Tomorrow I'll get rid of the offsets member of GlyphBuffer.
EWS Watchlist
Comment 12
2018-07-26 04:35:25 PDT
Comment on
attachment 345806
[details]
Patch
Attachment 345806
[details]
did not pass win-ews (win): Output:
https://webkit-queues.webkit.org/results/8661025
New failing tests: http/tests/security/canvas-remote-read-remote-video-localhost.html
EWS Watchlist
Comment 13
2018-07-26 04:35:37 PDT
Created
attachment 345838
[details]
Archive of layout-test-results from ews206 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews206 Port: win-future Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit
Myles C. Maxfield
Comment 14
2018-07-26 19:40:12 PDT
Created
attachment 345897
[details]
Patch
Myles C. Maxfield
Comment 15
2018-07-26 23:46:13 PDT
Created
attachment 345902
[details]
Patch
Myles C. Maxfield
Comment 16
2018-07-27 09:16:28 PDT
Created
attachment 345917
[details]
Patch
EWS Watchlist
Comment 17
2018-07-27 11:12:20 PDT
Comment on
attachment 345917
[details]
Patch
Attachment 345917
[details]
did not pass win-ews (win): Output:
https://webkit-queues.webkit.org/results/8673844
New failing tests: fast/text/initial-advance-in-intermediate-run-complex.html fast/text/complex-first-glyph-with-initial-advance.html
EWS Watchlist
Comment 18
2018-07-27 11:12:32 PDT
Created
attachment 345930
[details]
Archive of layout-test-results from ews204 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews204 Port: win-future Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit
Myles C. Maxfield
Comment 19
2018-07-27 11:19:00 PDT
Landing despite test failures because this will fix the crash; looking into the failures today.
Myles C. Maxfield
Comment 20
2018-07-27 11:21:29 PDT
Committed
r234318
: <
https://trac.webkit.org/changeset/234318
>
mitz
Comment 21
2018-07-30 09:37:10 PDT
(In reply to Myles C. Maxfield from
comment #20
)
> Committed
r234318
: <
https://trac.webkit.org/changeset/234318
>
This appears to have caused
bug 188168
.
mitz
Comment 22
2018-07-30 09:37:56 PDT
(In reply to mitz from
comment #21
)
> (In reply to Myles C. Maxfield from
comment #20
) > > Committed
r234318
: <
https://trac.webkit.org/changeset/234318
> > > This appears to have caused
bug 188168
.
Oh, I guess EWS has warned of this in
comment 17
.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug