Pressing command + , several times (continuously reloading the preferences) will trigger an error
Categories
(Core :: DOM: HTML Parser, defect)
Tracking
()
People
(Reporter: edmorales.97, Assigned: zbraniecki)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
903.49 KB,
image/png
|
Details |
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:86.0) Gecko/20100101 Firefox/86.0
Steps to reproduce:
Press "command + ," several times really fast to open the Preferences page.
Actual results:
It will trigger an error. See screenshot.
Expected results:
It should take you to the Preferences page.
Comment 1•4 years ago
|
||
The Bugbug bot thinks this bug should belong to the 'Firefox::Preferences' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.
Comment 2•4 years ago
|
||
Zibi or Olli, do you know what's happening here? Seems like a DOM / HTML parsing issue given the error. I can trivially reproduce by holding down cmd+, on my mac.
Updated•4 years ago
|
Assignee | ||
Comment 3•4 years ago
|
||
Eduardo, thank you for your submission!
I am able to reproduce this bug using your STR but the page never "settles" on the error page. In other words, if I keep pressing cmd+, I will trigger the error and it'll flash, but only as it starts loading the next reload of about:preferences which this time loads correctly.
Are you able to "settle" your load on an error page?
I'm going to investigate in context of clue for solving bug 1675823.
Assignee | ||
Comment 4•4 years ago
|
||
Stacktrace:
Thread 1 "firefox" hit Breakpoint 1, nsExpatDriver::HandleError (
this=this@entry=0x7fffc02fbbb0)
at /projects/mozilla-unified/parser/htmlparser/nsExpatDriver.cpp:752
752 int32_t code = XML_GetErrorCode(mExpatParser);
(gdb) bt
#0 nsExpatDriver::HandleError() (this=this@entry=0x7fffc02fbbb0)
at /projects/mozilla-unified/parser/htmlparser/nsExpatDriver.cpp:752
#1 0x00007fffecf8f7de in nsExpatDriver::ConsumeToken(nsScanner&, bool&)
(this=0x7fffc02fbbb0, aScanner=..., aFlushTokens=<optimized out>)
at /projects/mozilla-unified/parser/htmlparser/nsExpatDriver.cpp:1070
#2 0x00007fffecf9484c in nsParser::Tokenize(bool) (this=this@entry=
0x7fffbcf6b3e0, aIsFinalChunk=<optimized out>)
at /projects/mozilla-unified/parser/htmlparser/nsParser.cpp:1410
#3 0x00007fffecf933cc in nsParser::ResumeParse(bool, bool, bool)
(this=this@entry=0x7fffbcf6b3e0, allowIteration=false, aIsFinalChunk=true, aCanInterrupt=<optimized out>) at /projects/mozilla-unified/parser/htmlparser/nsParser.cpp:961
#4 0x00007fffecf9565d in nsParser::OnStopRequest(nsIRequest*, nsresult)
(this=0x7fffbcf6b3e0, request=0x7fffbcc4de48, status=nsresult::NS_BINDING_ABORTED)
at /projects/mozilla-unified/parser/htmlparser/nsParser.cpp:1352
#5 0x00007fffecf891b6 in mozilla::parser::PrototypeDocumentParser::OnStopRequest(nsIRequest*, nsresult) (this=<optimized out>, request=0x0, aStatus=nsresult::NS_OK)
at /projects/mozilla-unified/parser/prototype/PrototypeDocumentParser.cpp:141
#6 0x00007fffeceebb8c in nsDocumentOpenInfo::OnStopRequest(nsIRequest*, nsresult)
(this=0x7fffbdea2400, request=0x7fffbcc4de48, aStatus=nsresult::NS_BINDING_ABORTED)
at /projects/mozilla-unified/uriloader/base/nsURILoader.cpp:215
#7 0x00007fffec638763 in mozilla::net::ParentChannelWrapper::OnStopRequest(nsIRequest*, nsresult) (this=<optimized out>, aRequest=0x0, aStatusCode=nsresult::NS_OK)
at /projects/mozilla-unified/obj-x86_64-pc-linux-gnu-dbg/dist/include/mozilla/net/ParentChannelWrapper.h:28
#8 0x00007fffec50697c in mozilla::net::ParentChannelListener::OnStopRequest(nsIRequest*, nsresult) (this=0x7fffbdea2c40, aRequest=0x7fffbcc4de48, aStatusCode=nsresult::NS_BINDING_ABORTED)
at /projects/mozilla-unified/netwerk/protocol/http/ParentChannelListener.cpp:101
#9 0x00007fffeceebb8c in nsDocumentOpenInfo::OnStopRequest(nsIRequest*, nsresult)
(this=0x7fffbdea1400, request=0x7fffbcc4de48, aStatus=nsresult::NS_BINDING_ABORTED)
at /projects/mozilla-unified/uriloader/base/nsURILoader.cpp:215
#10 0x00007fffebfdedd2 in nsBaseChannel::OnStopRequest(nsIRequest*, nsresult) (this=
0x7fffbcc4de00, request=<optimized out>, status=<optimized out>)
at /projects/mozilla-unified/netwerk/base/nsBaseChannel.cpp:853
#11 0x00007fffebfdeeb0 in non-virtual thunk to nsBaseChannel::OnStopRequest(nsIRequest*, nsresult) () at /projects/mozilla-unified/netwerk/base/nsBaseChannel.cpp:865
#12 0x00007fffec008d70 in nsInputStreamPump::OnStateStop() (this=this@entry=0x7fffbd0be900)
at /projects/mozilla-unified/netwerk/base/nsInputStreamPump.cpp:649
#13 0x00007fffec00835f in nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream*)
(this=0x7fffbd0be900, stream=<optimized out>)
at /projects/mozilla-unified/netwerk/base/nsInputStreamPump.cpp:397
#14 0x00007fffec00913d in non-virtual thunk to nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream*) () at /projects/mozilla-unified/netwerk/base/nsInputStreamPump.cpp:146
#15 0x00007fffebe2a166 in nsInputStreamReadyEvent::Run() (this=<optimized out>)
at /projects/mozilla-unified/xpcom/io/nsStreamUtils.cpp:94
#16 0x00007fffebe6c420 in mozilla::RunnableTask::Run() (this=0x7fffba9e5080)
at /projects/mozilla-unified/xpcom/threads/TaskController.cpp:472
--Type <RET> for more, q to quit, c to continue without paging--
#17 0x00007fffebe67139 in mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) (this=<optimized out>,
this@entry=0x7fffe641f800, aProofOfLock=<optimized out>)
at /projects/mozilla-unified/xpcom/threads/TaskController.cpp:753
#18 0x00007fffebe65f95 in mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&)
(this=this@entry=0x7fffe641f800, aProofOfLock=...)
at /projects/mozilla-unified/xpcom/threads/TaskController.cpp:611
#19 0x00007fffebe66149 in mozilla::TaskController::ProcessPendingMTTask(bool)
(this=0x7fffe641f800, aMayWait=false)
at /projects/mozilla-unified/xpcom/threads/TaskController.cpp:395
#20 0x00007fffebe67b17 in mozilla::TaskController::InitializeInternal()::$_3::operator()() const (this=<optimized out>) at /projects/mozilla-unified/xpcom/threads/TaskController.cpp:133
#21 mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_3>::Run() (this=<optimized out>)
at /projects/mozilla-unified/obj-x86_64-pc-linux-gnu-dbg/dist/include/nsThreadUtils.h:534
#22 0x00007fffebe7fafc in nsThread::ProcessNextEvent(bool, bool*)
(this=0x7ffff78b5310, aMayWait=false, aResult=0x7fffffffcd3f)
at /projects/mozilla-unified/xpcom/threads/nsThread.cpp:1158
#23 0x00007fffebe85d8b in NS_ProcessNextEvent(nsIThread*, bool) (aThread=0x7fffc02fbbb0,
aThread@entry=0x7ffff78b5310, aMayWait=false)
at /projects/mozilla-unified/xpcom/threads/nsThreadUtils.cpp:548
#24 0x00007fffec794dcb in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*)
(this=0x7fffe64061c0, aDelegate=0x7fffe6e933e0)
at /projects/mozilla-unified/ipc/glue/MessagePump.cpp:87
#25 0x00007fffec6ed654 in MessageLoop::RunInternal() (this=0x7fffe6e933e0)
at /projects/mozilla-unified/ipc/chromium/src/base/message_loop.cc:335
#26 0x00007fffec6ed560 in MessageLoop::RunHandler() (this=0x7fffc02fbbb0)
at /projects/mozilla-unified/ipc/chromium/src/base/message_loop.cc:328
#27 MessageLoop::Run() (this=0x7fffc02fbbb0)
at /projects/mozilla-unified/ipc/chromium/src/base/message_loop.cc:310
#28 0x00007ffff0255ec9 in nsBaseAppShell::Run() (this=0x7fffe6e88b30)
at /projects/mozilla-unified/widget/nsBaseAppShell.cpp:137
#29 0x00007ffff1b8dfb7 in nsAppStartup::Run() (this=0x7fffe6eaf2e0)
at /projects/mozilla-unified/toolkit/components/startup/nsAppStartup.cpp:271
#30 0x00007ffff1cdd479 in XREMain::XRE_mainRun() (this=<optimized out>, this@entry=
0x7fffffffd110) at /projects/mozilla-unified/toolkit/xre/nsAppRunner.cpp:5246
#31 0x00007ffff1cde69a in XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&)
(this=this@entry=0x7fffffffd110, argc=argc@entry=4, argv=argv@entry=0x7fffffffe3c8, aConfig=<optimized out>) at /projects/mozilla-unified/toolkit/xre/nsAppRunner.cpp:5438
#32 0x00007ffff1cdef52 in XRE_main(int, char**, mozilla::BootstrapConfig const&)
(argc=0, argv=0x0, aConfig=...)
at /projects/mozilla-unified/toolkit/xre/nsAppRunner.cpp:5501
#33 0x00007ffff1cec941 in mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) (this=<optimized out>, argc=-1070613584, argv=0x0, aConfig=...)
at /projects/mozilla-unified/toolkit/xre/Bootstrap.cpp:45
--Type <RET> for more, q to quit, c to continue without paging--
#34 0x000055555558cf3b in do_main(int, char**, char**)
(argc=0, argv=0x7fffffffe3c8, envp=0x7fffffffe3f0)
at /projects/mozilla-unified/browser/app/nsBrowserApp.cpp:220
#35 main(int, char**, char**)
(argc=<optimized out>, argv=<optimized out>, envp=0x7fffffffe3f0)
at /projects/mozilla-unified/browser/app/nsBrowserApp.cpp:344
Reporter | ||
Comment 5•4 years ago
|
||
(In reply to Zibi Braniecki [:zbraniecki][:gandalf] from comment #3)
Eduardo, thank you for your submission!
I am able to reproduce this bug using your STR but the page never "settles" on the error page. In other words, if I keep pressing cmd+, I will trigger the error and it'll flash, but only as it starts loading the next reload of about:preferences which this time loads correctly.
Are you able to "settle" your load on an error page?
I'm going to investigate in context of clue for solving bug 1675823.
Hi Zibi, I cannot settle on the error page either. It's a quick flashing screen so I had to be quick when taking the screenshot.
about:preferences loads fine after flashing the error.
Thanks!
Assignee | ||
Comment 6•4 years ago
|
||
Thank you for confirming! This in itself is therefore not a major problem, but I think your report will unblock a very long standing hunt for the source of a bug we have been seeing in the wild for years and weren't able to reproduce - bug 1675823.
I'll keep this bug open, but shift to that bug to document the new findings.
Thank you again for reporting it!
Comment 7•3 years ago
•
|
||
FWIW I can still reproduce this. If I press and hold Cmd
and ,
to rapidly/repeatedly load about:preferences
, my tab eventually turns yellow (like the screenshot except I don't actually see any error text). But then when I release the keys, about:preferences
does load properly.
Description
•