Skip to content

Commit 865323b

Browse files
authored
Add support for Chrome's new DCHECK message format (google#4726)
Since we changed the output format of DCHECKs in Chrome, we need to handle that to prevent CF from considering the bugs fixed. In the meantime, we can add a 'DCHECK failure' error type to decouple checks and dchecks bugs.
1 parent e58bcfc commit 865323b

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

src/clusterfuzz/stacktraces/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1024,6 +1024,8 @@ def parse(self, stacktrace: str) -> CrashInfo:
10241024
'Fatal error')
10251025
self.update_state_on_check_failure(
10261026
state, line, CHROME_CHECK_FAILURE_REGEX, 'CHECK failure')
1027+
self.update_state_on_check_failure(
1028+
state, line, CHROME_DCHECK_FAILURE_REGEX, 'DCHECK failure')
10271029
self.update_state_on_check_failure(
10281030
state, line, GOOGLE_CHECK_FAILURE_REGEX, 'CHECK failure')
10291031

src/clusterfuzz/stacktraces/constants.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@
8686
r'CFI: Most likely a control flow integrity violation;.*')
8787
CHROME_CHECK_FAILURE_REGEX = re.compile(
8888
r'\s*\[[^\]]*[:]([^\](]*).*\].*(?:Check failed:|NOTREACHED hit.)\s*(.*)')
89+
CHROME_DCHECK_FAILURE_REGEX = re.compile(
90+
r'\s*\[[^\]]*[:]([^\](]*).*\].*(DCHECK failed:)\s*(.*)')
8991
CHROME_STACK_FRAME_REGEX = re.compile(
9092
r'[ ]*(#(?P<frame_id>[0-9]+)[ ]' # frame id (2)
9193
r'([xX0-9a-fA-F]+)[ ])' # addr (3)

0 commit comments

Comments
 (0)