🪵 Analysing Chrome Crashes









If you are using Chrome as a browser or edge, which is exactly the same thing with the Microsoft sticker in the corner, then, sometimes unexpected things happen, cause the browser to crash and sometime you need to find the reason Chrome has crashed, however if you have an intermittent crash then you need to "set the trap" for debugging for the next "event"

This guide will focus on Chrome not Edge

If you get no application error in the event log then Chrome is crashing internally, and this is usually the case, if it crashes externally say in a DLL then that is also easy to trace to see why that crash is occurring, but this guide focusses on the internal crash.

Before you begin with this guide ensure you have done the basics : 

  1. Windows Updates are all current and valid (including .net)
  2. Chrome is on the latest version
  3. Antivirus/Antispyware has been checked and is functioning normally
  4. Proxy server (if used) is setup and working as it should be

First, confirm you crash analytics settings with this command in the chrome browser bar:

chrome://crashes

This will probably look like this:

This tells you that Chrome debugging and logging id disabled, first you need to globally enable crash reporting, in Chrome go to Settings > You and Google > Sync and Google services, and enable Help improve Chrome's features and performance, the enable will require a re-launch..


Then the crashes panel should no longer say "Disabled" which is good, should look like this:
Then you need to launch Chrome with the following start-up variables:

--enable-logging --v=1

That looks like this:


When you re-launch Chrome you will notice a blank "command prompt" window that starts with Chrome, this is not logging the debug events to diagnose the crash, this will be saved to this path:

C:/Users/<user_id>/AppData/Local/Google/Chrome/User Data

Couple of assumptions, C: is the drive where Chrome is installed and the <user_id> is the login ID of the user

Then in that folder, you are looking for the file called chrome_debug.log as you can see below:



This file will contain all the information you require to debug the crash, and will contain all the events and actions that the website performs with Chrome, if you have a "intermittent" crash you now need to wait for the next crash to occur.

You can also check this folder:

C:\Users\<user_id>\AppData\Local\Google\Chrome\User Data\Crashpad\reports

This will give you the DMP files which you can analyse with Windows Debugging tools or WinDBG to get to the root cause of the crash in Chrome, here you can see all the DMP files below.....


If you are looking to using the Debugging Tools you can get that from the SDK and you need to install the debugging tools - you can obtain the development kit from the SDK website here > https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/

Once you start in windbg you need to navigate to File>Symbol Search Path and enter this value:

SRV*C:\SymCache*http://msdl.microsoft.com/download/symbols

Like this as you can see here, this will tell windbg to download the symbols used to search for the error, in this example it will use C:\SymCache


Then navigate to that folder and from the menu choose File>Open Crash Dump and then point it to the path to the DMP file(s) and select one of those files, that will then look like this:


In the windows at the bottom of the screen type in this:


That will then start a full analysis of the crash, as you can see below, you should see BUSY while it processes it data:



Then the full trace will look like this, in my example:



The interesting error here is this:

ERROR_CODE: (NTSTATUS) 0xc00000fd - A new guard page for the stack cannot be created.

Which essentially translates to "out of memory" and when I check the memory of this computer it does seem to be cruising at about 80% of the RAM used which is not that bad, but when you check on the RAM installed, you notice that the computer only has 3.4GB of RAM which is bearly the minimum for Windows 10 to start with.....



This means the memory or RAM is utilised, but this should not cause a crash as its not out of memory, so we now need to wait for the crash to see what is actually going on, as the investigation so far says this:

STACK_COMMAND:  ~0s; .ecxr ; kb
SYMBOL_NAME:  chrome.exe!unknown_error_in_process
MODULE_NAME: chrome_exe
IMAGE_NAME:  chrome.exe
FAILURE_BUCKET_ID:  STACK_OVERFLOW_c00000fd_chrome.exe!unknown_error_in_process
OSPLATFORM_TYPE:  x64
OSNAME:  Windows 10

So at the moment as its not a Windows crash, only chrome will tell you why it is crashing with the logging enabled, so this could be a resource issue with the system has run out of RAM 🐏 

when you check the dedug log in Chrome, you don’t really get anything helpful apart from it stopped working, which would indicate in this instance there’s not enough RAM all the virtual memory is set in correctly, when I took a look at the virtual memory settings, it was on the system managed so I’ve updated that on this particular server do use the recommended virtual memory settings, which is usually the amount of RAM +128 MB (up to 32 GB than 832 GB +128 MB)

Since the virtual memory has been set correctly, the crashing ironically has now stopped occurring, but after your virtual memory update settings, if the crashing still occurs in this particular instance of using windows 10, you may want to put more RAM 🐏 than 4 GB.

The other option you could use these to rebuild this to serve a 2022 that will not have all the desktop experience gizmos that require extra memory, that way you could probably run this on 4 GB of RAM 🐏 without any issues whatsoever.
Previous Post Next Post

نموذج الاتصال