Bug 1365309 - Part 3: Disable ThreadStackHelper on x86 linux due to a LUL crash, r=froydnj
☠☠ backed out by 83c89460055e ☠ ☠
authorMichael Layzell <michael@thelayzells.com>
Mon, 12 Jun 2017 12:46:23 -0400
changeset 607719 56850220bd77d1c4776aad99dfbfc86d73ef7150
parent 607718 48f5e0597242cc85bcde94ce5463db12152a75d5
child 607720 9fc4c6aabd8e2603f1a0495574d50b496e836c12
push id68095
push userbmo:rbarker@mozilla.com
push dateWed, 12 Jul 2017 20:01:47 +0000
reviewersfroydnj
bugs1365309
milestone56.0a1
Bug 1365309 - Part 3: Disable ThreadStackHelper on x86 linux due to a LUL crash, r=froydnj MozReview-Commit-ID: 2kBBFftnJEd
toolkit/components/telemetry/tests/unit/xpcshell.ini
xpcom/threads/ThreadStackHelper.h
--- a/toolkit/components/telemetry/tests/unit/xpcshell.ini
+++ b/toolkit/components/telemetry/tests/unit/xpcshell.ini
@@ -47,17 +47,17 @@ tags = addons
 [test_TelemetryControllerBuildID.js]
 [test_TelemetrySendOldPings.js]
 skip-if = os == "android" # Disabled due to intermittent orange on Android
 tags = addons
 [test_TelemetrySession.js]
 tags = addons
 [test_TelemetrySession_activeTicks.js]
 [test_ThreadHangStats.js]
-skip-if = os == "android" || os == "linux" # BHR is disabled on linux (bug 1365309)
+skip-if = os == "android" || (os == "linux" && bits == 32) # BHR is disabled on 32-bit linux
 run-sequentially = Bug 1046307, test can fail intermittently when CPU load is high
 [test_TelemetrySend.js]
 [test_ChildHistograms.js]
 skip-if = os == "android" # Disabled due to crashes (see bug 1331366)
 tags = addons
 [test_ChildScalars.js]
 skip-if = os == "android" # Disabled due to crashes (see bug 1331366)
 [test_TelemetryReportingPolicy.js]
--- a/xpcom/threads/ThreadStackHelper.h
+++ b/xpcom/threads/ThreadStackHelper.h
@@ -17,18 +17,20 @@
 #include <semaphore.h>
 #include <sys/types.h>
 #elif defined(XP_WIN)
 #include <windows.h>
 #elif defined(XP_MACOSX)
 #include <mach/mach.h>
 #endif
 
-// Support pseudostack and native stack on these platforms.
-#if defined(XP_LINUX) || defined(XP_WIN) || defined(XP_MACOSX)
+// Support pseudostack and native stack on these platforms. We don't support
+// collecting this information on x86 linux builds, as our LUL stackwalking
+// initialization code can occasionally crash. (see bug 1365309 comment 8).
+#if (defined(XP_LINUX) && defined(HAVE_64BIT_BUILD)) || defined(XP_WIN) || defined(XP_MACOSX)
 #  ifdef MOZ_GECKO_PROFILER
 #    define MOZ_THREADSTACKHELPER_PSEUDO
 #    define MOZ_THREADSTACKHELPER_NATIVE
 #  endif
 #endif
 
 // Android x86 builds consistently crash in the Background Hang Reporter. bug
 // 1368520.