Closed Bug 916194 Opened 11 years ago Closed 10 years ago

Intermittent Win8 debug mochitest-bc log file explosions due to logged CSS errors from Google.com style sheet

Categories

(Release Engineering :: General, defect)

x86
Windows 8
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 995041

People

(Reporter: RyanVM, Unassigned)

References

Details

We are intermittently hitting the 50MB log size limit in Win8 debug mochitest-bc lately. Going through the logs, one obvious source I'm seeing is an explosion of the below assertion. Can someone on the Layout team please look into this soon? https://tbpl.mozilla.org/php/getParsedLog.php?id=27833839&tree=Fx-Team&full=1 WINNT 6.2 fx-team debug test mochitest-browser-chrome on 2013-09-13 07:55:52 PDT for push 933b9f822c2b slave: t-w864-ix-057 08:16:55 INFO - [Parent 1352] ###!!! ASSERTION: Shouldn't be trying to restyle non-elements directly: '!aContent || aContent->IsElement()', file e:/builds/moz2_slave/fx-team-w32-d-0000000000000000/build/layout/base/nsStyleChangeList.cpp, line 62 08:16:55 INFO - mozilla::ElementRestyler::CaptureChange(nsStyleContext *,nsStyleContext *,nsChangeHint) [layout/base/RestyleManager.cpp:2035] 08:16:55 INFO - mozilla::ElementRestyler::RestyleSelf(nsRestyleHint) [layout/base/RestyleManager.cpp:2304] 08:16:55 INFO - mozilla::ElementRestyler::Restyle(nsRestyleHint) [layout/base/RestyleManager.cpp:2080] 08:16:55 INFO - mozilla::ElementRestyler::RestyleContentChildren(nsRestyleHint) [layout/base/RestyleManager.cpp:2645] 08:16:55 INFO - mozilla::ElementRestyler::RestyleChildren(nsRestyleHint) [layout/base/RestyleManager.cpp:2389] 08:16:55 INFO - mozilla::ElementRestyler::Restyle(nsRestyleHint) [layout/base/RestyleManager.cpp:2080] 08:16:55 INFO - mozilla::ElementRestyler::RestyleContentChildren(nsRestyleHint) [layout/base/RestyleManager.cpp:2645] 08:16:55 INFO - mozilla::ElementRestyler::RestyleChildren(nsRestyleHint) [layout/base/RestyleManager.cpp:2389] 08:16:55 INFO - mozilla::ElementRestyler::Restyle(nsRestyleHint) [layout/base/RestyleManager.cpp:2080] 08:16:55 INFO - mozilla::ElementRestyler::RestyleContentChildren(nsRestyleHint) [layout/base/RestyleManager.cpp:2632] 08:16:55 INFO - mozilla::ElementRestyler::RestyleChildren(nsRestyleHint) [layout/base/RestyleManager.cpp:2389] 08:16:55 INFO - mozilla::ElementRestyler::Restyle(nsRestyleHint) [layout/base/RestyleManager.cpp:2080] 08:16:55 INFO - mozilla::RestyleManager::ComputeStyleChangeFor(nsIFrame *,nsStyleChangeList *,nsChangeHint,mozilla::RestyleTracker &,bool) [layout/base/RestyleManager.cpp:2731] 08:16:55 INFO - mozilla::RestyleManager::RestyleElement(mozilla::dom::Element *,nsIFrame *,nsChangeHint,mozilla::RestyleTracker &,bool) [layout/base/RestyleManager.cpp:808] 08:16:55 INFO - mozilla::RestyleTracker::ProcessOneRestyle(mozilla::dom::Element *,nsRestyleHint,nsChangeHint) [layout/base/RestyleTracker.cpp:124] 08:16:55 INFO - mozilla::RestyleTracker::DoProcessRestyles() [layout/base/RestyleTracker.cpp:206] 08:16:55 INFO - mozilla::RestyleManager::ProcessPendingRestyles() [layout/base/RestyleManager.cpp:1369] 08:16:55 INFO - PresShell::FlushPendingNotifications(mozFlushType) [layout/base/nsPresShell.cpp:3707] 08:16:55 INFO - nsDocument::FlushPendingNotifications(mozFlushType) [content/base/src/nsDocument.cpp:7061] 08:16:55 INFO - nsComputedDOMStyle::GetPropertyCSSValue(nsAString_internal const &,mozilla::ErrorResult &) [layout/style/nsComputedDOMStyle.cpp:500] 08:16:55 INFO - nsComputedDOMStyle::GetPropertyValue(nsAString_internal const &,nsAString_internal &) [layout/style/nsComputedDOMStyle.cpp:251] 08:16:55 INFO - mozilla::dom::CSSStyleDeclarationBinding::getPropertyValue [obj-firefox/dom/bindings/CSSStyleDeclarationBinding.cpp:140] 08:16:55 INFO - mozilla::dom::CSSStyleDeclarationBinding::genericMethod [obj-firefox/dom/bindings/CSSStyleDeclarationBinding.cpp:374] 08:16:55 INFO - UNKNOWN 0x000000000CD7DBDD 08:16:55 INFO - UNKNOWN 0x000000003093BCC8 08:16:55 INFO - UNKNOWN 0x000000000346CA7D 08:16:55 INFO - UNKNOWN 0x000000003093C308 08:16:55 INFO - UNKNOWN 0x000000000346CA7D 08:16:55 INFO - UNKNOWN 0x000000001B3DDE68 08:16:55 INFO - UNKNOWN 0x000000000346CA7D 08:16:55 INFO - UNKNOWN 0x000000000E30CEB8 08:16:55 INFO - UNKNOWN 0x000000000346CA7D 08:16:55 INFO - UNKNOWN 0x000000001A724618 08:16:55 INFO - UNKNOWN 0x0000000001362BFC 08:16:55 INFO - UNKNOWN 0x000000000346CA7D 08:16:55 INFO - UNKNOWN 0x00000000310E8C18 08:16:55 INFO - UNKNOWN 0x000000000CD565C1 08:16:55 INFO - UNKNOWN 0x000000000EFF9AE0 08:16:55 INFO - UNKNOWN 0x000000000346CA7D 08:16:55 INFO - UNKNOWN 0x0000000030908870 08:16:55 INFO - UNKNOWN 0x0000000001362E06 08:16:55 INFO - EnterBaseline [js/src/jit/BaselineJIT.cpp:123] 08:16:55 INFO - js::jit::EnterBaselineMethod(JSContext *,js::RunState &) [js/src/jit/BaselineJIT.cpp:152] 08:16:55 INFO - Interpret [js/src/vm/Interpreter.cpp:2494] 08:16:55 INFO - js::RunScript(JSContext *,js::RunState &) [js/src/vm/Interpreter.cpp:435] 08:16:55 INFO - js::Invoke(JSContext *,JS::CallArgs,js::MaybeConstruct) [js/src/vm/Interpreter.cpp:497] 08:16:55 INFO - js::Invoke(JSContext *,JS::Value const &,JS::Value const &,unsigned int,JS::Value *,JS::MutableHandle<JS::Value>) [js/src/vm/Interpreter.cpp:528] 08:16:55 INFO - js::jit::DoCallFallback [js/src/jit/BaselineIC.cpp:7566] 08:16:55 INFO - UNKNOWN 0x00000000013680F5 08:16:55 INFO - UNKNOWN 0x000000004FC66A60 08:16:55 INFO - UNKNOWN 0x0000000001362E06 08:16:55 INFO - EnterBaseline [js/src/jit/BaselineJIT.cpp:123] 08:16:55 INFO - js::jit::EnterBaselineMethod(JSContext *,js::RunState &) [js/src/jit/BaselineJIT.cpp:152] 08:16:55 INFO - js::RunScript(JSContext *,js::RunState &) [js/src/vm/Interpreter.cpp:424] 08:16:55 INFO - js::Invoke(JSContext *,JS::CallArgs,js::MaybeConstruct) [js/src/vm/Interpreter.cpp:497] 08:16:55 INFO - Interpret [js/src/vm/Interpreter.cpp:2454] 08:16:55 INFO - js::RunScript(JSContext *,js::RunState &) [js/src/vm/Interpreter.cpp:435] 08:16:55 INFO - js::Invoke(JSContext *,JS::CallArgs,js::MaybeConstruct) [js/src/vm/Interpreter.cpp:497] 08:16:55 INFO - js::Invoke(JSContext *,JS::Value const &,JS::Value const &,unsigned int,JS::Value *,JS::MutableHandle<JS::Value>) [js/src/vm/Interpreter.cpp:528] 08:16:55 INFO - js::DirectProxyHandler::call(JSContext *,JS::Handle<JSObject *>,JS::CallArgs const &) [js/src/jsproxy.cpp:450] 08:16:55 INFO - js::CrossCompartmentWrapper::call(JSContext *,JS::Handle<JSObject *>,JS::CallArgs const &) [js/src/jswrapper.cpp:455] 08:16:55 INFO - js::Proxy::call(JSContext *,JS::Handle<JSObject *>,JS::CallArgs const &) [js/src/jsproxy.cpp:2613] 08:16:55 INFO - proxy_Call [js/src/jsproxy.cpp:3132] 08:16:55 INFO - js::CallJSNative(JSContext *,bool (*)(JSContext *,unsigned int,JS::Value *),JS::CallArgs const &) [js/src/jscntxtinlines.h:218] 08:16:55 INFO - js::Invoke(JSContext *,JS::CallArgs,js::MaybeConstruct) [js/src/vm/Interpreter.cpp:471] 08:16:55 INFO - js::Invoke(JSContext *,JS::Value const &,JS::Value const &,unsigned int,JS::Value *,JS::MutableHandle<JS::Value>) [js/src/vm/Interpreter.cpp:528] 08:16:55 INFO - JS_CallFunctionValue(JSContext *,JSObject *,JS::Value,unsigned int,JS::Value *,JS::Value *) [js/src/jsapi.cpp:5105] 08:16:55 INFO - nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJS *,unsigned short,XPTMethodDescriptor const *,nsXPTCMiniVariant *) [js/xpconnect/src/XPCWrappedJSClass.cpp:1442] 08:16:55 INFO - nsXPCWrappedJS::CallMethod(unsigned short,XPTMethodDescriptor const *,nsXPTCMiniVariant *) [js/xpconnect/src/XPCWrappedJS.cpp:588] 08:16:55 INFO - PrepareAndDispatch [xpcom/reflect/xptcall/src/md/win32/xptcstubs.cpp:85] 08:16:55 INFO - SharedStub [xpcom/reflect/xptcall/src/md/win32/xptcstubs.cpp:113] 08:16:55 INFO - nsEventListenerManager::HandleEventSubType(nsListenerStruct *,mozilla::dom::CallbackObjectHolder<mozilla::dom::EventListener,nsIDOMEventListener> const &,nsIDOMEvent *,mozilla::dom::EventTarget *,nsCxPusher *) [content/events/src/nsEventListenerManager.cpp:962] 08:16:55 INFO - nsEventListenerManager::HandleEventInternal(nsPresContext *,nsEvent *,nsIDOMEvent * *,mozilla::dom::EventTarget *,nsEventStatus *,nsCxPusher *) [content/events/src/nsEventListenerManager.cpp:1034] 08:16:55 INFO - nsEventListenerManager::HandleEvent(nsPresContext *,nsEvent *,nsIDOMEvent * *,mozilla::dom::EventTarget *,nsEventStatus *,nsCxPusher *) [content/events/src/nsEventListenerManager.h:326] 08:16:55 INFO - nsEventTargetChainItem::HandleEvent(nsEventChainPostVisitor &,ELMCreationDetector &,nsCxPusher *) [content/events/src/nsEventDispatcher.cpp:192] 08:16:55 INFO - nsEventTargetChainItem::HandleEventTargetChain(nsTArray<nsEventTargetChainItem> &,nsEventChainPostVisitor &,nsDispatchingCallback *,ELMCreationDetector &,nsCxPusher *) [content/events/src/nsEventDispatcher.cpp:288] 08:16:55 INFO - nsEventDispatcher::Dispatch(nsISupports *,nsPresContext *,nsEvent *,nsIDOMEvent *,nsEventStatus *,nsDispatchingCallback *,nsCOMArray<mozilla::dom::EventTarget> *) [content/events/src/nsEventDispatcher.cpp:605] 08:16:55 INFO - nsEventDispatcher::DispatchDOMEvent(nsISupports *,nsEvent *,nsIDOMEvent *,nsPresContext *,nsEventStatus *) [content/events/src/nsEventDispatcher.cpp:667] 08:16:55 INFO - nsGlobalWindow::DispatchEvent(nsIDOMEvent *,bool *) [dom/base/nsGlobalWindow.cpp:8071] 08:16:55 INFO - mozilla::dom::EventTarget::DispatchEvent(nsDOMEvent &,mozilla::ErrorResult &) [content/base/src/nsINode.cpp:2540] 08:16:55 INFO - mozilla::dom::EventTargetBinding::dispatchEvent [obj-firefox/dom/bindings/EventTargetBinding.cpp:227] 08:16:55 INFO - mozilla::dom::EventTargetBinding::genericMethod [obj-firefox/dom/bindings/EventTargetBinding.cpp:390] 08:16:55 INFO - js::CallJSNative(JSContext *,bool (*)(JSContext *,unsigned int,JS::Value *),JS::CallArgs const &) [js/src/jscntxtinlines.h:218] 08:16:55 INFO - js::Invoke(JSContext *,JS::CallArgs,js::MaybeConstruct) [js/src/vm/Interpreter.cpp:478] 08:16:55 INFO - js::Invoke(JSContext *,JS::Value const &,JS::Value const &,unsigned int,JS::Value *,JS::MutableHandle<JS::Value>) [js/src/vm/Interpreter.cpp:528] 08:16:55 INFO - js::DirectProxyHandler::call(JSContext *,JS::Handle<JSObject *>,JS::CallArgs const &) [js/src/jsproxy.cpp:450] 08:16:55 INFO - js::CrossCompartmentWrapper::call(JSContext *,JS::Handle<JSObject *>,JS::CallArgs const &) [js/src/jswrapper.cpp:455] 08:16:55 INFO - js::Proxy::call(JSContext *,JS::Handle<JSObject *>,JS::CallArgs const &) [js/src/jsproxy.cpp:2613] 08:16:55 INFO - proxy_Call [js/src/jsproxy.cpp:3132] 08:16:55 INFO - js::CallJSNative(JSContext *,bool (*)(JSContext *,unsigned int,JS::Value *),JS::CallArgs const &) [js/src/jscntxtinlines.h:218] 08:16:55 INFO - js::Invoke(JSContext *,JS::CallArgs,js::MaybeConstruct) [js/src/vm/Interpreter.cpp:471] 08:16:55 INFO - Interpret [js/src/vm/Interpreter.cpp:2454] 08:16:55 INFO - js::RunScript(JSContext *,js::RunState &) [js/src/vm/Interpreter.cpp:435] 08:16:55 INFO - js::Invoke(JSContext *,JS::CallArgs,js::MaybeConstruct) [js/src/vm/Interpreter.cpp:497] 08:16:55 INFO - js::Invoke(JSContext *,JS::Value const &,JS::Value const &,unsigned int,JS::Value *,JS::MutableHandle<JS::Value>) [js/src/vm/Interpreter.cpp:528] 08:16:55 INFO - js::DirectProxyHandler::call(JSContext *,JS::Handle<JSObject *>,JS::CallArgs const &) [js/src/jsproxy.cpp:450] 08:16:55 INFO - js::CrossCompartmentWrapper::call(JSContext *,JS::Handle<JSObject *>,JS::CallArgs const &) [js/src/jswrapper.cpp:455] 08:16:55 INFO - js::Proxy::call(JSContext *,JS::Handle<JSObject *>,JS::CallArgs const &) [js/src/jsproxy.cpp:2613] 08:16:55 INFO - proxy_Call [js/src/jsproxy.cpp:3132] 08:16:55 INFO - js::CallJSNative(JSContext *,bool (*)(JSContext *,unsigned int,JS::Value *),JS::CallArgs const &) [js/src/jscntxtinlines.h:218] 08:16:55 INFO - js::Invoke(JSContext *,JS::CallArgs,js::MaybeConstruct) [js/src/vm/Interpreter.cpp:471] 08:16:55 INFO - js::Invoke(JSContext *,JS::Value const &,JS::Value const &,unsigned int,JS::Value *,JS::MutableHandle<JS::Value>) [js/src/vm/Interpreter.cpp:528] 08:16:55 INFO - JS_CallFunctionValue(JSContext *,JSObject *,JS::Value,unsigned int,JS::Value *,JS::Value *) [js/src/jsapi.cpp:5105] 08:16:55 INFO - mozilla::dom::Function::Call(JSContext *,JS::Handle<JSObject *>,nsTArray<JS::Value> const &,mozilla::ErrorResult &) [obj-firefox/dom/bindings/FunctionBinding.cpp:35] 08:16:55 INFO - mozilla::dom::Function::Call<nsCOMPtr<nsISupports> >(nsCOMPtr<nsISupports> const &,nsTArray<JS::Value> const &,mozilla::ErrorResult &,mozilla::dom::CallbackObject::ExceptionHandling) [obj-firefox/dist/include/mozilla/dom/FunctionBinding.h:53] 08:16:55 INFO - nsGlobalWindow::RunTimeoutHandler(nsTimeout *,nsIScriptContext *) [dom/base/nsGlobalWindow.cpp:10496] 08:16:55 INFO - nsGlobalWindow::RunTimeout(nsTimeout *) [dom/base/nsGlobalWindow.cpp:10735] 08:16:55 INFO - nsGlobalWindow::TimerCallback(nsITimer *,void *) [dom/base/nsGlobalWindow.cpp:10981] 08:16:55 INFO - nsTimerImpl::Fire() [xpcom/threads/nsTimerImpl.cpp:546] 08:16:55 INFO - nsTimerEvent::Run() [xpcom/threads/nsTimerImpl.cpp:632] 08:16:55 INFO - nsThread::ProcessNextEvent(bool,bool *) [xpcom/threads/nsThread.cpp:622] 08:16:55 INFO - NS_ProcessNextEvent(nsIThread *,bool) [obj-firefox/xpcom/build/nsThreadUtils.cpp:238] 08:16:55 INFO - mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate *) [ipc/glue/MessagePump.cpp:81] 08:16:55 INFO - MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:220] 08:16:55 INFO - MessageLoop::RunHandler() [ipc/chromium/src/base/message_loop.cc:214] 08:16:55 INFO - MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:188] 08:16:55 INFO - nsBaseAppShell::Run() [widget/xpwidgets/nsBaseAppShell.cpp:163] 08:16:55 INFO - nsAppShell::Run() [widget/windows/nsAppShell.cpp:112] 08:16:55 INFO - nsAppStartup::Run() [toolkit/components/startup/nsAppStartup.cpp:270] 08:16:55 INFO - XREMain::XRE_mainRun() [toolkit/xre/nsAppRunner.cpp:3869] 08:16:55 INFO - XREMain::XRE_main(int,char * * const,nsXREAppData const *) [toolkit/xre/nsAppRunner.cpp:3937] 08:16:55 INFO - XRE_main [toolkit/xre/nsAppRunner.cpp:4150] 08:16:55 INFO - do_main [browser/app/nsBrowserApp.cpp:275] 08:16:55 INFO - NS_internal_main(int,char * *) [browser/app/nsBrowserApp.cpp:635] 08:16:55 INFO - wmain [toolkit/xre/nsWindowsWMain.cpp:112] 08:16:55 INFO - __tmainCRTStartup [f:/dd/vctools/crt_bld/self_x86/crt/src/crtexe.c:552] 08:16:55 INFO - wmainCRTStartup [f:/dd/vctools/crt_bld/self_x86/crt/src/crtexe.c:371] 08:16:55 INFO - KERNEL32 + 0x28543 08:16:55 INFO - ntdll + 0x5ac69 08:16:55 INFO - ntdll + 0x5ac3c
This seems like a possible regression in the style system. Do we retain these log files so we can guess from their sizes when the problem started (approximately)?
The log files are available on the FTP alongside their corresponding builds. The odd thing is that when I was looking into the first instance of this last night, green runs seem to be significantly smaller (~1.8MB gzipped vs. 4.4MB). So far, the two links in comment 0 are the only two instances we've hit.
FWIW, I tried one of the tests: # ./mach mochitest-browser browser/base/content/test/newtab/browser_newtab_bug723121.js and it asserts in my inbound, aurora and beta trees, but not in release. (all Linux64 debug builds)
Comparing two log files, one 4.6M and one 1.9M, I found that they have exactly the same number (434) of the "Shouldn't be trying to restyle non-elements directly" assertion. Also, the logged info for each assertion (the stack) is roughly the same. So the larger log size seems to be due to something else than this assertion...
I found one difference: # grep 'browser_aboutHome.js' log1.txt | wc 510 413530 14606547 # grep 'browser_aboutHome.js' log2.txt | wc 196 2404 31395 the test in the larger log file generates CSS warnings: 08:01:33 INFO - TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/browser_aboutHome.js | Console message: [JavaScript Warning: "Expected 'none' or URL but found 'alpha('. Error in parsing value for 'filter'. Declaration dropped." {file: "https://www.google.com/search?q=a+search&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:unofficial&client=firefox-a" line: 10 [...] 08:01:33 INFO - TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/browser_aboutHome.js | Console message: [JavaScript Warning: "Unknown property '-moz-box-shadow'. Declaration dropped." {file: "https://www.google.com/search?q=a+search&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:unofficial&client=firefox-a" line: 10 [...] 08:01:34 INFO - TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/browser_aboutHome.js | Console message: [JavaScript Warning: "Expected declaration but found '*'. Skipped to next declaration." {file: "https://www.google.com/search?q=a+search&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:unofficial&client=firefox-a" line: 10 [...] where each [...] is the entire one-line style sheet (large). Hmm, I have a few concerns here: 1. do we connect to Google servers while running mochitests? 2. does about:home have these error messages as well? (performance problem) 3. why do we log an unbounded amount of text? (I imagine it's quite common for generated (e.g. minified) style sheets to be all on one line) 4. why is there a difference between the test machines? For the record, I used: http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/fx-team-win32-debug/1379078823/fx-team_win8-debug_test-mochitest-browser-chrome-bm73-tests1-windows-build175.txt.gz and http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/fx-team-win32-debug/1379086264/fx-team_win8-debug_test-mochitest-browser-chrome-bm74-tests1-windows-build179.txt.gz
I think the assertion is a red herring (it might be bug 897763, I'll comment there). Let's assume it's a test machine config error for now...
Component: CSS Parsing and Computation → Other
Product: Core → Release Engineering
QA Contact: joduinn
Summary: Intermittent Win8 debug mochitest-bc "ASSERTION: Shouldn't be trying to restyle non-elements directly" explosions → Intermittent Win8 debug mochitest-bc log file explosions due to logged CSS errors from Google.com style sheet
Version: Trunk → unspecified
Two different machines? I can believe it's tied to intermittent infra issues, but I'm not sure about the machine part of that. FWIW, arguably bug 916192 is the one that should be repurposed. If you want to dupe this to bug 897763, go ahead.
Someone with a lot of energy could look back over the last couple of weeks that this has been happening, see how many more machines there are, but I'd bet strongly against it being as few as two.
Depends on: 882610
currently, mochitest-browser-chrome takes ~2hrs to run; would splitting up mochitest-browser-chrome into ~30min chunks be a workaround? Details in bug#819963
Depends on: 819963
(In reply to John O'Duinn [:joduinn] from comment #9) > currently, mochitest-browser-chrome takes ~2hrs to run; would splitting up > mochitest-browser-chrome into ~30min chunks be a workaround? Details in > bug#819963 Unrelated really - bug 819963 would be sweeping this under the mat. We should just fix it :-)
No longer depends on: 819963
QA Contact: john+bugzilla
I'm not even sure if this is releng's bug to fix. Sounds more like this should block bug 617414 to fix the test hitting an external site.
Blocks: 617414
Component: Other → General Automation
QA Contact: catlee
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
Component: General Automation → General
You need to log in before you can comment on or make changes to this bug.