Starting -metrodesktop with -jsconsole causes startup hang



6 years ago
6 years ago


(Reporter: ally, Unassigned)


Firefox Tracking Flags

(Not tracked)



(1 attachment)



6 years ago
Posted image screenshot of hang
see attached.
Sometimes I get the jsconsole up first, but then the metro window never appears and the jsconsole hangs with the same 'not responding' message.

%mach run -metrodesktop -jsconsole

If I start without the -jsconsole, I can get to the error console fine. However, that doesn't help with errors on startup.
Summary: starting -metrodesktop with -jsconsole causes startup hang → Defect - starting -metrodesktop with -jsconsole causes startup hang
Whiteboard: feature=defect c=tbd u=tbd p=0
This is a dev debug tool in an unsupported browser mode and as such shouldn't block any release.
No longer blocks: metrov1defect&change
Priority: -- → P4

Comment 2

6 years ago
I'm not sure Id call it unsupported given how much we use it and how often we direct community testers to it.

It's very useful for finding startup errors, exceptions, or js syntax issues. rsilveira & I use it a great deal on the frontend (and today diagnosing one such start up issue is between me and finishing off a bug. :) )
I currently get nothing actually. -metrodesktop works ok, but -metrodesktop -jsconsole and the terminal window loses focus but I got neither the jsconsole or the metrofx window. And no messages in the console.
It's getting stuck in this loop:

Here's the stack:

>	xul.dll!mozilla::a11y::DocAccessible::ProcessInvalidationList() Line 1392	C++
 	xul.dll!mozilla::a11y::NotificationController::WillRefresh(mozilla::TimeStamp aTime) Line 274	C++
 	xul.dll!nsRefreshDriver::Tick(__int64 aNowEpoch, mozilla::TimeStamp aNowTime) Line 1103	C++
 	xul.dll!mozilla::RefreshDriverTimer::TickDriver(nsRefreshDriver * driver, __int64 jsnow, mozilla::TimeStamp now) Line 172	C++
 	xul.dll!mozilla::RefreshDriverTimer::Tick() Line 163	C++
 	xul.dll!mozilla::RefreshDriverTimer::TimerTick(nsITimer * aTimer, void * aClosure) Line 189	C++
 	xul.dll!nsTimerImpl::Fire() Line 543	C++
 	xul.dll!nsTimerEvent::Run() Line 629	C++
 	xul.dll!nsThread::ProcessNextEvent(bool mayWait, bool * result) Line 621	C++
 	xul.dll!NS_InvokeByIndex(nsISupports * that, unsigned int methodIndex, unsigned int paramCount, nsXPTCVariant * params) Line 71	C++
 	xul.dll!CallMethodHelper::Invoke() Line 2795	C++
 	xul.dll!CallMethodHelper::Call() Line 2133	C++
 	xul.dll!XPCWrappedNative::CallMethod(XPCCallContext & ccx, XPCWrappedNative::CallMode mode) Line 2099	C++
 	xul.dll!XPC_WN_CallMethod(JSContext * cx, unsigned int argc, JS::Value * vp) Line 1315	C++
 	mozjs.dll!js::CallJSNative(JSContext * cx, int (JSContext *, unsigned int, JS::Value *) * native, const JS::CallArgs & args) Line 225	C++
 	mozjs.dll!js::Invoke(JSContext * cx, JS::CallArgs args, js::MaybeConstruct construct) Line 477	C++
 	mozjs.dll!Interpret(JSContext * cx, js::RunState & state) Line 2502	C++
 	mozjs.dll!js::RunScript(JSContext * cx, js::RunState & state) Line 434	C++
 	mozjs.dll!js::Invoke(JSContext * cx, JS::CallArgs args, js::MaybeConstruct construct) Line 496	C++
 	mozjs.dll!js::Invoke(JSContext * cx, const JS::Value & thisv, const JS::Value & fval, unsigned int argc, JS::Value * argv, JS::MutableHandle<JS::Value> rval) Line 527	C++
 	mozjs.dll!JS_CallFunctionValue(JSContext * cx, JSObject * objArg, JS::Value fval, unsigned int argc, JS::Value * argv, JS::Value * rval) Line 5756	C++
 	xul.dll!nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJS * wrapper, unsigned short methodIndex, const XPTMethodDescriptor * info_, nsXPTCMiniVariant * nativeParams) Line 1437	C++
 	xul.dll!nsXPCWrappedJS::CallMethod(unsigned short methodIndex, const XPTMethodDescriptor * info, nsXPTCMiniVariant * params) Line 591	C++
 	xul.dll!PrepareAndDispatch(nsXPTCStubBase * self, unsigned int methodIndex, unsigned int * args, unsigned int * stackBytesToPop) Line 85	C++
 	xul.dll!SharedStub() Line 113	C++
 	xul.dll!EnumRun(nsICommandLineHandler * aHandler, nsICommandLine * aThis, void * __formal) Line 622	C++
 	xul.dll!nsCommandLine::EnumerateHandlers(tag_nsresult (nsICommandLineHandler *, nsICommandLine *, void *) * aCallback, void * aClosure) Line 559	C++
 	xul.dll!nsCommandLine::Run() Line 633	C++
 	xul.dll!XREMain::XRE_mainRun() Line 3826	C++
 	xul.dll!XREMain::XRE_main(int argc, char * * argv, const nsXREAppData * aAppData) Line 3921	C++
 	xul.dll!XRE_main(int argc, char * * argv, const nsXREAppData * aAppData, unsigned int aFlags) Line 4134	C++
 	firefox.exe!do_main(int argc, char * * argv, nsIFile * xreDirectory) Line 376	C++
 	firefox.exe!NS_internal_main(int argc, char * * argv) Line 632	C++
 	firefox.exe!wmain(int argc, wchar_t * * argv) Line 105	C++
 	firefox.exe!__tmainCRTStartup() Line 533	C
 	kernel32.dll!@BaseThreadInitThunk@12()	Unknown
 	ntdll.dll!___RtlUserThreadStart@8()	Unknown
 	ntdll.dll!__RtlUserThreadStart@8()	Unknown

Means nothing to me, hope it helps someone. I can get dumps if needed.
Priority: P4 → --
No longer blocks: metrov2defect&change
Summary: Defect - starting -metrodesktop with -jsconsole causes startup hang → Starting -metrodesktop with -jsconsole causes startup hang
Whiteboard: feature=defect c=tbd u=tbd p=0 → [defect] p=0
This has been working fine for me lately.
Last Resolved: 6 years ago
Resolution: --- → WORKSFORME
No longer blocks: metrobacklog
Whiteboard: [defect] p=0
You need to log in before you can comment on or make changes to this bug.