Correlation does not imply causation: fixing crashes using aggregate data

L. David Baron

Monday, December 7, 2009

Causation (easy)

XUL element with flex="0" Sum of flex is 0 Divide by 0 Crash

Data we have

Getting led in the right direction

  nsCycleCollectingAutoRefCnt::decr(nsISupports*)|EXCEPTION_ACCESS_VIOLATION (1508 crashes)
     46% (698/1508) vs.   5% (4295/95088) {6E19037A-12E3-4295-8915-ED48BC341614} (*xg.dll (RelevantKnowledge), http://www.relevantknowledge.com/)
     34% (509/1508) vs.   5% (4838/95088) {B7082FAA-CB62-4872-9106-E42DD88EDE45} (McAfee SiteAdvisor, http://www.siteadvisor.com/)
     74% (1110/1508) vs.  48% (45691/95088) {20a82645-c095-46ed-80e3-08825760534b} (Microsoft .NET Framework Assistant, http://www.windowsclient.net/)
     35% (528/1508) vs.  25% (23349/95088) {CAFEEFAC-0016-0000-0015-ABCDEFFEDCBA} (Java Console, http://java.sun.com/javase/downloads/)
     28% (427/1508) vs.  21% (20061/95088) {CAFEEFAC-0016-0000-0013-ABCDEFFEDCBA} (Java Console, http://java.sun.com/javase/downloads/)
     11% (170/1508) vs.   6% (5945/95088) moveplayer@movenetworks.com

Getting led in the right direction

  nsCycleCollectingAutoRefCnt::decr(nsISupports*)|EXCEPTION_ACCESS_VIOLATION (1508 crashes)
      0% (1/1508) vs.   1% (674/95088) x86 with 0 cores
      1% (9/1508) vs.  39% (37510/95088) x86 with 1 cores
     90% (1352/1508) vs.  55% (52378/95088) x86 with 2 cores
      0% (7/1508) vs.   0% (307/95088) x86 with 3 cores
      9% (131/1508) vs.   4% (3957/95088) x86 with 4 cores
      1% (8/1508) vs.   0% (261/95088) x86 with 8 cores
      0% (0/1508) vs.   0% (1/95088) x86 with 16 cores

A little more confusing

  PR_EnumerateAddrInfo|EXC_BAD_ACCESS / KERN_PROTECTION_FAILURE (70 crashes)
     99% (69/70) vs.   1% (215/15176) {73a6fe31-595d-460b-a920-fcc0f8843232} (NoScript, https://addons.mozilla.org/addon/722)
     50% (35/70) vs.   7% (1123/15176) {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d} (Adblock Plus, https://addons.mozilla.org/addon/1865)
     14% (10/70) vs.   3% (400/15176) {DDC359D1-844A-42a7-9AA1-88A850A938A8} (DownThemAll!, https://addons.mozilla.org/addon/201)
     14% (10/70) vs.   3% (443/15176) {e4a8a97b-f2ed-450b-b12d-ee082ba24781} (Greasemonkey, https://addons.mozilla.org/addon/748)
     14% (10/70) vs.   3% (458/15176) {D4DD63FA-01E4-46a7-B6B1-EDAB7D6AD389} (Download Statusbar, https://addons.mozilla.org/addon/26)
     11% (8/70) vs.   1% (193/15176) {19503e42-ca3c-4c27-b1e2-9cdb2170ee34} (FlashGot, https://addons.mozilla.org/addon/220)
     10% (7/70) vs.   1% (191/15176) {37E4D8EA-8BDA-4831-8EA1-89053939A250} (PDF Download, https://addons.mozilla.org/addon/636)
     11% (8/70) vs.   3% (493/15176) foxmarks@kei.com (Xmarks (formerly Foxmarks), https://addons.mozilla.org/addon/2410)
      9% (6/70) vs.   0% (66/15176) {9f08cb5a-76b1-4bcf-aff9-90e1a5d60b1e} (Noia 2.0 (eXtreme), https://addons.mozilla.org/addon/72)
      9% (6/70) vs.   1% (148/15176) {dc572301-7619-498c-a57d-39143191b318} (Tab Mix Plus, https://addons.mozilla.org/addon/1122)
      7% (5/70) vs.   1% (77/15176) {d40f5e7b-d2cf-4856-b441-cc613eeffbe3} (BetterPrivacy, https://addons.mozilla.org/addon/6623)
     13% (9/70) vs.   6% (953/15176) {b9db16a4-6edc-47ec-a1f4-b86292ed211d} (Video DownloadHelper, https://addons.mozilla.org/addon/3006)
      6% (4/70) vs.   0% (42/15176) optout@dubfire.net (Targeted Advertising Cookie Opt-Out (TACO), https://addons.mozilla.org/addon/11073)
      6% (4/70) vs.   1% (101/15176) {E0B8C461-F8FB-49b4-8373-FE32E9252800} (Evernote Web Clipper, https://addons.mozilla.org/addon/8381)

Not the cause, but a useful hint

domains of sites
  58 http://nasza-klasa.pl
     ...

Not the cause, but a useful hint

domains of sites
  58 http://nasza-klasa.pl
  17 \N
  13 http://www.google.pl
  12 http://www.allegro.pl
   8 http://mail.google.com
     ...

Conclusions