<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>140506</bug_id>
          
          <creation_ts>2015-01-15 13:06:33 -0800</creation_ts>
          <short_desc>Crash in is&lt;&gt; Template due to corrupted/garbage WebCore::HTMLNames::selectTag</short_desc>
          <delta_ts>2017-08-30 21:10:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugzilla.redhat.com/show_bug.cgi?id=1456612</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>113220</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1061610</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-01-15 13:06:33 -0800</bug_when>
    <thetext>The test &apos;fast/forms/select/popup-closes-on-blur.html&apos; crash with the following stack trace:

 	DumpRenderTree.dll!std::unique_ptr&lt;WTF::HashMap&lt;int,WTF::RefPtr&lt;JSC::WatchpointSet&gt;,WTF::IntHash&lt;int&gt;,WTF::UnsignedWithZeroKeyHashTraits&lt;int&gt;,WTF::HashTraits&lt;WTF::RefPtr&lt;JSC::WatchpointSet&gt; &gt; &gt;,std::default_delete&lt;WTF::HashMap&lt;int,WTF::RefPtr&lt;JSC::WatchpointSet&gt;,WTF::IntHash&lt;int&gt;,WTF::UnsignedWithZeroKeyHashTraits&lt;int&gt;,WTF::HashTraits&lt;WTF::RefPtr&lt;JSC::WatchpointSet&gt; &gt; &gt; &gt; &gt;::get() Line 1453	C++
 	DumpRenderTree.dll!WTF::Vector&lt;COMPtr&lt;IUnknown&gt;,0,WTF::CrashOnOverflow&gt;::data() Line 643	C++
 	DumpRenderTree.dll!WTF::Vector&lt;std::unique_ptr&lt;tagSTGMEDIUM,StgMediumDeleter&gt;,0,WTF::CrashOnOverflow&gt;::begin() Line 647	C++
 	DumpRenderTree.dll!WTF::operator==(const WTF::AtomicString &amp; a, const WTF::AtomicString &amp; b) Line 224	C++
 	DumpRenderTree.dll!WebCore::Element::hasLocalName(const WTF::AtomicString &amp; other) Line 260	C++
 	DumpRenderTree.dll!WebCore::HTMLElement::hasTagName(const WebCore::HTMLQualifiedName &amp; name) Line 99	C++
 	DumpRenderTree.dll!WebCore::Node::hasTagName(const WebCore::HTMLQualifiedName &amp; name) Line 145	C++
&gt;	DumpRenderTree.dll!WTF::TypeCastTraits&lt;WebCore::HTMLSelectElement const ,WebCore::Node const ,0&gt;::checkTagName(const WebCore::Node &amp; node) Line 689	C++
 	DumpRenderTree.dll!WTF::TypeCastTraits&lt;WebCore::HTMLSelectElement const ,WebCore::Node const ,0&gt;::isOfType(const WebCore::Node &amp; node) Line 686	C++
 	DumpRenderTree.dll!WTF::is&lt;WebCore::HTMLSelectElement,WebCore::Node&gt;(WebCore::Node &amp; source) Line 59	C++
 	DumpRenderTree.dll!WebCore::Internals::isSelectPopupVisible(WebCore::Node * node) Line 2166	C++
 	DumpRenderTree.dll!WebCore::jsInternalsPrototypeFunctionIsSelectPopupVisible(JSC::ExecState * exec) Line 3424	C++
 	[External Code]	
 	[Frames below may be incorrect and/or missing]	
 	JavaScriptCore.dll!llint_entry() Line 7211	Unknown
 	JavaScriptCore.dll!vmEntryToJavaScript() Line 109	Unknown
 	JavaScriptCore.dll!JSC::JITCode::execute(JSC::VM * vm, JSC::ProtoCallFrame * protoCallFrame) Line 77	C++
 	JavaScriptCore.dll!JSC::Interpreter::execute(JSC::EvalExecutable * eval, JSC::ExecState * callFrame, JSC::JSValue thisValue, JSC::JSScope * scope) Line 1201	C++
 	JavaScriptCore.dll!JSC::eval(JSC::ExecState * callFrame) Line 134	C++
 	JavaScriptCore.dll!llint_slow_path_call_eval(JSC::ExecState * exec, JSC::Instruction * pc) Line 1248	C++
 	JavaScriptCore.dll!llint_entry() Line 7424	Unknown
 	[External Code]	
 	JavaScriptCore.dll!llint_entry() Line 7211	Unknown
 	JavaScriptCore.dll!llint_entry() Line 7211	Unknown
 	JavaScriptCore.dll!vmEntryToJavaScript() Line 109	Unknown
 	JavaScriptCore.dll!JSC::JITCode::execute(JSC::VM * vm, JSC::ProtoCallFrame * protoCallFrame) Line 77	C++
 	JavaScriptCore.dll!JSC::Interpreter::execute(JSC::ProgramExecutable * program, JSC::ExecState * callFrame, JSC::JSObject * thisObj) Line 914	C++
 	JavaScriptCore.dll!JSC::evaluate(JSC::ExecState * exec, const JSC::SourceCode &amp; source, JSC::JSValue thisValue, JSC::JSValue * returnedException) Line 83	C++
 	WebKit.dll!WebCore::JSMainThreadExecState::evaluate(JSC::ExecState * exec, const JSC::SourceCode &amp; source, JSC::JSValue thisValue, JSC::JSValue * exception) Line 62	C++
 	WebKit.dll!WebCore::ScriptController::evaluateInWorld(const WebCore::ScriptSourceCode &amp; sourceCode, WebCore::DOMWrapperWorld &amp; world) Line 150	C++
 	WebKit.dll!WebCore::ScriptController::evaluate(const WebCore::ScriptSourceCode &amp; sourceCode) Line 166	C++
 	WebKit.dll!WebCore::ScriptElement::executeScript(const WebCore::ScriptSourceCode &amp; sourceCode) Line 301	C++
 	WebKit.dll!WebCore::ScriptElement::prepareScript(const WTF::TextPosition &amp; scriptStartPosition, WebCore::ScriptElement::LegacyTypeSupport supportLegacyTypes) Line 237	C++
 	WebKit.dll!WebCore::HTMLScriptRunner::runScript(WebCore::Element * script, const WTF::TextPosition &amp; scriptStartPosition) Line 304	C++
 	WebKit.dll!WebCore::HTMLScriptRunner::execute(WTF::PassRefPtr&lt;WebCore::Element&gt; scriptElement, const WTF::TextPosition &amp; scriptStartPosition) Line 177	C++
 	WebKit.dll!WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder() Line 197	C++
 	WebKit.dll!WebCore::HTMLDocumentParser::canTakeNextToken(WebCore::HTMLDocumentParser::SynchronousMode mode, WebCore::PumpSession &amp; session) Line 214	C++
 	WebKit.dll!WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode mode) Line 259	C++
 	WebKit.dll!WebCore::HTMLDocumentParser::pumpTokenizerIfPossible(WebCore::HTMLDocumentParser::SynchronousMode mode) Line 167	C++
 	WebKit.dll!WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution() Line 492	C++
 	WebKit.dll!WebCore::HTMLDocumentParser::notifyFinished(WebCore::CachedResource * cachedResource) Line 532	C++
 	WebKit.dll!WebCore::CachedResource::checkNotify() Line 294	C++
 	WebKit.dll!WebCore::CachedResource::finishLoading(WebCore::SharedBuffer * __formal) Line 311	C++
 	WebKit.dll!WebCore::CachedScript::finishLoading(WebCore::SharedBuffer * data) Line 87	C++
 	WebKit.dll!WebCore::SubresourceLoader::didFinishLoading(double finishTime) Line 357	C++
 	WebKit.dll!WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle * __formal, double finishTime) Line 503	C++
 	WebKit.dll!WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFinishLoading() Line 181	C++
 	WebKit.dll!WebCore::ResourceHandleCFURLConnectionDelegate::didFinishLoadingCallback(_CFURLConnection * __formal, const void * clientInfo) Line 88	C++
 	CFNetwork.dll!URLConnectionClient::_clientDidFinishLoading(URLConnectionClient::ClientConnectionEventQueue * preQ) Line 1739	C++
 	CFNetwork.dll!URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo&lt;enum XClientEvent,XClientEventParams&gt; * e, long count) Line 2256	C++
 	CFNetwork.dll!XConnectionEventQueue&lt;enum XClientEvent,XClientEventParams&gt;::processAllEvents() Line 231	C++
 	CFNetwork.dll!URLConnectionClient::processEvents() Line 362	C++
 	CFNetwork.dll!URLConnectionWndProc(HWND__ * hWnd, unsigned int message, unsigned int wParam, long lParam) Line 109	C++
 	[External Code]	
 	DumpRenderTree.dll!runTest(const std::basic_string&lt;char,std::char_traits&lt;char&gt;,std::allocator&lt;char&gt; &gt; &amp; inputLine) Line 1130	C++
 	DumpRenderTree.dll!main(int argc, const char * * argv) Line 1488	C++
 	DumpRenderTree.dll!dllLauncherEntryPoint(int argc, const char * * argv) Line 1518	C++
 	DumpRenderTree.exe!main(int argc, const char * * argv) Line 239	C++
 	[External Code]	

The crash is happening because the contents of WebCore::HTMLNames::selectTag is garbage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061613</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-01-15 13:07:22 -0800</bug_when>
    <thetext>May have been introduced in https://bugs.webkit.org/show_bug.cgi?id=113220.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343855</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-08-30 21:10:23 -0700</bug_when>
    <thetext>I have one report of this from a Linux user. Only one, so I&apos;d say it&apos;s low priority.

Truncated backtrace:
Thread no. 1 (10 frames)
 #0 WTF::RefPtr&lt;WTF::StringImpl&gt;::get at /usr/src/debug/webkitgtk-2.16.2/Source/WTF/wtf/RefPtr.h:64
 #1 WTF::String::impl at /usr/src/debug/webkitgtk-2.16.2/Source/WTF/wtf/text/WTFString.h:150
 #2 WTF::AtomicString::impl at /usr/src/debug/webkitgtk-2.16.2/Source/WTF/wtf/text/AtomicString.h:98
 #3 WTF::operator== at /usr/src/debug/webkitgtk-2.16.2/Source/WTF/wtf/text/AtomicString.h:202
 #4 WebCore::Element::hasLocalName at /usr/src/debug/webkitgtk-2.16.2/Source/WebCore/dom/Element.h:214
 #5 WebCore::HTMLElement::hasTagName at /usr/src/debug/webkitgtk-2.16.2/Source/WebCore/html/HTMLElement.h:91
 #6 WebCore::Node::hasTagName at /usr/src/debug/webkitgtk-2.16.2/Source/WebCore/html/HTMLElement.h:158
 #7 WTF::TypeCastTraits&lt;WebCore::HTMLOptionElement const, WebCore::ContainerNode const, false&gt;::checkTagName at /usr/src/debug/webkitgtk-2.16.2/x86_64-redhat-linux-gnu/DerivedSources/WebCore/HTMLElementTypeHelpers.h:619
 #8 WTF::TypeCastTraits&lt;WebCore::HTMLOptionElement const, WebCore::ContainerNode const, false&gt;::isOfType at /usr/src/debug/webkitgtk-2.16.2/x86_64-redhat-linux-gnu/DerivedSources/WebCore/HTMLElementTypeHelpers.h:616
 #9 WTF::is&lt;WebCore::HTMLOptionElement, WebCore::ContainerNode&gt; at /usr/src/debug/webkitgtk-2.16.2/Source/WTF/wtf/TypeCasts.h:59</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>