<?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>53593</bug_id>
          
          <creation_ts>2011-02-02 07:46:27 -0800</creation_ts>
          <short_desc>Crash beneath HistoryController::recursiveSetProvisionalItem in web process (preceded by assertion failure) if UI process exits while Messages::WebPage::RestoreSessionAndNavigateToCurrentItem is being handled</short_desc>
          <delta_ts>2011-02-13 02:19:31 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>abarth</cc>
    
    <cc>beidson</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>343973</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-02-02 07:46:27 -0800</bug_when>
    <thetext>To reproduce:

1. Put a breakpoint in WebPage::restoreSessionAndNavigateToCurrentItem and cause it to be called
2. When the breakpoint is hit, kill the UI process
3. Let the web process continue

You&apos;ll hit an assertion failure in HistoryController::recursiveSetProvisionalItem, which would then be followed by a crash in HistoryController::itemsAreClones. The failing assertion is:

    ASSERT(fromItem);

The problem is that BackForwardController::currentItem returned null inside HistoryController::goToItem. It returned null because the WebBackForwardListProxy was not able to send a synchronous message to the UI process to get the current item, because the UI process had exited.

Here&apos;s the backtrace when the assertion fires:


 	WebKit.dll!WebCore::HistoryController::recursiveSetProvisionalItem(WebCore::HistoryItem * item=0x02428e60, WebCore::HistoryItem * fromItem=0x00000000, WebCore::FrameLoadType type=FrameLoadTypeIndexedBackForward)  Line 614 + 0x22 bytes	C++
&gt;	WebKit.dll!WebCore::HistoryController::goToItem(WebCore::HistoryItem * targetItem=0x02428e60, WebCore::FrameLoadType type=FrameLoadTypeIndexedBackForward)  Line 250	C++
 	WebKit.dll!WebCore::Page::goToItem(WebCore::HistoryItem * item=0x02428e60, WebCore::FrameLoadType type=FrameLoadTypeIndexedBackForward)  Line 353	C++
 	WebKit.dll!WebKit::WebPage::goToBackForwardItem(unsigned __int64 backForwardItemID=2)  Line 489	C++
 	WebKit.dll!WebKit::WebPage::restoreSessionAndNavigateToCurrentItem(const WebKit::SessionState &amp; sessionState={...})  Line 988	C++
 	WebKit.dll!CoreIPC::callMemberFunction&lt;WebKit::WebPage,void (__thiscall WebKit::WebPage::*)(WebKit::SessionState const &amp;),WebKit::SessionState&gt;(const CoreIPC::Arguments1&lt;WebKit::SessionState&gt; &amp; args={...}, WebKit::WebPage * object=0x02391f70, void (const WebKit::SessionState &amp;)* function=0x10009020)  Line 19 + 0xf bytes	C++
 	WebKit.dll!CoreIPC::handleMessage&lt;Messages::WebPage::RestoreSessionAndNavigateToCurrentItem,WebKit::WebPage,void (__thiscall WebKit::WebPage::*)(WebKit::SessionState const &amp;)&gt;(CoreIPC::ArgumentDecoder * argumentDecoder=0x023c5070, WebKit::WebPage * object=0x02391f70, void (const WebKit::SessionState &amp;)* function=0x10009020)  Line 222 + 0x15 bytes	C++
 	WebKit.dll!WebKit::WebPage::didReceiveWebPageMessage(CoreIPC::Connection * __formal=0x0237b670, CoreIPC::MessageID messageID={...}, CoreIPC::ArgumentDecoder * arguments=0x023c5070)  Line 118 + 0x2f bytes	C++
 	WebKit.dll!WebKit::WebPage::didReceiveMessage(CoreIPC::Connection * connection=0x0237b670, CoreIPC::MessageID messageID={...}, CoreIPC::ArgumentDecoder * arguments=0x023c5070)  Line 1652	C++
 	WebKit.dll!WebKit::WebProcess::didReceiveMessage(CoreIPC::Connection * connection=0x0237b670, CoreIPC::MessageID messageID={...}, CoreIPC::ArgumentDecoder * arguments=0x023c5070)  Line 537	C++
 	WebKit.dll!CoreIPC::Connection::dispatchMessages()  Line 479 + 0x31 bytes	C++
 	WebKit.dll!MemberFunctionWorkItem0&lt;CoreIPC::Connection&gt;::execute()  Line 76 + 0x10 bytes	C++
 	WebKit.dll!RunLoop::performWork()  Line 63 + 0x1a bytes	C++
 	WebKit.dll!RunLoop::wndProc(HWND__ * hWnd=0x00041246, unsigned int message=1025, unsigned int wParam=37201464, long lParam=0)  Line 61	C++
 	WebKit.dll!RunLoop::RunLoopWndProc(HWND__ * hWnd=0x00041246, unsigned int message=1025, unsigned int wParam=37201464, long lParam=0)  Line 43 + 0x18 bytes	C++
 	user32.dll!_InternalCallWinProc@20()  + 0x28 bytes	
 	user32.dll!_UserCallWinProcCheckWow@32()  + 0xb7 bytes	
 	user32.dll!_DispatchMessageWorker@8()  + 0xdc bytes	
 	user32.dll!_DispatchMessageW@4()  + 0xf bytes	
 	WebKit.dll!RunLoop::runUntil(const CoreIPC::BinarySemaphore * semaphore=0x00000000, double absoluteTime=1.7976931348623157e+308)  Line 99 + 0xc bytes	C++
 	WebKit.dll!RunLoop::run()  Line 72 + 0x1c bytes	C++
 	WebKit.dll!WebKit::WebProcessMain(const WebKit::CommandLine &amp; commandLine={...})  Line 82	C++
 	WebKit.dll!WebKitMain(const WebKit::CommandLine &amp; commandLine={...})  Line 48 + 0x9 bytes	C++
 	WebKit.dll!WebKitMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, wchar_t * lpstrCmdLine=0x000210d4, int nCmdShow=10)  Line 172 + 0x9 bytes	C++
 	WebKit2WebProcess.exe!wWinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, wchar_t * lpstrCmdLine=0x000210d4, int nCmdShow=10)  Line 44 + 0x18 bytes	C++
 	WebKit2WebProcess.exe!__tmainCRTStartup()  Line 589 + 0x1c bytes	C
 	kernel32.dll!_BaseProcessStart@4()  + 0x23 bytes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343974</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-02-02 07:46:42 -0800</bug_when>
    <thetext>See also bug 52819.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343975</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-02-02 07:47:01 -0800</bug_when>
    <thetext>&lt;rdar://problem/8948380&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350142</commentid>
    <comment_count>3</comment_count>
      <attachid>82205</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-11 16:16:17 -0800</bug_when>
    <thetext>Created attachment 82205
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350144</commentid>
    <comment_count>4</comment_count>
      <attachid>82205</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-11 16:18:51 -0800</bug_when>
    <thetext>Comment on attachment 82205
proposed patch

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

&gt; Source/WebKit2/Platform/CoreIPC/Connection.h:87
&gt; +        virtual void didFailToSendSyncMessage(Connection*) { };

Semicolon here is unneeded/incorrect.

&gt; Source/WebKit2/PluginProcess/PluginProcess.cpp:116
&gt; +    // We were making a synchronous call to web process that doesn&apos;t exist any more.

Should be “a web process”.

&gt; Source/WebKit2/WebProcess/WebProcess.cpp:572
&gt; +    // We were making a synchronous call to UI process that doesn&apos;t exist any more.

Should be “a UI process”.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350147</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-11 16:25:34 -0800</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/78392&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350367</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-13 02:19:31 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/78392 might have broken SnowLeopard Intel Release (WebKit2 Tests)
The following tests are not passing:
fast/loader/empty-embed-src-attribute.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82205</attachid>
            <date>2011-02-11 16:16:17 -0800</date>
            <delta_ts>2011-02-11 16:18:51 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>QuitOnSyncFailure.txt</filename>
            <type>text/plain</type>
            <size>6169</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4Mzg3KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDItMTEgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTUzNTkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84OTQ4MzgwPiBDcmFzaCBiZW5lYXRo
IEhpc3RvcnlDb250cm9sbGVyOjpyZWN1cnNpdmVTZXRQcm92aXNpb25hbEl0ZW0gaW4gd2ViCisg
ICAgICAgIHByb2Nlc3MgKHByZWNlZGVkIGJ5IGFzc2VydGlvbiBmYWlsdXJlKSBpZiBVSSBwcm9j
ZXNzIGV4aXRzIHdoaWxlIAorICAgICAgICBNZXNzYWdlczo6V2ViUGFnZTo6UmVzdG9yZVNlc3Np
b25BbmROYXZpZ2F0ZVRvQ3VycmVudEl0ZW0gaXMgYmVpbmcgaGFuZGxlZAorCisgICAgICAgIENh
bid0IHRlc3QgZXhpdGluZyB0aGUgVUkgcHJvY2Vzcy4KKworICAgICAgICAqIFBsYXRmb3JtL0Nv
cmVJUEMvQ29ubmVjdGlvbi5jcHA6IChDb3JlSVBDOjpDb25uZWN0aW9uOjpzZW5kU3luY01lc3Nh
Z2UpOgorICAgICAgICAqIFBsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5oOiAoQ29yZUlQQzo6
Q29ubmVjdGlvbjo6Q2xpZW50OjpkaWRGYWlsVG9TZW5kU3luY01lc3NhZ2UpOgorICAgICAgICBO
b3RpZnkgY29ubmVjdGlvbiBjbGllbnQgd2hlbiB0aGUgY29ubmVjdGlvbiBmYWlscyB0byBzZW5k
IGEgc3luYyBtZXNzYWdlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDog
KFdlYktpdDo6V2ViUHJvY2Vzczo6ZGlkRmFpbFRvU2VuZFN5bmNNZXNzYWdlKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgUXVpdCB0aGUgd2ViIHByb2Nlc3Mg
aW1tZWRpYXRlbHkgaWYgaXQgdHJpZWQgdG8gc2VuZCBhIHN5bmMgbWVzc2FnZSB0byBhIGRlYWQg
VUkgcHJvY2Vzcy4KKyAgICAgICAgSXQgbmV2ZXIgbmVlZHMgdG8gY29udGludWUgYW5kIGhhbmRs
ZSBhbiB1bmV4cGVjdGVkIG51bGwgInJlcGx5Ii4KKworICAgICAgICAqIFBsdWdpblByb2Nlc3Mv
UGx1Z2luUHJvY2Vzcy5jcHA6IChXZWJLaXQ6OlBsdWdpblByb2Nlc3M6OmRpZEZhaWxUb1NlbmRT
eW5jTWVzc2FnZSk6CisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmg6Cisg
ICAgICAgIERpdHRvLiBUaGVyZSBpcyBubyBuZWVkIGZvciBhIHBsdWctaW4gdG8ga2VlcCBydW5u
aW5nIGV2ZW4gYnJpZWZseSBpZiBpdCBjb3VsZG4ndCBnZXQgYQorICAgICAgICByZXBseSB0byBh
IHN5bmMgbWVzc2FnZS4KKwogMjAxMS0wMi0xMSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0Nvbm5lY3Rpb24uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5jcHAJKHJldmlzaW9u
IDc4MzgxKQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjUyLDE0ICsyNTIsMTggQEAgUGFzc093blB0cjxBcmd1bWVu
dERlY29kZXI+IENvbm5lY3Rpb246OgogICAgIC8vIFdlIG9ubHkgYWxsb3cgc2VuZGluZyBzeW5j
IG1lc3NhZ2VzIGZyb20gdGhlIGNsaWVudCBydW4gbG9vcC4KICAgICBBU1NFUlQoUnVuTG9vcDo6
Y3VycmVudCgpID09IG1fY2xpZW50UnVuTG9vcCk7CiAKLSAgICBpZiAoIWlzVmFsaWQoKSkKKyAg
ICBpZiAoIWlzVmFsaWQoKSkgeworICAgICAgICBtX2NsaWVudC0+ZGlkRmFpbFRvU2VuZFN5bmNN
ZXNzYWdlKHRoaXMpOwogICAgICAgICByZXR1cm4gMDsKKyAgICB9CiAgICAgCiAgICAgLy8gUHVz
aCB0aGUgcGVuZGluZyBzeW5jIHJlcGx5IGluZm9ybWF0aW9uIG9uIG91ciBzdGFjay4KICAgICB7
CiAgICAgICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX3N5bmNSZXBseVN0YXRlTXV0ZXgpOwotICAg
ICAgICBpZiAoIW1fc2hvdWxkV2FpdEZvclN5bmNSZXBsaWVzKQorICAgICAgICBpZiAoIW1fc2hv
dWxkV2FpdEZvclN5bmNSZXBsaWVzKSB7CisgICAgICAgICAgICBtX2NsaWVudC0+ZGlkRmFpbFRv
U2VuZFN5bmNNZXNzYWdlKHRoaXMpOwogICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0K
IAogICAgICAgICBtX3BlbmRpbmdTeW5jUmVwbGllcy5hcHBlbmQoUGVuZGluZ1N5bmNSZXBseShz
eW5jUmVxdWVzdElEKSk7CiAgICAgfQpAQCAtMjkyLDcgKzI5NiwxMCBAQCBQYXNzT3duUHRyPEFy
Z3VtZW50RGVjb2Rlcj4gQ29ubmVjdGlvbjo6CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAg
ICB9Ci0gICAgCisKKyAgICBpZiAoIXJlcGx5KQorICAgICAgICBtX2NsaWVudC0+ZGlkRmFpbFRv
U2VuZFN5bmNNZXNzYWdlKHRoaXMpOworCiAgICAgcmV0dXJuIHJlcGx5LnJlbGVhc2UoKTsKIH0K
IApJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmgJ
KHJldmlzaW9uIDc4MzgxKQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db25u
ZWN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTg0LDYgKzg0LDcgQEAgcHVibGljOgogICAgIHB1
YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZENsb3NlKENvbm5lY3Rpb24qKSA9IDA7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoQ29ubmVjdGlvbios
IE1lc3NhZ2VJRCkgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbFRvU2VuZFN5bmNN
ZXNzYWdlKENvbm5lY3Rpb24qKSB7IH07CiAgICAgfTsKIAogI2lmIFBMQVRGT1JNKE1BQykKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcAko
cmV2aXNpb24gNzgzODEpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblBy
b2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNiArMTExLDEzIEBAIHZvaWQgUGx1Z2lu
UHJvY2Vzczo6ZGlkUmVjZWl2ZUludmFsaWRNZXMKIHsKIH0KIAordm9pZCBQbHVnaW5Qcm9jZXNz
OjpkaWRGYWlsVG9TZW5kU3luY01lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiopCit7CisgICAg
Ly8gV2Ugd2VyZSBtYWtpbmcgYSBzeW5jaHJvbm91cyBjYWxsIHRvIHdlYiBwcm9jZXNzIHRoYXQg
ZG9lc24ndCBleGlzdCBhbnkgbW9yZS4KKyAgICAvLyBDYWxsZXJzIGFyZSB1bmxpa2VseSB0byBi
ZSBwcmVwYXJlZCBmb3IgYW4gZXJyb3IgbGlrZSB0aGlzLCBzbyBpdCdzIGJlc3QgdG8gZXhpdCBp
bW1lZGlhdGVseS4KKyAgICBleGl0KDApOworfQorICAgIAogdm9pZCBQbHVnaW5Qcm9jZXNzOjpp
bml0aWFsaXplUGx1Z2luUHJvY2Vzcyhjb25zdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzJiBwYXJhbWV0ZXJzKQogewogICAgIEFTU0VSVCghbV9wbHVnaW5Nb2R1bGUpOwpJbmRleDog
U291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgJKHJldmlzaW9u
IDc4MzgxKQorKysgU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTY1LDYgKzY1LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZv
aWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3Nh
Z2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CiAgICAgdmlydHVhbCB2b2lkIGRpZENs
b3NlKENvcmVJUEM6OkNvbm5lY3Rpb24qKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUlu
dmFsaWRNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQpOwor
ICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsVG9TZW5kU3luY01lc3NhZ2UoQ29yZUlQQzo6Q29ubmVj
dGlvbiopOwogCiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycy4KICAgICB2b2lkIGRpZFJlY2VpdmVQ
bHVnaW5Qcm9jZXNzTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2Fn
ZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAkocmV2aXNpb24gNzgzODEpCisrKyBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NjcsNiArNTY3
LDEzIEBAIHZvaWQgV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWcKICAgICAvLyB3
ZSdsbCBsZXQgaXQgc2xpZGUuCiB9CiAKK3ZvaWQgV2ViUHJvY2Vzczo6ZGlkRmFpbFRvU2VuZFN5
bmNNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qKQoreworICAgIC8vIFdlIHdlcmUgbWFraW5n
IGEgc3luY2hyb25vdXMgY2FsbCB0byBVSSBwcm9jZXNzIHRoYXQgZG9lc24ndCBleGlzdCBhbnkg
bW9yZS4KKyAgICAvLyBDYWxsZXJzIGFyZSB1bmxpa2VseSB0byBiZSBwcmVwYXJlZCBmb3IgYW4g
ZXJyb3IgbGlrZSB0aGlzLCBzbyBpdCdzIGJlc3QgdG8gZXhpdCBpbW1lZGlhdGVseS4KKyAgICBl
eGl0KDApOworfQorCiBXZWJGcmFtZSogV2ViUHJvY2Vzczo6d2ViRnJhbWUodWludDY0X3QgZnJh
bWVJRCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9mcmFtZU1hcC5nZXQoZnJhbWVJRCk7CkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAkocmV2aXNpb24gNzgzODEpCisr
KyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAkod29ya2luZyBjb3B5KQpA
QCAtMTU2LDYgKzE1Niw3IEBAIHByaXZhdGU6CiAgICAgQ29yZUlQQzo6U3luY1JlcGx5TW9kZSBk
aWRSZWNlaXZlU3luY01lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3Nh
Z2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiwgQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVy
Kik7CiAgICAgdm9pZCBkaWRDbG9zZShDb3JlSVBDOjpDb25uZWN0aW9uKik7CiAgICAgdm9pZCBk
aWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1l
c3NhZ2VJRCk7CisgICAgdm9pZCBkaWRGYWlsVG9TZW5kU3luY01lc3NhZ2UoQ29yZUlQQzo6Q29u
bmVjdGlvbiopOwogCiAgICAgLy8gSW1wbGVtZW50ZWQgaW4gZ2VuZXJhdGVkIFdlYlByb2Nlc3NN
ZXNzYWdlUmVjZWl2ZXIuY3BwCiAgICAgdm9pZCBkaWRSZWNlaXZlV2ViUHJvY2Vzc01lc3NhZ2Uo
Q29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1l
bnREZWNvZGVyKik7Cg==
</data>
<flag name="review"
          id="73850"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>