<?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>149288</bug_id>
          
          <creation_ts>2015-09-17 14:26:46 -0700</creation_ts>
          <short_desc>Null dereference loading Blink layout test editing/execCommand/crash-replacing-list-by-list.html</short_desc>
          <delta_ts>2015-10-26 16:09:02 -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>HTML Editing</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BlinkMergeCandidate, HasReduction, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Honeycutt">jhoneycutt</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1126841</commentid>
    <comment_count>0</comment_count>
      <attachid>261422</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2015-09-17 14:26:46 -0700</bug_when>
    <thetext>Created attachment 261422
crashing test

Null dereference loading Blink layout test editing/execCommand/crash-replacing-list-by-list.html.

Stack trace:

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000015
Exception Note:        EXC_CORPSE_NOTIFY

VM Regions Near 0x15:
--&gt; 
    __TEXT                 00000001003e4000-00000001003e6000 [    8K] r-x/rwx SM=COW  /Users/USER/*/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.Development.xpc/Contents/MacOS/com.apple.WebKit.WebContent.Development

Application Specific Information:
CRASHING TEST: temp-tests/editing/execCommand/crash-replacing-list-by-list.html

Global Trace Buffer (reverse chronological seconds):
18446744062.062584 CFNetwork                 	0x00007fff88d43b97 Explicitly setting CF cookie storage singleton
18446744062.062977 CFNetwork                 	0x00007fff88d8f211 Explicitly setting cookie storage singleton

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x0000000108db6ce9 WebCore::ReplaceSelectionCommand::doApply() + 10777 (Node.h:638)
1   com.apple.WebCore             	0x0000000108202216 WebCore::CompositeEditCommand::apply() + 102 (ScopedEventQueue.h:71)
2   com.apple.WebCore             	0x0000000108438714 WebCore::executeInsertFragment(WebCore::Frame&amp;, WTF::PassRefPtr&lt;WebCore::DocumentFragment&gt;) + 84 (StdLibExtras.h:366)
3   com.apple.WebCore             	0x0000000108435d83 WebCore::executeInsertHTML(WebCore::Frame&amp;, WebCore::Event*, WebCore::EditorCommandSource, WTF::String const&amp;) + 99 (StdLibExtras.h:366)
4   com.apple.WebCore             	0x0000000108434876 WebCore::Editor::Command::execute(WTF::String const&amp;, WebCore::Event*) const + 182 (EditorCommand.cpp:1704)
5   com.apple.WebCore             	0x000000010836dc36 WebCore::Document::execCommand(WTF::String const&amp;, bool, WTF::String const&amp;) + 214 (Document.cpp:4666)
6   com.apple.WebCore             	0x0000000108784074 WebCore::jsDocumentPrototypeFunctionExecCommand(JSC::ExecState*) + 420 (JSCJSValue.h:499)
7   ???                           	0x00004dc41f801028 0 + 85504737415208
8   com.apple.JavaScriptCore      	0x0000000107ae076f llint_entry + 22696
9   com.apple.JavaScriptCore      	0x0000000107adace4 vmEntryToJavaScript + 299
10  com.apple.JavaScriptCore      	0x000000010799b2d9 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 169 (JITCode.cpp:82)
11  com.apple.JavaScriptCore      	0x0000000107981a10 JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::JSObject*) + 10448 (Interpreter.cpp:945)
12  com.apple.JavaScriptCore      	0x00000001076944c5 JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 469 (Completion.cpp:104)
13  com.apple.WebCore             	0x0000000108df78ec WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&amp;, WebCore::DOMWrapperWorld&amp;) + 284 (JSMainThreadExecState.h:62)
14  com.apple.WebCore             	0x0000000108df7b29 WebCore::ScriptController::evaluate(WebCore::ScriptSourceCode const&amp;) + 41 (ScriptController.cpp:180)
15  com.apple.WebCore             	0x0000000108dfdaac WebCore::ScriptElement::executeScript(WebCore::ScriptSourceCode const&amp;) + 316 (ScriptElement.cpp:309)
16  com.apple.WebCore             	0x0000000108dfc756 WebCore::ScriptElement::prepareScript(WTF::TextPosition const&amp;, WebCore::ScriptElement::LegacyTypeSupport) + 1046 (StdLibExtras.h:366)
17  com.apple.WebCore             	0x00000001085f95eb WebCore::HTMLScriptRunner::runScript(WebCore::Element*, WTF::TextPosition const&amp;) + 347 (ScriptElement.h:58)
18  com.apple.WebCore             	0x00000001085f9440 WebCore::HTMLScriptRunner::execute(WTF::PassRefPtr&lt;WebCore::Element&gt;, WTF::TextPosition const&amp;) + 48 (HTMLScriptRunner.cpp:191)
19  com.apple.WebCore             	0x000000010859c466 WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder() + 86 (StdLibExtras.h:366)
20  com.apple.WebCore             	0x000000010859c52d WebCore::HTMLDocumentParser::canTakeNextToken(WebCore::HTMLDocumentParser::SynchronousMode, WebCore::PumpSession&amp;) + 93 (HTMLDocumentParser.cpp:214)
21  com.apple.WebCore             	0x000000010859c0c3 WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode) + 595 (HTMLDocumentParser.cpp:259)
22  com.apple.WebCore             	0x000000010859cddd WebCore::HTMLDocumentParser::append(WTF::PassRefPtr&lt;WTF::StringImpl&gt;) + 669 (DocumentParser.h:71)
23  com.apple.WebCore             	0x000000010833f61c WebCore::DecodedDataDocumentParser::flush(WebCore::DocumentWriter&amp;) + 92 (StdLibExtras.h:366)
24  com.apple.WebCore             	0x000000010839f68b WebCore::DocumentWriter::end() + 43 (RefPtr.h:71)
25  com.apple.WebCore             	0x00000001083879ec WebCore::DocumentLoader::finishedLoading(double) + 268 (ResourceErrorBase.h:42)
26  com.apple.WebCore             	0x00000001081b8179 WebCore::CachedResource::checkNotify() + 153 (CachedResourceClientWalker.h:51)
27  com.apple.WebCore             	0x00000001081b4433 WebCore::CachedRawResource::finishLoading(WebCore::SharedBuffer*) + 227 (CachedRawResource.cpp:104)
28  com.apple.WebCore             	0x0000000108f2f501 WebCore::SubresourceLoader::didFinishLoading(double) + 1153 (ResourceLoader.h:154)
29  com.apple.WebKit              	0x0000000106a7598d WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&amp;, IPC::MessageDecoder&amp;) + 561 (HandleMessage.h:16)
30  com.apple.WebKit              	0x000000010684f1f1 IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;) + 127 (memory:2636)
31  com.apple.WebKit              	0x0000000106851b4a IPC::Connection::dispatchOneMessage() + 126 (memory:2656)
32  com.apple.JavaScriptCore      	0x0000000107c93985 WTF::RunLoop::performWork() + 437 (functional:1742)
33  com.apple.JavaScriptCore      	0x0000000107c93d32 WTF::RunLoop::performWork(void*) + 34 (RunLoopCF.cpp:39)
34  com.apple.CoreFoundation      	0x00007fff949e2c01 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
35  com.apple.CoreFoundation      	0x00007fff949d4b1c __CFRunLoopDoSources0 + 556
36  com.apple.CoreFoundation      	0x00007fff949d403f __CFRunLoopRun + 927
37  com.apple.CoreFoundation      	0x00007fff949d3a38 CFRunLoopRunSpecific + 296
38  com.apple.HIToolbox           	0x00007fff88e673bd RunCurrentEventLoopInMode + 235
39  com.apple.HIToolbox           	0x00007fff88e67153 ReceiveNextEventCommon + 432
40  com.apple.HIToolbox           	0x00007fff88e66f93 _BlockUntilNextEventMatchingListInModeWithFilter + 71
41  com.apple.AppKit              	0x00007fff870b81e7 _DPSNextEvent + 1076
42  com.apple.AppKit              	0x00007fff8748490d -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454
43  com.apple.AppKit              	0x00007fff870ae0b8 -[NSApplication run] + 682
44  com.apple.AppKit              	0x00007fff87030396 NSApplicationMain + 1176
45  libxpc.dylib                  	0x00007fff8c70ff70 _xpc_objc_main + 793
46  libxpc.dylib                  	0x00007fff8c7116bf xpc_main + 494
47  com.apple.WebKit.WebContent.Development	0x00000001003e5424 main + 409 (XPCServiceMain.Development.mm:187)
48  libdyld.dylib                 	0x00007fff93aa15ad start + 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126844</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-09-17 14:27:09 -0700</bug_when>
    <thetext>&lt;rdar://problem/22746310&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1135466</commentid>
    <comment_count>2</comment_count>
      <attachid>263765</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2015-10-21 17:01:29 -0700</bug_when>
    <thetext>Created attachment 263765
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136581</commentid>
    <comment_count>3</comment_count>
      <attachid>263765</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-10-26 11:59:47 -0700</bug_when>
    <thetext>Comment on attachment 263765
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=263765&amp;action=review

r=me with comments.

&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:1468
&gt;      if (isStart || isMiddle)

maybe:
if ((isStart || isMiddle) &amp;&amp; lastNode-&gt;previousSibling())
    lastNode = lastNode-&gt;previousSibling()

to avoid the unnecessary assignment.

&gt; LayoutTests/editing/execCommand/crash-replacing-list-by-list.html:3
&gt; +Pass if not crash.

This does not sound like proper English. I would use &quot;Pass if it does not crash&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136583</commentid>
    <comment_count>4</comment_count>
      <attachid>263765</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-10-26 12:01:09 -0700</bug_when>
    <thetext>Comment on attachment 263765
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=263765&amp;action=review

&gt;&gt; LayoutTests/editing/execCommand/crash-replacing-list-by-list.html:3
&gt;&gt; +Pass if not crash.
&gt; 
&gt; This does not sound like proper English. I would use &quot;Pass if it does not crash&quot;.

Actually &quot;Passes if it does not crash&quot; would be better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136602</commentid>
    <comment_count>5</comment_count>
      <attachid>264065</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2015-10-26 12:54:59 -0700</bug_when>
    <thetext>Created attachment 264065
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136677</commentid>
    <comment_count>6</comment_count>
      <attachid>264065</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-26 16:08:53 -0700</bug_when>
    <thetext>Comment on attachment 264065
Patch

Clearing flags on attachment: 264065

Committed r191609: &lt;http://trac.webkit.org/changeset/191609&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136678</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-26 16:09:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>261422</attachid>
            <date>2015-09-17 14:26:46 -0700</date>
            <delta_ts>2015-09-17 14:26:46 -0700</delta_ts>
            <desc>crashing test</desc>
            <filename>crash-replacing-list-by-list.html</filename>
            <type>text/html</type>
            <size>364</size>
            <attacher name="Jon Honeycutt">jhoneycutt</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+Cjxib2R5PgpQQVNTIGlmIEJsaW5rIGRvZXNuJ3QgY3Jhc2guCjxkaXYg
aWQ9InNhbXBsZSIgY29udGVudGVkaXRhYmxlPSJ0cnVlIj48b2w+PGxpPjxicj48L2xpPjwvb2w+
PC9kaXY+CjwvYm9keT4KPHNjcmlwdD4KaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CnZhciBzYW1wbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
c2FtcGxlJyk7CmdldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKHNhbXBsZSk7CmRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCdJbnNlcnRIVE1MJywgZmFsc2UsICc8dWw+Jyk7CnNhbXBsZS5vdXRl
ckhUTUwgPSAnJzsKPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263765</attachid>
            <date>2015-10-21 17:01:29 -0700</date>
            <delta_ts>2015-10-26 12:54:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149288-20151021170045.patch</filename>
            <type>text/plain</type>
            <size>3543</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGFiMjJhNjc4Yjc4ODVm
NTAyYmFkY2ZiNjU1MTUyOTY0ODIxNjFlNi4uN2FjNTY4N2JmY2FkZWRiZDVjYWEyNWUwODg3Y2Yz
ZTgyYjVlZWNjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE1LTEwLTIxICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgTnVsbCBkZXJlZmVyZW5j
ZSBsb2FkaW5nIEJsaW5rIGxheW91dCB0ZXN0IGVkaXRpbmcvZXhlY0NvbW1hbmQvY3Jhc2gtcmVw
bGFjaW5nLWxpc3QtYnktbGlzdC5odG1sCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDkyODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIyNzQ2MzEw
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
aXMgYSBtZXJnZSBvZiBCbGluayByMTcwODIxOgorICAgICAgICBodHRwczovL2NvZGVyZXZpZXcu
Y2hyb21pdW0ub3JnLzIyMDIzMzAxMworCisgICAgICAgIFRlc3Q6IGVkaXRpbmcvZXhlY0NvbW1h
bmQvY3Jhc2gtcmVwbGFjaW5nLWxpc3QtYnktbGlzdC5odG1sCisKKyAgICAgICAgKiBlZGl0aW5n
L1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxhY2VT
ZWxlY3Rpb25Db21tYW5kOjppbnNlcnRBc0xpc3RJdGVtcyk6CisKIDIwMTUtMTAtMTkgIE15bGVz
IEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBIb3N0IEdyYXBo
aWNzQ29udGV4dCdzIENUTSBpbnNpZGUgR3JhcGhpY3NDb250ZXh0U3RhdGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKaW5kZXggMDhj
NjI3N2RlZmMzNGZhMjIzNGMyZTQ2MmYyMzY0N2Q2YmM5OWEzZC4uYzI4YjY1MDVhMzJkYzlmM2M3
NDZlMGRmMGE5YzkyOWU3MGExMjdiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKQEAgLTE0NjYsNyArMTQ2Niw3IEBAIE5vZGUq
IFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjppbnNlcnRBc0xpc3RJdGVtcyhQYXNzUmVmUHRyPEhU
TUxFbGVtZW50PiBwcnBMaXN0CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAg
ICB9CiAgICAgaWYgKGlzU3RhcnQgfHwgaXNNaWRkbGUpCi0gICAgICAgIGxhc3ROb2RlID0gbGFz
dE5vZGUtPnByZXZpb3VzU2libGluZygpOworICAgICAgICBsYXN0Tm9kZSA9IGxhc3ROb2RlLT5w
cmV2aW91c1NpYmxpbmcoKSA/IGxhc3ROb2RlLT5wcmV2aW91c1NpYmxpbmcoKSA6IGxhc3ROb2Rl
OwogICAgIHJldHVybiBsYXN0Tm9kZTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU1ZjQ1ZThiMjQxMjE0MDZkN2Mw
ZjUxMTkxNjkxMjBiNTQ4NjYwZjAuLmQ5YTA5MTYwYzUzZjk3OTU5YjFiN2UwNjlmMjU2NDQ3Y2Iz
NDE3OTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0xMC0yMSAgSmlld2VuIFRhbiAgPGpp
ZXdlbl90YW5AYXBwbGUuY29tPgorCisgICAgICAgIE51bGwgZGVyZWZlcmVuY2UgbG9hZGluZyBC
bGluayBsYXlvdXQgdGVzdCBlZGl0aW5nL2V4ZWNDb21tYW5kL2NyYXNoLXJlcGxhY2luZy1saXN0
LWJ5LWxpc3QuaHRtbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ5Mjg4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMjc0NjMxMD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGVkaXRpbmcvZXhlY0Nv
bW1hbmQvY3Jhc2gtcmVwbGFjaW5nLWxpc3QtYnktbGlzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvZXhlY0NvbW1hbmQvY3Jhc2gtcmVwbGFjaW5nLWxpc3QtYnktbGlz
dC5odG1sOiBBZGRlZC4KKwogMjAxNS0xMC0xOSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9u
QGFwcGxlLmNvbT4KIAogICAgICAgICBEb24ndCBkdW1wIEdlc3R1cmVFdmVudCBjb25zdHJ1Y3Rv
ciBhdHRyaWJ1dGVzIGZvciBub3cKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvZXhl
Y0NvbW1hbmQvY3Jhc2gtcmVwbGFjaW5nLWxpc3QtYnktbGlzdC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2NyYXNoLXJlcGxhY2luZy1saXN0LWJ5LWxpc3Qt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0ODkyY2Y0NTE0ODRiMTZjZGUyOGM2NTk0ZmFkNjMx
MzlhNzdkN2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21t
YW5kL2NyYXNoLXJlcGxhY2luZy1saXN0LWJ5LWxpc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEg
QEAKK1Bhc3MgaWYgbm90IGNyYXNoLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9l
eGVjQ29tbWFuZC9jcmFzaC1yZXBsYWNpbmctbGlzdC1ieS1saXN0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2NyYXNoLXJlcGxhY2luZy1saXN0LWJ5LWxpc3QuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kNjgzZjk0ZmIzY2UyYTlhZjNhMTQyZmQyZjE1OGMyMTE5Y2U0YTgyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9jcmFzaC1yZXBs
YWNpbmctbGlzdC1ieS1saXN0Lmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8Ym9keT4KK1Bhc3MgaWYgbm90IGNyYXNoLgorPGRpdiBpZD0ic2FtcGxlIiBjb250ZW50ZWRp
dGFibGU9InRydWUiPjxvbD48bGk+PGJyPjwvbGk+PC9vbD48L2Rpdj4KKzwvYm9keT4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
Cit2YXIgc2FtcGxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NhbXBsZScpOworZ2V0U2Vs
ZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oc2FtcGxlKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5k
KCdJbnNlcnRIVE1MJywgZmFsc2UsICc8dWw+Jyk7CitzYW1wbGUub3V0ZXJIVE1MID0gJyc7Cis8
L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264065</attachid>
            <date>2015-10-26 12:54:59 -0700</date>
            <delta_ts>2015-10-26 16:08:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149288-20151026125411.patch</filename>
            <type>text/plain</type>
            <size>3550</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGFiMjJhNjc4Yjc4ODVm
NTAyYmFkY2ZiNjU1MTUyOTY0ODIxNjFlNi4uN2FjNTY4N2JmY2FkZWRiZDVjYWEyNWUwODg3Y2Yz
ZTgyYjVlZWNjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE1LTEwLTIxICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgTnVsbCBkZXJlZmVyZW5j
ZSBsb2FkaW5nIEJsaW5rIGxheW91dCB0ZXN0IGVkaXRpbmcvZXhlY0NvbW1hbmQvY3Jhc2gtcmVw
bGFjaW5nLWxpc3QtYnktbGlzdC5odG1sCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDkyODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIyNzQ2MzEw
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
aXMgYSBtZXJnZSBvZiBCbGluayByMTcwODIxOgorICAgICAgICBodHRwczovL2NvZGVyZXZpZXcu
Y2hyb21pdW0ub3JnLzIyMDIzMzAxMworCisgICAgICAgIFRlc3Q6IGVkaXRpbmcvZXhlY0NvbW1h
bmQvY3Jhc2gtcmVwbGFjaW5nLWxpc3QtYnktbGlzdC5odG1sCisKKyAgICAgICAgKiBlZGl0aW5n
L1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxhY2VT
ZWxlY3Rpb25Db21tYW5kOjppbnNlcnRBc0xpc3RJdGVtcyk6CisKIDIwMTUtMTAtMTkgIE15bGVz
IEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBIb3N0IEdyYXBo
aWNzQ29udGV4dCdzIENUTSBpbnNpZGUgR3JhcGhpY3NDb250ZXh0U3RhdGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKaW5kZXggMDhj
NjI3N2RlZmMzNGZhMjIzNGMyZTQ2MmYyMzY0N2Q2YmM5OWEzZC4uNDM4MjE4MzVhYTkyOWE2Mjgx
NTI2MzRiYjk1MjYwMDUyZGE2NzFiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKQEAgLTE0NjUsNyArMTQ2NSw3IEBAIE5vZGUq
IFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjppbnNlcnRBc0xpc3RJdGVtcyhQYXNzUmVmUHRyPEhU
TUxFbGVtZW50PiBwcnBMaXN0CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgfQotICAgIGlmIChpc1N0YXJ0IHx8IGlzTWlkZGxlKQorICAgIGlm
ICgoaXNTdGFydCB8fCBpc01pZGRsZSkgJiYgbGFzdE5vZGUtPnByZXZpb3VzU2libGluZygpKQog
ICAgICAgICBsYXN0Tm9kZSA9IGxhc3ROb2RlLT5wcmV2aW91c1NpYmxpbmcoKTsKICAgICByZXR1
cm4gbGFzdE5vZGU7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTVmNDVlOGIyNDEyMTQwNmQ3YzBmNTExOTE2OTEyMGI1
NDg2NjBmMC4uZDlhMDkxNjBjNTNmOTc5NTliMWI3ZTA2OWYyNTY0NDdjYjM0MTc5NSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDE1LTEwLTIxICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgTnVsbCBkZXJlZmVyZW5jZSBsb2FkaW5nIEJsaW5rIGxheW91dCB0
ZXN0IGVkaXRpbmcvZXhlY0NvbW1hbmQvY3Jhc2gtcmVwbGFjaW5nLWxpc3QtYnktbGlzdC5odG1s
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkyODgK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIyNzQ2MzEwPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9leGVjQ29tbWFuZC9jcmFzaC1y
ZXBsYWNpbmctbGlzdC1ieS1saXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9leGVjQ29tbWFuZC9jcmFzaC1yZXBsYWNpbmctbGlzdC1ieS1saXN0Lmh0bWw6IEFkZGVk
LgorCiAyMDE1LTEwLTE5ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgog
CiAgICAgICAgIERvbid0IGR1bXAgR2VzdHVyZUV2ZW50IGNvbnN0cnVjdG9yIGF0dHJpYnV0ZXMg
Zm9yIG5vdwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9jcmFz
aC1yZXBsYWNpbmctbGlzdC1ieS1saXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvZXhlY0NvbW1hbmQvY3Jhc2gtcmVwbGFjaW5nLWxpc3QtYnktbGlzdC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNGFlZGExZjgxMWNmM2EzOTM2NzQ4YjM5MjRlMjkxMmZjZTBmY2IxMQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvY3Jhc2gtcmVw
bGFjaW5nLWxpc3QtYnktbGlzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorUGFzc2VzIGlm
IGl0IGRvZXMgbm90IGNyYXNoLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVj
Q29tbWFuZC9jcmFzaC1yZXBsYWNpbmctbGlzdC1ieS1saXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2V4ZWNDb21tYW5kL2NyYXNoLXJlcGxhY2luZy1saXN0LWJ5LWxpc3QuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45Yjc3NDc3NmQwNjE4ZjI4YmE5YzU0YWY0YjRiMjM1OGVkNmUxY2NiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9jcmFzaC1yZXBsYWNp
bmctbGlzdC1ieS1saXN0Lmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
Ym9keT4KK1Bhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4KKzxkaXYgaWQ9InNhbXBsZSIgY29u
dGVudGVkaXRhYmxlPSJ0cnVlIj48b2w+PGxpPjxicj48L2xpPjwvb2w+PC9kaXY+Cis8L2JvZHk+
Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwordmFyIHNhbXBsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYW1wbGUnKTsK
K2dldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKHNhbXBsZSk7Citkb2N1bWVudC5leGVj
Q29tbWFuZCgnSW5zZXJ0SFRNTCcsIGZhbHNlLCAnPHVsPicpOworc2FtcGxlLm91dGVySFRNTCA9
ICcnOworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>