Troubleshooting

Common issues/workarounds for honeybadger-js are documented here. If you don't find a solution to your problem here or in our support documentation, email support@honeybadger.io and we'll assist you!

Before You Start Troubleshooting

  1. Make sure you are on the latest version of honeybadger.js.
  2. Enable the debug config option, and then check the console. You should now see verbose logs from Honeybadger:

    [Log] [Honeybadger] Initializing honeybadger.js 0.5.1 (honeybadger.min.js, line 1)
    [Log] [Honeybadger] Installing ready handler (honeybadger.min.js, line 1)
    [Log] [Honeybadger] honeybadger.js 0.5.1 ready (honeybadger.min.js, line 1)
    

All Errors Are Not Reported

If no errors are reported (even manually via Honeybadger.notify):

  1. Is the apiKey config option configured?
  2. Is the error ignored via the ignorePatterns config option?
  3. Is the error ignored in a beforeNotify callback?

Uncaught Errors Are Not Reported

If you can report errors using Honeybadger.notify, but uncaught errors are not automatically reported:

  1. Is the onerror config option enabled? It must be enabled for uncaught errors to be reported. It is enabled by default.
  2. Is Honeybadger's window.onerror callback installed? Check window.onerror in the console and make sure it originates in honeybadger.js or honeybadger.min.js (or wherever you are hosting our JavaScript). If it doesn't, it's possible some 3rd-party code is overriding our callback.
  3. If the error originates in a file hosted on a different domain, is CORs enabled? If you host your assets on a CDN (or if the domain is different from where your HTML is served) you may need to enable CORS on your asset domain for the window.onerror errors to be reported. See https://developer.mozilla.org/en/docs/Web/API/GlobalEventHandlers/onerror#Notes for more info. If this is the issue, you should see logs similar to this:

    [Log] [Honeybadger] Ignoring cross-domain script error.
    
  4. Does your application or framework handle errors internally? If you're using a framework, search the documentation for "error handling". For example, Ember provides its own Ember.onerror callback which you must configure in order for uncaught errors to be reported:

    Ember.onerror = function(error) {
      Honeybadger.notify(error);
    };
    

Source Map Is Not Working

If You Are Hosting Your Source Map

In some cases a few minified errors may get through before we have the chance to download and process your hosted source map. If your source map is not being applied to your errors after the first few minutes:

  1. Is your minified file publicly accessible? Try downloading it with curl:

     curl https://www.example.com/assets/application.min.js
    
  2. Does your minified file have the sourceMappingURL comment?

  3. Is your Source Map file publicly accessible? Try downloading it with curl:

     curl https://www.example.com/assets/application.min.js.map
    
  4. If using Authentication, is the Honeybadger-Token header validated correctly? Try downloading with curl:

    curl -H"Honeybadger-Token: token" https://www.example.com/assets/application.min.js.map
    

If You Are Uploading Your Source Map

  1. Navigate to Project Settings -> Source Maps -> Uploaded Source Maps, then:
    1. Does the Minified URL for your source map match the minified URL in your JavaScript stack trace? The URLs must match exactly, with the exception of wildcards.
    2. Does the revision match the revision key in the Application Environment section of the error page? If it doesn't, make sure the revision of your uploaded source map is the same as the revision configured in honeybadger-js.
  2. If your build process includes compression, make sure your source map files are not compressed (such as with gzip compression) when you upload them.
  3. Can you parse your source map as JSON? Source map files must be valid JSON.