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?
Leave a Reply