New issue
Advanced search Search tips

Issue 602285 link

Starred by 4 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Apr 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug



Sign in to add a comment

Add a crash-key for CHECK/DCHECK messages

Project Member Reported by gab@chromium.org, Apr 11 2016

Issue description

[breaking off from  issue 601469 ]

The CHECK messages end up on the stack but aren't surfaced in the crash/ UI. Siggi made a point that it would be very useful to surface that information there instead of requiring developers to crack open the minidump.
 
The CHECK messages are really on the stack? They should definitely be getting stripped out of real builds.

Comment 2 by gab@chromium.org, Apr 11 2016

They should be on the stack AFAIK (they weren't in the recent DCHECK build but that was intentional and being revisited --  issue 601469 ).

Could either be stripped server-side or sent in a crash-key by the client, whichever is easiest. I think Siggi was arguing to do as much work as possible client-side?
I meant I wouldn't expect any of those strings to be in an official build either way.

Comment 4 by siggi@chromium.org, Apr 11 2016

From a random sampling of one crash asserting on this line 

ATOM ClassRegistrar::RetrieveClassAtom(const ClassInfo& class_info) {
  ATOM atom = RegisterClassEx(&window_class);
...
  CHECK(atom) << GetLastError();
...

it appears that the check strings are indeed elided from the binary, and do not appear in the crash that I can find.

C:\>c:\src\tools\strings.exe c:\Users\siggi\Downloads\upload_file_minidump-6ef7a01400000000.dmp | findstr /i "atom"
kernel32.dllapi-ms-win-core-atoms-l1-1-0

If we go to the trouble of shipping another DCHECK build on Canary, however, perhaps we should make this happen for that build.

Comment 5 by w...@chromium.org, Apr 11 2016

CHECK strings should be in all builds; *DCHECK* strings I would not expect to have present in Release builds, unless DCHECK_ALWAYS_ON was set.

Scott, it sounds like you're advocating that CHECK only includes the string-to-log in Debug builds, and omits it in Release builds?
I don't see any reason to ship a bunch of junk strings to users at all (isn't that the whole point of the crazy logging.h macros?), so I would expect that we don't ship any of those strings in official builds (CHECK or DCHECK). For one-off things it seems like it'd be useful and fine though.

Comment 7 by thakis@chromium.org, Apr 11 2016

No, CHECK strings are not in all builds, they're stipped in official builds (except on Android, sadly).

Comment 8 by gab@chromium.org, Apr 13 2016

I see, are CHECK_OP strings also striped? I somehow recall using them in WinDBG but it might have been a local build..

Comment 9 by w...@chromium.org, Apr 13 2016

Yes - official builds implement CHECK_OP via CHECK, which itself just
executes a debug break without logging anything.

Comment 10 by gab@chromium.org, Apr 14 2016

Status: Archived (was: Untriaged)
I see then I guess the question is whether we need these strings in a crash key, sounds like they're too heavy to even compile in so I guess not... I'll archive this for now, @siggi feel free to re-open if you have more arguments in favor of doing this.

Comment 11 by gab@chromium.org, Apr 14 2016

Status: WontFix (was: Archived)

Sign in to add a comment