Bug 214449 - DoesGC failures in debug mode in 32bits
Summary: DoesGC failures in debug mode in 32bits
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Other Linux
: P2 Normal
Assignee: Caio Lima
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2020-07-17 01:32 PDT by Paulo Matos
Modified: 2020-07-27 10:26 PDT (History)
10 users (show)

See Also:


Attachments
WIP - Patch (2.77 KB, patch)
2020-07-22 05:04 PDT, Caio Lima
no flags Details | Formatted Diff | Diff
WIP - Patch (2.23 KB, patch)
2020-07-22 05:09 PDT, Caio Lima
no flags Details | Formatted Diff | Diff
Patch (1.80 KB, patch)
2020-07-22 07:47 PDT, Caio Lima
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Paulo Matos 2020-07-17 01:32:42 PDT
When compiling in debug mode with -O0 -g for ARMv7, and running the tests in debug mode we get lots of failures due to DoesGC issues. Example failure:


stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit: Error: DoesGC failed @ D@131 CheckStructure in <eval>#A8MQjF:[0x723a81c0->0x745c2f68, LLIntEval, 1276]
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:     [0] frame 0x7eb341c8 {
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       name: eval code
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       sourceURL: 
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       isInlinedFrame: false
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       callee: 0x7459d2d8
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       returnPC: 0xc4edff
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       callerFrame: 0x7eb34cb8
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       rawLocationBits: 474 0x1da
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       codeBlock: 0x723a81c0 <eval>#A8MQjF:[0x723a81c0->0x745c2f68, LLIntEval, 1276]
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:         bc#474 of 1276
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:         line: 30
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:         column: 25
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       EntryFrame: 0x7eb34240
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:     }
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:     [1] frame 0x7eb34cb8 {
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       name: eval
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       sourceURL: [native code]
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       isInlinedFrame: false
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       callee: 0x723ee4e0
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       returnPC: 0xc700e1
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       callerFrame: 0x7eb34d28
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       rawLocationBits: 4294967291 0xfffffffb
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       codeBlock: (nil)
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       EntryFrame: 0x7eb34e00
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:     }
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:     [2] frame 0x7eb34d28 {
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       name: testArray
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       sourceURL: typed-array-get-by-val-profiling.js
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       isInlinedFrame: false
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       callee: 0x723ee4c0
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       returnPC: 0xc6d1f3
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       callerFrame: 0x7eb34d88
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       rawLocationBits: 409 0x199
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       codeBlock: 0x723a80e0 testArray#CNWiJf:[0x723a80e0->0x723d4aa0, LLIntFunctionCall, 418]
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:         bc#409 of 418
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:         line: 82
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:         column: 9
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:       EntryFrame: 0x7eb34e00
stress/typed-array-get-by-val-profiling.js.eager-jettison-no-cjit:     }
Comment 1 Radar WebKit Bug Importer 2020-07-18 11:28:17 PDT
<rdar://problem/65771550>
Comment 2 Caio Lima 2020-07-22 05:04:42 PDT
Created attachment 404915 [details]
WIP - Patch

Testing DoesGC into 32-bits EWS
Comment 3 Caio Lima 2020-07-22 05:09:34 PDT
Created attachment 404916 [details]
WIP - Patch
Comment 4 Caio Lima 2020-07-22 07:47:19 PDT
Created attachment 404923 [details]
Patch
Comment 5 Mark Lam 2020-07-27 09:25:00 PDT
Comment on attachment 404923 [details]
Patch

r=me
Comment 6 Caio Lima 2020-07-27 10:23:43 PDT
Comment on attachment 404923 [details]
Patch

Thank you very much for the review!
Comment 7 EWS 2020-07-27 10:26:15 PDT
Committed r264929: <https://trac.webkit.org/changeset/264929>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404923 [details].