F/MOZ_Assert( 3595): Assertion failure: rt->gcHighFrequencyHighLimitBytes > rt->gcHighFrequencyLowLimitBytes, at /Volumes/b2g/inbound/js/src/jsgc.cpp:1114

RESOLVED DUPLICATE of bug 887125

Status

()

Core
JavaScript Engine
RESOLVED DUPLICATE of bug 887125
5 years ago
5 years ago

People

(Reporter: dzbarsky, Assigned: nbp)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

5 years ago
Crashes when booting the phone.  Built with mozilla-inbound.

Program received signal SIGSEGV, Segmentation fault.
0x43755b2a in JS::Zone::setGCLastBytes (this=0x46306c00, lastBytes=1187840, gckind=js::GC_NORMAL) at /Volumes/b2g/inbound/js/src/jsgc.cpp:1114
1114	        JS_ASSERT(rt->gcHighFrequencyHighLimitBytes > rt->gcHighFrequencyLowLimitBytes);
(gdb) bt
#0  0x43755b2a in JS::Zone::setGCLastBytes (this=0x46306c00, lastBytes=1187840, gckind=js::GC_NORMAL) at /Volumes/b2g/inbound/js/src/jsgc.cpp:1114
#1  0x4375d59a in EndSweepPhase (rt=0x46312000, gckind=js::GC_NORMAL, lastGC=false) at /Volumes/b2g/inbound/js/src/jsgc.cpp:3947
#2  0x4375e5ca in IncrementalCollectSlice (rt=0x46312000, budget=0, reason=JS::gcreason::SET_NEW_DOCUMENT, gckind=js::GC_NORMAL) at /Volumes/b2g/inbound/js/src/jsgc.cpp:4304
#3  0x4375eab2 in GCCycle (rt=0x46312000, incremental=true, budget=0, gckind=js::GC_NORMAL, reason=JS::gcreason::SET_NEW_DOCUMENT) at /Volumes/b2g/inbound/js/src/jsgc.cpp:4418
#4  0x4375ee7a in Collect (rt=0x46312000, incremental=true, budget=30000, gckind=js::GC_NORMAL, reason=JS::gcreason::SET_NEW_DOCUMENT) at /Volumes/b2g/inbound/js/src/jsgc.cpp:4554
#5  0x4375eff6 in js::GCSlice (rt=0x46312000, gckind=js::GC_NORMAL, reason=JS::gcreason::SET_NEW_DOCUMENT, millis=0) at /Volumes/b2g/inbound/js/src/jsgc.cpp:4590
#6  0x437464ea in JS::IncrementalGC (rt=0x46312000, reason=JS::gcreason::SET_NEW_DOCUMENT, millis=0) at /Volumes/b2g/inbound/js/src/jsfriendapi.cpp:195
#7  0x41b84446 in nsJSContext::GarbageCollectNow (aReason=JS::gcreason::SET_NEW_DOCUMENT, aIncremental=nsJSContext::IncrementalGC, aCompartment=nsJSContext::CompartmentGC, 
    aShrinking=nsJSContext::NonShrinkingGC, aSliceMillis=0) at /Volumes/b2g/inbound/dom/base/nsJSEnvironment.cpp:2479
#8  0x41b84f22 in GCTimerFired (aTimer=0x47ea92e0, aClosure=0x2b) at /Volumes/b2g/inbound/dom/base/nsJSEnvironment.cpp:2722
#9  0x42c1420c in nsTimerImpl::Fire (this=0x47ea92e0) at /Volumes/b2g/inbound/xpcom/threads/nsTimerImpl.cpp:543
#10 0x42c14536 in nsTimerEvent::Run (this=0x47ea5070) at /Volumes/b2g/inbound/xpcom/threads/nsTimerImpl.cpp:627
#11 0x42c0e3c0 in nsThread::ProcessNextEvent (this=0x40504400, mayWait=false, result=0xbecc1707) at /Volumes/b2g/inbound/xpcom/threads/nsThread.cpp:626
#12 0x42ba7baa in NS_ProcessNextEvent (thread=0x40504400, mayWait=false) at /Volumes/b2g/B2G/objdir-gecko/xpcom/build/nsThreadUtils.cpp:238
#13 0x4253970e in mozilla::ipc::MessagePump::Run (this=0x405024c0, aDelegate=0x405310c0) at /Volumes/b2g/inbound/ipc/glue/MessagePump.cpp:82
#14 0x42c8c038 in MessageLoop::RunInternal (this=0x405310c0) at /Volumes/b2g/inbound/ipc/chromium/src/base/message_loop.cc:219
#15 0x42c8bfd2 in MessageLoop::RunHandler (this=0x405310c0) at /Volumes/b2g/inbound/ipc/chromium/src/base/message_loop.cc:212
#16 0x42c8bf7a in MessageLoop::Run (this=0x405310c0) at /Volumes/b2g/inbound/ipc/chromium/src/base/message_loop.cc:186
#17 0x4244fd66 in nsBaseAppShell::Run (this=0x46344fa0) at /Volumes/b2g/inbound/widget/xpwidgets/nsBaseAppShell.cpp:163
#18 0x4225ef5c in nsAppStartup::Run (this=0x405a0280) at /Volumes/b2g/inbound/toolkit/components/startup/nsAppStartup.cpp:269
#19 0x40f10858 in XREMain::XRE_mainRun (this=0xbecc1990) at /Volumes/b2g/inbound/toolkit/xre/nsAppRunner.cpp:3856
#20 0x40f10a94 in XREMain::XRE_main (this=0xbecc1990, argc=1, argv=0xbecc3ba4, aAppData=0x3b538) at /Volumes/b2g/inbound/toolkit/xre/nsAppRunner.cpp:3924
#21 0x40f10c42 in XRE_main (argc=1, argv=0xbecc3ba4, aAppData=0x3b538, aFlags=0) at /Volumes/b2g/inbound/toolkit/xre/nsAppRunner.cpp:4126
#22 0x00009f00 in do_main (argc=1, argv=0xbecc3ba4) at /Volumes/b2g/inbound/b2g/app/nsBrowserApp.cpp:168
#23 0x0000a1e6 in main (argc=1, argv=0xbecc3ba4) at /Volumes/b2g/inbound/b2g/app/nsBrowserApp.cpp:261
(Reporter)

Comment 1

5 years ago
(gdb) p rt->gcHighFrequencyHighLimitBytes
$1 = 41943040
(gdb) p rt->gcHighFrequencyLowLimitBytes
$2 = 104857600
Assignee: general → nicolas.b.pierron
(Reporter)

Updated

5 years ago
Summary: js/src/jsgc.cpp:1114F/MOZ_Assert( 3595): Assertion failure: rt->gcHighFrequencyHighLimitBytes > rt->gcHighFrequencyLowLimitBytes, at /Volumes/b2g/inbound/ → F/MOZ_Assert( 3595): Assertion failure: rt->gcHighFrequencyHighLimitBytes > rt->gcHighFrequencyLowLimitBytes, at /Volumes/b2g/inbound/js/src/jsgc.cpp:1114
(In reply to David Zbarsky (:dzbarsky) from comment #1)
> (gdb) p rt->gcHighFrequencyHighLimitBytes
> $1 = 41943040
> (gdb) p rt->gcHighFrequencyLowLimitBytes
> $2 = 104857600

As till noticed, this correspond to 40 MB and 100 MB.  The 100 MB is the default value initialized in jsapi when a new runtime is created.

My guess is that there is a check which guard against setting a 0 for the pref, or override it with the default pref.

The problem might come from SetMemoryGCPrefChangedCallback.
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 887125
You need to log in before you can comment on or make changes to this bug.