Chrome crashing

I’m unsure what triggered it — updating Mac OS, updating Chrome, or something else — but Chrome has started crashing for me consistently within seconds of starting up. I haven’t figured out a fix yet so I’m back to my old friend Firefox, but I did learn a few things.

Crash logs go in ~/Library/Application Support/Google/Chrome/Crashpad/completed.

file tells me they’re in the “Mini DuMP crash report” format:

% cd ~/Library/Application\ Support/Google/Chrome/Crashpad/completed
% file 891a1550-f59b-412a-bee7-baadcaa94484.dmp
891a1550-f59b-412a-bee7-baadcaa94484.dmp: Mini DuMP crash report, 9 streams, Sat Dec 21 23:34:03 2024, 0 type

And here’s a handy tool for pretty printing those: https://crates.io/crates/minidump-stackwalk

But I didn’t get too much out of staring at it:

% minidump-stackwalk 891a1550-f59b-412a-bee7-baadcaa94484.dmp

Operating system: Mac OS X
                  15.2.0 24C101
CPU: arm64
     12 CPUs

Crash reason:  EXC_BREAKPOINT / EXC_ARM_BREAKPOINT
Crash address: 0x000000011fb1d3dc
Process uptime: 4 seconds

Thread 9 ThreadPoolForegroundWorker (crashed) - tid: 104609
 0  Google Chrome Framework + 0x649d3dc
      x0 = 0x00000001723f23e8     x1 = 0x0000000000e00000
...

The actual Chrome binary lives here: /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome.

Lots of flags to play with when bringing up Chrome: https://peter.sh/experiments/chromium-command-line-switches/.

Like I think we can get the version like this?:

% /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version        
Google Chrome 131.0.6778.205

But just running from the command line with no extra flags gives some more info:

% /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome                  
[7023:259:1221/162025.173722:ERROR:content_settings_pref.cc(381)] Invalid pattern strings: [*.]docs.google.com,,*
[7023:259:1221/162025.173742:ERROR:content_settings_pref.cc(381)] Invalid pattern strings: [*.]www.stat.columbia.edu,,*
[7023:259:1221/162025.173745:ERROR:content_settings_pref.cc(381)] Invalid pattern strings: http://docs.google.com,:80,*
[7023:259:1221/162025.173748:ERROR:content_settings_pref.cc(381)] Invalid pattern strings: http://www.stat.columbia.edu,:80,*
2024-12-21 16:20:25.427 Google Chrome[7023:135037] +[IMKClient subclass]: chose IMKClient_Modern
[7023:259:1221/162025.461299:ERROR:content_settings_pref.cc(381)] Invalid pattern strings: [*.]docs.google.com,,*
[7023:259:1221/162025.461314:ERROR:content_settings_pref.cc(381)] Invalid pattern strings: [*.]www.stat.columbia.edu,,*
[7023:259:1221/162025.461317:ERROR:content_settings_pref.cc(381)] Invalid pattern strings: http://docs.google.com,:80,*
[7023:259:1221/162025.461321:ERROR:content_settings_pref.cc(381)] Invalid pattern strings: http://www.stat.columbia.edu,:80,*
[7023:36099:1221/162027.773715:ERROR:registration_request.cc(291)] Registration response error message: DEPRECATED_ENDPOINT
Created TensorFlow Lite XNNPACK delegate for CPU.
[1221/162030.378548:WARNING:crash_report_exception_handler.cc(235)] UniversalExceptionRaise: (os/kern) failure (5)
zsh: trace trap  /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome

“Registration response error message: DEPRECATED_ENDPOINT” seems to be coming from here: https://source.chromium.org/chromium/chromium/src/+/main:google_apis/gcm/engine/registration_request.cc;l=291;bpv=0;bpt=1

  // If we are able to parse a meaningful known error, let's do so. Note that
  // some errors will have HTTP_OK response code!
  size_t error_pos = response.find(kErrorPrefix);
  if (error_pos != std::string::npos) {
    std::string error =
        response.substr(error_pos + std::size(kErrorPrefix) - 1);
    LOG(ERROR) << "Registration response error message: " << error;
    RegistrationRequest::Status status = GetStatusFromError(error);
    return status;
  }

UniversalExceptionRaise seems to correspond to this: https://chromium.googlesource.com/crashpad/crashpad/+/main/handler/mac/crash_report_exception_handler.cc#235

MACH_LOG_IF(WARNING, kr != KERN_SUCCESS, kr) << "UniversalExceptionRaise";

I haven’t done anything useful with this info yet.

Finally, https://chromium.googlesource.com/chromium/src/+/master/docs/mac/debugging.md#chrome-builds talks about how to make official Chrome builds debuggable with lldb. Maybe later.

How would you debug this?


Comments

2 responses to “Chrome crashing”

  1. Bug report: https://issues.chromium.org/issues/385433270

    Asking for help on making the app debuggable with lldb: https://developer.apple.com/forums/thread/771347

    Some docs: https://developer.apple.com/library/archive/technotes/tn2206/_index.html

    Maybe the best explanation I’ve seen so far of the tool: https://developer.apple.com/library/archive/documentation/Security/Conceptual/CodeSigningGuide/Procedures/Procedures.html (Wish I had come across this before asking on the forum. I’m still unsure of how to accomplish what I want though.)

  2. Doing this “fixed” it:

    cd $HOME/Library/Application\ Support/Google

    rm -rf Chrome

Leave a Reply

Your email address will not be published. Required fields are marked *