Bug 222302 - Add Options::hangOnVerifyGCError() debugging utility.
Summary: Add Options::hangOnVerifyGCError() debugging utility.
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Mark Lam
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2021-02-22 20:54 PST by Mark Lam
Modified: 2021-03-08 10:31 PST (History)
6 users (show)

See Also:


Attachments
proposed patch. (2.58 KB, patch)
2021-02-22 21:08 PST, Mark Lam
mark.lam: review-
ews-feeder: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Lam 2021-02-22 20:54:50 PST
Sometimes, verifyGC errors are intermittent and it takes many runs of the jsc shell to reproduce.  A --hangOnVerifyGCError=true option will allow the shell to hang after it dumps its verifyGC error message instead of crashing.  With this, we can now run 1000s of iterations of invoking the jsc shell to reproduce the error, and it will hang if it finds the error, thereby allowing us to attach lldb later to do some data inspection.
Comment 1 Mark Lam 2021-02-22 21:08:37 PST
Created attachment 421283 [details]
proposed patch.
Comment 2 Radar WebKit Bug Importer 2021-03-01 20:55:14 PST
<rdar://problem/74908610>
Comment 3 Saam Barati 2021-03-08 10:29:13 PST
Comment on attachment 421283 [details]
proposed patch.

View in context: https://bugs.webkit.org/attachment.cgi?id=421283&action=review

> Source/JavaScriptCore/ChangeLog:12
> +        Sometimes, verifyGC errors are intermittent and it takes many runs of the jsc
> +        shell to reproduce.  A --hangOnVerifyGCError=true option will allow us to run
> +        an unlimited iterations of invoking the jsc shell to reproduce the error, and it
> +        will hang when it catches the error.  We can then attach lldb later to do some
> +        data inspection to debug the error.

Why not just  run lldb in  a  loop?
Comment 4 Mark Lam 2021-03-08 10:31:41 PST
(In reply to Saam Barati from comment #3)
> Why not just  run lldb in  a  loop?

I didn't think this was possible.  My mistake.