Page MenuHomePhabricator

Improve Sentry coverage
Open, Needs TriagePublic

Description

Tracks which types of errors can be caught by Sentry.

Coverage for global error handling

See T88874

  • Old browsers: message only
  • Modern browsers
    • JS cache hit
      • Chrome/FF(/IE?): full stack (see also T90524)
      • Other: message only
    • JS cache miss: no info T508

Coverage for callback wrapping

See T85262 - not merged!, this approach has been abandoned for now.

NormalmodeDebugmode
module initsetTimeout$.ready$.event$.ajaxmisc cbmw.loaderCSSmodule initsetTimeout$.ready$.event$.ajaxmisc cbmw.loaderCSS
Chrome

Error types

  • module init: errors occuring when the JS code of the module is executed
  • setTimeout: error in a setTimeout/setInterval callback
  • $.ready: error in a jQuery onready handler ($(handler))
  • $.event: error in a jQuery event handler ($elem.click(handler) etc)
  • $.ajax: error in a jQuery AJAX callback
  • misc cb: error in an event handler / callback which is none of the above (e.g. native handler via addEventListener, native AJAX callback) - these should be caught via window.onerror
  • mw.loader: error in an mw.loader callback which is swallowed by ResourceLoader
  • CSS: error when styles are added by ResourceLoader via the IE compatibility hack (T33676)

Related Objects

StatusAssignedTask
OpenTgr
ResolvedTgr
ResolvedGilles
OpenNone
OpenNone
OpenTgr
OpenTgr
ResolvedTgr
Resolvedcsteipp
ResolvedTgr
ResolvedTgr
ResolvedTgr
OpenNone
Resolvedjcrespo
ResolvedAklapper
ResolvedTgr
ResolvedTgr
OpenNone
ResolvedTgr
DeclinedTgr
DeclinedTgr
StalledTgr
ResolvedTgr
StalledTgr
ResolvedTgr
OpenTgr
ResolvedKrinkle
DeclinedNone
OpenTgr
ResolvedTgr

Event Timeline

Tgr created this task.Feb 3 2015, 7:06 AM
Tgr updated the task description. (Show Details)
Tgr raised the priority of this task from to Needs Triage.
Tgr added projects: Sentry, Tracking-Neverending.
Tgr added a subscriber: Tgr.
Restricted Application added a project: Multimedia. · View Herald TranscriptFeb 3 2015, 7:06 AM
Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Tgr updated the task description. (Show Details)Feb 3 2015, 8:06 AM
Tgr set Security to None.
Tgr updated the task description. (Show Details)Feb 6 2015, 3:46 AM
Tgr updated the task description. (Show Details)
Tgr added a comment.Mar 25 2015, 9:57 PM

After some rounds of discussion, we decided to only implement global error handling for now. That catches less errors and retrieves less information about them than callback wrapping, but it is straightforward to implement and is unlikely to cause problems (while callback wrapping depends on manipulating browser and jQuery internals, which could have far-reaching consequences). Once we know what fraction of bugs fall into the classes which are not handled well by global error handling, we can revisit.

Tgr updated the task description. (Show Details)Mar 25 2015, 10:22 PM