Closed Bug 1085662 Opened 8 years ago Closed 8 years ago

Crash in ~BlockingResourceBase() when running debug build with profiling enabled

Categories

(Core :: XPCOM, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla36

People

(Reporter: snorp, Assigned: snorp)

Details

Attachments

(1 file, 1 obsolete file)

If you have profiling enabled (--enable-profiling) with a debug build, we sometimes crash because the deadlock detector is already gone. It's probably a rare build configuration.

#0  mozilla::DeadlockDetector<mozilla::BlockingResourceBase>::Remove (this=0x0, aResource=aResource@entry=0x5c442040) at ../../dist/include/mozilla/DeadlockDetector.h:187
#1  0x64dc0f6c in mozilla::BlockingResourceBase::~BlockingResourceBase (this=0x5c442040, __in_chrg=<optimized out>) at /Users/snorp/source/gecko-dev/xpcom/glue/BlockingResourceBase.cpp:232
#2  0x64d7c188 in ~OffTheBooksMutex (this=0x5c442040, __in_chrg=<optimized out>) at ../../dist/include/mozilla/Mutex.h:56
#3  mozilla::Mutex::~Mutex (this=0x5c442040, __in_chrg=<optimized out>) at ../../dist/include/mozilla/Mutex.h:130
#4  0x66067f5c in Sampler::Shutdown () at /Users/snorp/source/gecko-dev/tools/profiler/platform.cpp:97
#5  0x66069d54 in mozilla_sampler_shutdown () at /Users/snorp/source/gecko-dev/tools/profiler/platform.cpp:600
#6  0x66117986 in profiler_shutdown () at ../../dist/include/GeckoProfilerImpl.h:73
#7  ~GeckoProfilerInitRAII (this=<synthetic pointer>, __in_chrg=<optimized out>) at ../../dist/include/GeckoProfiler.h:211
#8  XREMain::XRE_main (this=this@entry=0x5c6ffa98, argc=argc@entry=13, argv=argv@entry=0x5c42d188, aAppData=aAppData@entry=0x5c248d78 <sAppData>) at /Users/snorp/source/gecko-dev/toolkit/xre/nsAppRunner.cpp:4248
#9  0x66117a0c in XRE_main (argc=13, argv=0x5c42d188, aAppData=0x5c248d78 <sAppData>, aFlags=<optimized out>) at /Users/snorp/source/gecko-dev/toolkit/xre/nsAppRunner.cpp:4382
#10 0x6611ca96 in GeckoStart (data=0x5c448180, appData=0x5c248d78 <sAppData>) at /Users/snorp/source/gecko-dev/toolkit/xre/nsAndroidStartup.cpp:73
#11 0x5c2199e4 in Java_org_mozilla_gecko_mozglue_GeckoLoader_nativeRun (jenv=0x17689e0, jc=<optimized out>, jargs=0x28a00005) at /Users/snorp/source/gecko-dev/mozglue/android/APKOpen.cpp:417
#12 0x409157b4 in dvmPlatformInvoke () from /Users/snorp/source/jimdb-arm/lib/0123456789ABCDEF/system/lib/libdvm.so
#13 0x4095dffa in dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*) () from /Users/snorp/source/jimdb-arm/lib/0123456789ABCDEF/system/lib/libdvm.so
#14 0x4093dd8c in dvmCheckCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*) () from /Users/snorp/source/jimdb-arm/lib/0123456789ABCDEF/system/lib/libdvm.so
#15 0x409602ee in dvmResolveNativeMethod(unsigned int const*, JValue*, Method const*, Thread*) () from /Users/snorp/source/jimdb-arm/lib/0123456789ABCDEF/system/lib/libdvm.so
#16 0x40927610 in dvmJitToInterpNoChain () from /Users/snorp/source/jimdb-arm/lib/0123456789ABCDEF/system/lib/libdvm.so
#17 0x40927610 in dvmJitToInterpNoChain () from /Users/snorp/source/jimdb-arm/lib/0123456789ABCDEF/system/lib/libdvm.so
Attachment #8508255 - Flags: review?(nfroyd) → review+
https://hg.mozilla.org/mozilla-central/rev/e5832730d797
Assignee: nobody → snorp
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla36
We were defining the E10S_TESTING_ONLY build-time define with the value of the E10S_TESTING_ONLY config variable,
regardless of the value of E10S_TESTING_ONLY. Even if E10S_TESTING_ONLY in configure was blank, we'd still define
E10S_TESTING_ONLY, which resulted in E10S_TESTING_ONLY ifdef'd code to be included when we didn't want it to.

This also fixes a busted E10S_TESTING_ONLY ifdef that didn't have an endif.
Comment on attachment 8516215 [details] [diff] [review]
Fix E10S_TESTING_ONLY define so that it only ever applies when E10S_TESTING_ONLY config is true. r=?

Fat-fingered in bzexport. Don't mind me.
Attachment #8516215 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.