<?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>77283</bug_id>
          
          <creation_ts>2012-01-28 13:24:21 -0800</creation_ts>
          <short_desc>Layout Test webaudio/panner-set-model.html crashes on debug Chromium bots</short_desc>
          <delta_ts>2012-02-10 10:57:35 -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>Tools / Tests</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>77235</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Levi Weintraub">leviw</reporter>
          <assigned_to name="Raymond Toy">rtoy</assigned_to>
          <cc>crogers</cc>
    
    <cc>dglazkov</cc>
    
    <cc>rtoy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>544680</commentid>
    <comment_count>0</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-01-28 13:24:21 -0800</bug_when>
    <thetext>webaudio/panner-set-model.html crashes on debug builds on all three Chromium platforms.

Win Stack:
SHOULD NEVER BE REACHED
Backtrace:
	std::_Init_locks::operator= [0x03345834+1439892]
	std::_Init_locks::operator= [0x032F413F+1106335]
	WebKit::WebData::data [0x031847D7+24863416]
	v8::Locker::StopPreemption [0x013AA254+726532]
	v8::Locker::StopPreemption [0x013AE6BE+744046]
	v8::Locker::StopPreemption [0x013AC784+736052]
	v8::Locker::StopPreemption [0x013A9F3E+725742]
	v8::Locker::StopPreemption [0x015E125B+3048971]
	v8::Locker::StopPreemption [0x015E4964+3063060]
	(No symbol) [0x0C308736]
	(No symbol) [0x0C3EC717]
	(No symbol) [0x0C3EBEF0]
	(No symbol) [0x0C31F2B9]
	(No symbol) [0x0C30B0CA]
	v8::Locker::StopPreemption [0x013517B9+363369]
	v8::Locker::StopPreemption [0x01351544+362740]
	v8::Script::Run [0x012CF57B+587]
	WebKit::WebData::data [0x0217C594+8052853]
	WebKit::WebData::data [0x0217C050+8051505]
	WebKit::WebData::data [0x021A66E5+8225222]
	WebKit::WebData::data [0x02B8E6AD+18612622]
	WebKit::WebData::data [0x02B8E0F2+18611155]
	WebKit::WebData::data [0x02A795F3+17477844]
	WebKit::WebData::data [0x02A78C42+17475363]
	WebKit::WebData::data [0x02A05F5E+17005119]
	WebKit::WebData::data [0x02A06072+17005395]
	WebKit::WebData::data [0x02A0632E+17006095]
	WebKit::WebData::data [0x02A05C6F+17004368]
	WebKit::WebData::data [0x02A06D42+17008675]
	WebKit::WebData::data [0x02B9A283+18660708]
	WebKit::WebData::data [0x0227F331+9113106]
	WebKit::WebData::data [0x0226A80A+9028331]
	WebKit::WebData::data [0x01B21052+1387315]
	WebKit::WebData::data [0x01A6FED4+661941]
	WebKit::WebData::data [0x0226A68D+9027950]
	WebKit::WebData::data [0x0226A926+9028615]
	WebKit::WebData::data [0x025C898A+12559467]
	WebKit::WebData::data [0x025C0FDF+12528320]
	WebKit::WebData::data [0x025C9E43+12564772]
	WebKit::WebData::data [0x025C1A8E+12531055]
	WebKit::WebData::data [0x01B37BB3+1480340]
	webkit::ppapi::PluginInstance::ScrollRect [0x07F06F7F+882021]
	(No symbol) [0x004F8DA4]
	(No symbol) [0x00500BF0]
	(No symbol) [0x00500887]
	(No symbol) [0x0050030F]
	file_util::GetTempDir [0x00C72A2F+350259]
	file_util::GetTempDir [0x00C79FA5+380329]
	file_util::GetTempDir [0x00C7A233+380983]
	file_util::GetTempDir [0x00C7B0D6+384730]
	file_util::GetTempDir [0x00C99ED4+511192]
	file_util::GetTempDir [0x00C99502+508678]
	file_util::GetTempDir [0x00C750CC+360144]
	file_util::GetTempDir [0x00C79B8A+379278]
	file_util::GetTempDir [0x00C798DE+378594]
	file_util::GetTempDir [0x00C78BC0+375236]
	(No symbol) [0x004D9BFD]
	(No symbol) [0x00441079]
	(No symbol) [0x00483C67]
	(No symbol) [0x00452945]
	(No symbol) [0x00451927]
	(No symbol) [0x004F33F8]
LEAK: 2394 WebCoreNode
LEAK: 276 CachedResource
LEAK: 18 Page
LEAK: 2 XMLHttpRequest
LEAK: 18 Frame
LEAK: 122 RenderObject

Linux Stack:
SHOULD NEVER BE REACHED
third_party/WebKit/Source/WebCore/platform/audio/Panner.cpp(57) : static WTF::PassOwnPtr&lt;WebCore::Panner&gt; WebCore::Panner::create(unsigned int, float)
1   0x244c880
2   0x16003a2
3   0x1812695
4   0x9db21c
5   0x9deb92
6   0x9dd15d
7   0x9daf28
8   0xc03ac4
9   0xc06346
10  0x253af360420e
[29640:29640:13295607829157:ERROR:process_util_posix.cc(142)] Received signal 11
	base::debug::StackTrace::StackTrace() [0x728226]
	base::(anonymous namespace)::StackDumpSignalHandler() [0x6e2981]
	0x7f2852fa3af0
	WebCore::Panner::create() [0x244c88a]
	WebCore::AudioPannerNode::setPanningModel() [0x16003a2]
	WebCore::AudioPannerNodeInternal::panningModelAttrSetter() [0x1812695]
	v8::internal::JSObject::SetPropertyWithCallback() [0x9db21c]
	v8::internal::JSObject::SetPropertyForResult() [0x9deb92]
	v8::internal::JSReceiver::SetProperty() [0x9dd15d]
	v8::internal::JSReceiver::SetProperty() [0x9daf28]
	v8::internal::StoreIC::Store() [0xc03ac4]
	v8::internal::StoreIC_Miss() [0xc06346]
	0x253af360420e

Mac 10.6 Stack:
SHOULD NEVER BE REACHED
/b/build/slave/webkit-mac-latest-dbg/build/src/third_party/WebKit/Source/WebCore/WebCore.gyp/../platform/audio/Panner.cpp(57) : static PassOwnPtr&lt;WebCore::Panner&gt; WebCore::Panner::create(PanningModel, float)
1   0x4005b94b WebCore::Panner::create(unsigned int, float)
2   0x40d1b241 WebCore::AudioPannerNode::setPanningModel(unsigned short)
3   0x410ecc2c WebCore::AudioPannerNodeInternal::panningModelAttrSetter(v8::Local&lt;v8::String&gt;, v8::Local&lt;v8::Value&gt;, v8::AccessorInfo const&amp;)
4   0x3f0a7e6f v8::internal::JSObject::SetPropertyWithCallback(v8::internal::Object*, v8::internal::String*, v8::internal::Object*, v8::internal::JSObject*, v8::internal::StrictModeFlag)
5   0x3f0ab7a7 v8::internal::JSObject::SetPropertyForResult(v8::internal::LookupResult*, v8::internal::String*, v8::internal::Object*, PropertyAttributes, v8::internal::StrictModeFlag)
6   0x3f0a634b v8::internal::JSReceiver::SetProperty(v8::internal::LookupResult*, v8::internal::String*, v8::internal::Object*, PropertyAttributes, v8::internal::StrictModeFlag)
7   0x3f0a77c1 v8::internal::JSReceiver::SetProperty(v8::internal::String*, v8::internal::Object*, PropertyAttributes, v8::internal::StrictModeFlag)
8   0x3f00b832 v8::internal::StoreIC::Store(v8::internal::InlineCacheState, v8::internal::StrictModeFlag, v8::internal::Handle&lt;v8::internal::Object&gt;, v8::internal::Handle&lt;v8::internal::String&gt;, v8::internal::Handle&lt;v8::internal::Object&gt;)
9   0x3f00edf9 v8::internal::StoreIC_Miss(v8::internal::Arguments, v8::internal::Isolate*)
10  0x55208736
[2856:-1601178304:1395648566205:ERROR:process_util_posix.cc(142)] Received signal 11
	0   DumpRenderTree                      0x3e0bbc6f base::debug::StackTrace::StackTrace() + 63
	1   DumpRenderTree                      0x3e0bbc0b base::debug::StackTrace::StackTrace() + 43
	2   DumpRenderTree                      0x3e753e17 base::(anonymous namespace)::StackDumpSignalHandler(int, __siginfo*, __darwin_ucontext*) + 295
	3   libSystem.B.dylib                   0x9651a05b _sigtramp + 43
	4   ???                                 0xffffffff 0x0 + 4294967295
	5   DumpRenderTree                      0x40d1b241 WebCore::AudioPannerNode::setPanningModel(unsigned short) + 161
	6   DumpRenderTree                      0x410ecc2c WebCore::AudioPannerNodeInternal::panningModelAttrSetter(v8::Local&lt;v8::String&gt;, v8::Local&lt;v8::Value&gt;, v8::AccessorInfo const&amp;) + 124
	7   DumpRenderTree                      0x3f0a7e6f v8::internal::JSObject::SetPropertyWithCallback(v8::internal::Object*, v8::internal::String*, v8::internal::Object*, v8::internal::JSObject*, v8::internal::StrictModeFlag) + 943
	8   DumpRenderTree                      0x3f0ab7a7 v8::internal::JSObject::SetPropertyForResult(v8::internal::LookupResult*, v8::internal::String*, v8::internal::Object*, PropertyAttributes, v8::internal::StrictModeFlag) + 1751
	9   DumpRenderTree                      0x3f0a634b v8::internal::JSReceiver::SetProperty(v8::internal::LookupResult*, v8::internal::String*, v8::internal::Object*, PropertyAttributes, v8::internal::StrictModeFlag) + 235
	10  DumpRenderTree                      0x3f0a77c1 v8::internal::JSReceiver::SetProperty(v8::internal::String*, v8::internal::Object*, PropertyAttributes, v8::internal::StrictModeFlag) + 161
	11  DumpRenderTree                      0x3f00b832 v8::internal::StoreIC::Store(v8::internal::InlineCacheState, v8::internal::StrictModeFlag, v8::internal::Handle&lt;v8::internal::Object&gt;, v8::internal::Handle&lt;v8::internal::String&gt;, v8::internal::Handle&lt;v8::internal::Object&gt;) + 2658
	12  DumpRenderTree                      0x3f00edf9 v8::internal::StoreIC_Miss(v8::internal::Arguments, v8::internal::Isolate*) + 441
	13  ???                                 0x55208736 0x0 + 1428195126
ax: bbadbeef, bx: 52082961, cx: 54c6582, dx: 54c6582
di: 0, si: 41e00b5a, bp: bfffb6d8, sp: bfffb660, ss: 23, flags: 10282
ip: 4005b955, cs: 1b, ds: 23, es: 23, fs: 0, gs: f</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545256</commentid>
    <comment_count>1</comment_count>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2012-01-30 11:56:52 -0800</bug_when>
    <thetext>This is caused at line 57 in platform/audio/Panner.cpp.  The sound field panning model is not implemented, which the new test actually tests.

Chris, what is the correct approach here?  Don&apos;t try to test if we can set the model to sound field, or modify Panner.cpp so that we silently return nullptr (without the ASSERT_NOT_REACHED) for the sound field model?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545287</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-01-30 12:12:48 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; This is caused at line 57 in platform/audio/Panner.cpp.  The sound field panning model is not implemented, which the new test actually tests.
&gt; 
&gt; Chris, what is the correct approach here?  Don&apos;t try to test if we can set the model to sound field, or modify Panner.cpp so that we silently return nullptr (without the ASSERT_NOT_REACHED) for the sound field model?

The correct approach is to not call ASSERT_NOT_REACHED, which should only be used to assert bugs and logic errors in the C++ code.  Ideally, we would be throwing an exception here, but another option is to log a console message similar to what we do in AudioBufferSourceNode when the deprecated &quot;looping&quot; attribute is used.

Even better yet, we&apos;ll implement the SOUNDFIELD algorithm!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545343</commentid>
    <comment_count>3</comment_count>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2012-01-30 13:10:00 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (In reply to comment #1)
&gt; &gt; This is caused at line 57 in platform/audio/Panner.cpp.  The sound field panning model is not implemented, which the new test actually tests.
&gt; &gt; 
&gt; &gt; Chris, what is the correct approach here?  Don&apos;t try to test if we can set the model to sound field, or modify Panner.cpp so that we silently return nullptr (without the ASSERT_NOT_REACHED) for the sound field model?
&gt; 
&gt; The correct approach is to not call ASSERT_NOT_REACHED, which should only be used to assert bugs and logic errors in the C++ code.  Ideally, we would be throwing an exception here, but another option is to log a console message similar to what we do in AudioBufferSourceNode when the deprecated &quot;looping&quot; attribute is used.

Ok.  I&apos;ll add a log message for this.  The exception part can be handled when https://bugs.webkit.org/show_bug.cgi?id=77235 is addressed.  (Will add a comment there to remind us about the sound field model.)

&gt; 
&gt; Even better yet, we&apos;ll implement the SOUNDFIELD algorithm!

Sounds like another bug report to be created. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545526</commentid>
    <comment_count>4</comment_count>
      <attachid>124620</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2012-01-30 15:59:06 -0800</bug_when>
    <thetext>Created attachment 124620
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545668</commentid>
    <comment_count>5</comment_count>
      <attachid>124620</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-01-30 17:57:39 -0800</bug_when>
    <thetext>Comment on attachment 124620
Patch

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

&gt; Source/WebCore/platform/audio/Panner.cpp:57
&gt; +        return nullptr;

We can&apos;t just return nullptr here -- the check for PanningModelSoundField needs to happen in AudioPannerNode::setPanningModel() in the corresponding &quot;case&quot; in the switch statement for SOUNDFIELD -- where we need to silently fail (and include the appropriate comment with bug#

In other words, we can&apos;t just allow m_panner to be set to nullptr and get crashes later on!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546144</commentid>
    <comment_count>6</comment_count>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2012-01-31 09:12:32 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 124620 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=124620&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/audio/Panner.cpp:57
&gt; &gt; +        return nullptr;
&gt; 
&gt; We can&apos;t just return nullptr here -- the check for PanningModelSoundField needs to happen in AudioPannerNode::setPanningModel() in the corresponding &quot;case&quot; in the switch statement for SOUNDFIELD -- where we need to silently fail (and include the appropriate comment with bug#

Ok.
&gt; 
&gt; In other words, we can&apos;t just allow m_panner to be set to nullptr and get crashes later on!

Actually, it doesn&apos;t crash.  I tested this with the panner/reverb demo and manually set the panning model to 2 via the javascript console.  Demo continues, just without audio.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546210</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-01-31 10:28:10 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; (From update of attachment 124620 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=124620&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/audio/Panner.cpp:57
&gt; &gt; &gt; +        return nullptr;
&gt; &gt; 
&gt; &gt; We can&apos;t just return nullptr here -- the check for PanningModelSoundField needs to happen in AudioPannerNode::setPanningModel() in the corresponding &quot;case&quot; in the switch statement for SOUNDFIELD -- where we need to silently fail (and include the appropriate comment with bug#
&gt; 
&gt; Ok.
&gt; &gt; 
&gt; &gt; In other words, we can&apos;t just allow m_panner to be set to nullptr and get crashes later on!
&gt; 
&gt; Actually, it doesn&apos;t crash.  I tested this with the panner/reverb demo and manually set the panning model to 2 via the javascript console.  Demo continues, just without audio.

But it should fail without side-effects.  It should just completely *ignore* SOUNDFIELD and not disturb the panning from the previous algorithm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546416</commentid>
    <comment_count>8</comment_count>
      <attachid>124805</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2012-01-31 13:14:31 -0800</bug_when>
    <thetext>Created attachment 124805
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546421</commentid>
    <comment_count>9</comment_count>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2012-01-31 13:16:35 -0800</bug_when>
    <thetext>Updated according to review.  AudioPannerNode now does nothing if SOUNDFIELD is selected, except that a warning message is sent to the Javascript console.   Debug builds don&apos;t crash anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546496</commentid>
    <comment_count>10</comment_count>
      <attachid>124805</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-31 14:26:15 -0800</bug_when>
    <thetext>Comment on attachment 124805
Patch

Attachment 124805 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11389123

New failing tests:
webaudio/panner-set-model.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547167</commentid>
    <comment_count>11</comment_count>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2012-02-01 10:19:45 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 124805 [details])
&gt; Attachment 124805 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/11389123
&gt; 
&gt; New failing tests:
&gt; webaudio/panner-set-model.html

I don&apos;t understand this failure.  The output doesn&apos;t show anything about panner-set-model.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547192</commentid>
    <comment_count>12</comment_count>
      <attachid>124968</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2012-02-01 10:35:58 -0800</bug_when>
    <thetext>Created attachment 124968
Update expected results to match actual which now includes a console message</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547327</commentid>
    <comment_count>13</comment_count>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2012-02-01 13:29:38 -0800</bug_when>
    <thetext>As discussed with Chris, we would rather fix this issue in bug 77235 and throw an exception instead of silently doing nothing.  When the patch for 77235 has landed, we should be able to close out this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548066</commentid>
    <comment_count>14</comment_count>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2012-02-02 12:43:51 -0800</bug_when>
    <thetext>Bug 77235 has landed.  Closing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554207</commentid>
    <comment_count>15</comment_count>
      <attachid>124968</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-10 10:53:22 -0800</bug_when>
    <thetext>Comment on attachment 124968
Update expected results to match actual which now includes a console message

Cleared review? from attachment 124968 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554216</commentid>
    <comment_count>16</comment_count>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2012-02-10 10:57:35 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 124968 [details])
&gt; Cleared review? from attachment 124968 [details] so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).

Sorry.  I closed the bug when bug 77235 landed but forget to remove the review flags.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124620</attachid>
            <date>2012-01-30 15:59:06 -0800</date>
            <delta_ts>2012-01-31 13:14:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77283-20120130155905.patch</filename>
            <type>text/plain</type>
            <size>3158</size>
            <attacher name="Raymond Toy">rtoy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzJlMzc5NGYwYjNiYzBh
ZjUwZWQ0ZDEwMzVlYjJlZWQ3ZmZiNGQ3Ny4uNmY4YTYyNjEzM2UxYzIyZjdlZTdkNjU1NDlhMTRj
ZDMwOTgzZjY1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAxLTMwICBSYXlt
b25kIFRveSAgPHJ0b3lAZ29vZ2xlLmNvbT4KKworICAgICAgICBMYXlvdXQgVGVzdCB3ZWJhdWRp
by9wYW5uZXItc2V0LW1vZGVsLmh0bWwgY3Jhc2hlcyBvbiBkZWJ1ZyBDaHJvbWl1bSBib3RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI4MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cy4gVGhpcyBpcyB0ZXN0ZWQgYnkgdGhlIGV4aXN0aW5nIHBhbm5lci1zZXQtbW9kZWwKKyAgICAg
ICAgdGVzdCwgd2hpY2ggc2hvdWxkIG5vIGxvbmdlciBjcmFzaCBvbiBkZWJ1ZyBidWlsZHMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QYW5uZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGFubmVyOjpjcmVhdGUpOiAgSnVzdCByZXR1cm4gZm9yIHRoZSBzb3VuZCBmaWVsZCBtb2RlbAor
ICAgICAgICBpbnN0ZWFkIG9mIGNyYXNoaW5nIChvbiBkZWJ1ZyBidWlsZHMpLgorCiAyMDEyLTAx
LTI5ICBEYWxlIEN1cnRpcyAgPGRhbGVjdXJ0aXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFBy
ZXBhcmUgV2ViQ29yZS5neXAgZm9yIGZmbXBlZyBzb3VyY2UgdHJhbnNpdGlvbi4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1Bhbm5lci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QYW5uZXIuY3BwCmluZGV4IGRlYmM5ZTMyMTZkNzBhOTQ2N2Iz
MzFmNDQ2MWVmYmMxNGQ1MWRkZmQuLmFjZTViNTQ4MWE2MTU5Y2QxOWYwOWFjOTg0OGFhNmI0ZWRi
N2I0OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1Bhbm5lci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGFubmVyLmNwcApAQCAtNTEs
OCArNTEsMTEgQEAgUGFzc093blB0cjxQYW5uZXI+IFBhbm5lcjo6Y3JlYXRlKFBhbm5pbmdNb2Rl
bCBtb2RlbCwgZmxvYXQgc2FtcGxlUmF0ZSkKICAgICAgICAgcGFubmVyID0gYWRvcHRQdHIobmV3
IEhSVEZQYW5uZXIoc2FtcGxlUmF0ZSkpOwogICAgICAgICBicmVhazsKIAotICAgIC8vIEZJWE1F
OiBzb3VuZCBmaWVsZCBwYW5uaW5nIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQuLi4KICAgICBjYXNl
IFBhbm5pbmdNb2RlbFNvdW5kRmllbGQ6CisgICAgICAgIC8vIEZJWE1FOiBzb3VuZCBmaWVsZCBw
YW5uaW5nIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzczNjcKKyAgICAgICAgLy8gYW5kIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIzNQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICAgICAgCiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
ICAgIHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE1YjhhODBlNGMwMmQ0MWZkNjdkYzI3NDNhNWE2
YzRjYTg2YzZmMjAuLjgwMTIyNTNiZDdmMDQxZWM0YTU0MDgxNWE5NmM0ZmJhNzE0ZGRiMzQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMS0zMCAgUmF5bW9uZCBUb3kgIDxydG95QGdvb2ds
ZS5jb20+CisKKyAgICAgICAgTGF5b3V0IFRlc3Qgd2ViYXVkaW8vcGFubmVyLXNldC1tb2RlbC5o
dG1sIGNyYXNoZXMgb24gZGVidWcgQ2hyb21pdW0gYm90cworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyODMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0
YXRpb25zLnR4dDogIFJlbW92ZSBlbnRyeSBmb3IKKyAgICAgICAgNzcyODMsIHdoaWNoIGlzIGZp
eGVkIG5vdy4KKwogMjAxMi0wMS0yOSAgWXV6byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+
CiAKICAgICAgICAgW0Nocm9taXVtXSBVbnJldmlld2VkIHRlc3QgZXhwZWN0YXRpb24gY2hhbmdl
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3Rh
dGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlv
bnMudHh0CmluZGV4IDUwNzIzMGE5OTcwNjVhODU4ZTA3YTMzYTdjNWQyOGM3YTE3ODRhNjMuLjQx
YTcwNDI4Y2IzM2Y2MzQzNTEyMGQ3NmU2YjQ5NjA4ZjEzZjQyMWIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTM4MjYs
OCArMzgyNiw2IEBAIEJVR1dLNzYyNzIgTEVPUEFSRCBERUJVRyA6IHN2Zy9kb20vU1ZHUGF0aFNl
Z0xpc3Qtc2VnbWVudC1tb2RpZmljYXRpb24uc3ZnID0gSU1BCiAvLyBTdGFydGVkIGZhaWxpbmcg
YXQgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTA1MDA3CiBCVUdDUjExMDM2NSBX
SU4gOiB3ZWJhdWRpby9nYWluLmh0bWwgPSBQQVNTIEFVRElPCiAKLUJVR1dLNzcyODMgREVCVUcg
OiB3ZWJhdWRpby9wYW5uZXItc2V0LW1vZGVsLmh0bWwgPSBDUkFTSAotCiBCVUdXSzc2NDg4IDog
Y3NzMy9pbWFnZXMvY3Jvc3MtZmFkZS1iYWNrZ3JvdW5kLXNpemUuaHRtbCA9IElNQUdFIElNQUdF
K1RFWFQKIAogQlVHS1c3NjU1NyA6IHN2Zy9jdXN0b20vdHJhbnNmb3JtLXdpdGgtc2hhZG93LWFu
ZC1ncmFkaWVudC5zdmcgPSBJTUFHRQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124805</attachid>
            <date>2012-01-31 13:14:31 -0800</date>
            <delta_ts>2012-02-01 10:35:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77283-20120131131430.patch</filename>
            <type>text/plain</type>
            <size>6839</size>
            <attacher name="Raymond Toy">rtoy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTU5ODEzZTYzNjhlYmJk
YjVmMmIyZWY5NjNjYzVjYzI1NmNlNmYxZi4uMDMwYWI4NjA2ZTQ2YTYyNzQ1NDIwYWVjMWNhNWQy
MGJlY2U2MzFkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAxLTMwICBSYXlt
b25kIFRveSAgPHJ0b3lAZ29vZ2xlLmNvbT4KKworICAgICAgICBMYXlvdXQgVGVzdCB3ZWJhdWRp
by9wYW5uZXItc2V0LW1vZGVsLmh0bWwgY3Jhc2hlcyBvbiBkZWJ1ZyBDaHJvbWl1bSBib3RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI4MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cy4gVGhpcyBpcyB0ZXN0ZWQgYnkgdGhlIGV4aXN0aW5nIHBhbm5lci1zZXQtbW9kZWwKKyAgICAg
ICAgdGVzdCwgd2hpY2ggc2hvdWxkIG5vIGxvbmdlciBjcmFzaCBvbiBkZWJ1ZyBidWlsZHMuCisK
KyAgICAgICAgKiB3ZWJhdWRpby9BdWRpb1Bhbm5lck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QXVkaW9QYW5uZXJOb2RlOjpzZXRQYW5uaW5nTW9kZWwpOiBEbyBub3RoaW5nIGV4Y2VwdAor
ICAgICAgICBwcmludCBhIHdhcm5pbmcgbWVzc2FnZSAodG8gdGhlIGphdmFzY3JpcHJ0IGNvbnNv
bGUpIGlmIHdlIHRyeSB0bworICAgICAgICBzZXQgdGhlIG1vZGVsIHRvIFNPVU5ERklFTEQuCisK
IDIwMTItMDEtMzEgIFBhYmxvIEZsb3VyZXQgIDxwYWJsb2ZAbW90b3JvbGEuY29tPgogCiAgICAg
ICAgIEZpeCBjb21waWxhdGlvbiBlcnJvcnMgb24gYnVpbGQtd2Via2l0IC0tZGVidWcgLS1uby13
b3JrZXJzIG9uIG1hYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlv
UGFubmVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb1Bhbm5lck5vZGUu
Y3BwCmluZGV4IGQ4OGFiYTRlYWQ5ZmYyMTkwMGNmMTZkOWMxNDhlZDY3MjZkNjE4YjMuLmFmNjNk
MjIyMDU4OTcyYTdlYWE1NmMwMDJhZDllOGM3OGY1ODE5NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvUGFubmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
d2ViYXVkaW8vQXVkaW9QYW5uZXJOb2RlLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUg
IkF1ZGlvQ29udGV4dC5oIgogI2luY2x1ZGUgIkF1ZGlvTm9kZUlucHV0LmgiCiAjaW5jbHVkZSAi
QXVkaW9Ob2RlT3V0cHV0LmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJIUlRG
UGFubmVyLmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMTU1LDEzICsxNTYs
MjUgQEAgdm9pZCBBdWRpb1Bhbm5lck5vZGU6OnNldFBhbm5pbmdNb2RlbCh1bnNpZ25lZCBzaG9y
dCBtb2RlbCkKICAgICBzd2l0Y2ggKG1vZGVsKSB7CiAgICAgY2FzZSBFUVVBTFBPV0VSOgogICAg
IGNhc2UgSFJURjoKLSAgICBjYXNlIFNPVU5ERklFTEQ6CiAgICAgICAgIGlmICghbV9wYW5uZXIu
Z2V0KCkgfHwgbW9kZWwgIT0gbV9wYW5uaW5nTW9kZWwpIHsKICAgICAgICAgICAgIE93blB0cjxQ
YW5uZXI+IG5ld1Bhbm5lciA9IFBhbm5lcjo6Y3JlYXRlKG1vZGVsLCBzYW1wbGVSYXRlKCkpOwog
ICAgICAgICAgICAgbV9wYW5uZXIgPSBuZXdQYW5uZXIucmVsZWFzZSgpOwogICAgICAgICAgICAg
bV9wYW5uaW5nTW9kZWwgPSBtb2RlbDsKICAgICAgICAgfQogICAgICAgICBicmVhazsKKyAgICBj
YXNlIFNPVU5ERklFTEQ6CisgICAgICAgIC8vIEZJWE1FOiBzb3VuZCBmaWVsZCBwYW5uaW5nIGlz
IG5vdCB5ZXQgaW1wbGVtZW50ZWQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzczNjcKKyAgICAgICAgLy8gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03NzIzNS4KKyAgICAgICAgLy8gV2UgZG8gbm90aGluZywgcHJlc2Vydmlu
ZyB0aGUgY3VycmVudCBwYW5uZXIuCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIE9ubHkgcHJp
bnQgdGhlIHdhcm5pbmcgb25jZS4KKyAgICAgICAgICAgIHN0YXRpYyBib29sIGZpcnN0VGltZSA9
IHRydWU7CisgICAgICAgICAgICBpZiAoZmlyc3RUaW1lICYmIGNvbnRleHQoKSAmJiBjb250ZXh0
KCktPmRvY3VtZW50KCkpIHsKKyAgICAgICAgICAgICAgICBjb250ZXh0KCktPmRvY3VtZW50KCkt
PmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIFdhcm5p
bmdNZXNzYWdlTGV2ZWwsICJBdWRpb1Bhbm5lck5vZGUgU09VTkRGSUVMRCBtb2RlbCBub3QgaW1w
bGVtZW50ZWQuIik7CisgICAgICAgICAgICAgICAgZmlyc3RUaW1lID0gZmFsc2U7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAg
Ly8gRklYTUU6IGNvbnNpZGVyIHRocm93aW5nIGFuIGV4Y2VwdGlvbiBmb3IgaWxsZWdhbCBtb2Rl
bCB2YWx1ZXMuCiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDk4NWU1ZTI4OTM0MjAxMDA2ODQ4MDAx
NTAyNDVhMDdiNmVlMDQ0YjcuLmI4MDg0NjAwZWUyMTY0NTZlMmYxN2U4YjM1M2JjYzM0ODQyNTk3
NDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wMS0zMCAgUmF5bW9uZCBUb3kgIDxydG95
QGdvb2dsZS5jb20+CisKKyAgICAgICAgTGF5b3V0IFRlc3Qgd2ViYXVkaW8vcGFubmVyLXNldC1t
b2RlbC5odG1sIGNyYXNoZXMgb24gZGVidWcgQ2hyb21pdW0gYm90cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyODMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rlc3Rf
ZXhwZWN0YXRpb25zLnR4dDogIFJlbW92ZSBlbnRyeSBmb3IKKyAgICAgICAgNzcyODMsIHdoaWNo
IGlzIGZpeGVkIG5vdy4KKyAgICAgICAgKiB3ZWJhdWRpby9wYW5uZXItc2V0LW1vZGVsLmh0bWw6
IFVwZGF0ZSB0ZXN0IGZvciBTT1VOREZJRUxECisgICAgICAgIGJlaGF2aW9yLgorICAgICAgICAq
IHdlYmF1ZGlvL3Bhbm5lci1zZXQtbW9kZWwtZXhwZWN0ZWQudHh0OiAgVXBkYXRlIHJlc3VsdHMu
CisKIDIwMTItMDEtMzEgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgogCiAgICAg
ICAgIFtDaHJvbWl1bV0gVW5yZXZpZXdlZCB0ZXN0IGV4cGVjdGF0aW9uIGNoYW5nZS4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dApp
bmRleCA4NmM3MjJlNGM5Y2E1OGQ1NGM2MjRhYWYxM2ZmNWNlOTQxYWY4ZTcwLi40ODg4MjA5MDgz
NDhkODk2NjJmNjNlYzU2NzIyM2QzZjhmYWFiMTM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC0zODIxLDggKzM4MjEs
NiBAQCBCVUdXSzc2MjcyIExFT1BBUkQgREVCVUcgOiBzdmcvZG9tL1NWR1BhdGhTZWdMaXN0LXNl
Z21lbnQtbW9kaWZpY2F0aW9uLnN2ZyA9IElNQQogLy8gU3RhcnRlZCBmYWlsaW5nIGF0IGh0dHA6
Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEwNTAwNwogQlVHQ1IxMTAzNjUgV0lOIDogd2Vi
YXVkaW8vZ2Fpbi5odG1sID0gUEFTUyBBVURJTwogCi1CVUdXSzc3MjgzIERFQlVHIDogd2ViYXVk
aW8vcGFubmVyLXNldC1tb2RlbC5odG1sID0gQ1JBU0gKLQogQlVHV0s3NjQ4OCA6IGNzczMvaW1h
Z2VzL2Nyb3NzLWZhZGUtYmFja2dyb3VuZC1zaXplLmh0bWwgPSBJTUFHRSBJTUFHRStURVhUCiAK
IEJVR0tXNzY1NTcgOiBzdmcvY3VzdG9tL3RyYW5zZm9ybS13aXRoLXNoYWRvdy1hbmQtZ3JhZGll
bnQuc3ZnID0gSU1BR0UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Bhbm5lci1z
ZXQtbW9kZWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcGFubmVyLXNldC1t
b2RlbC1leHBlY3RlZC50eHQKaW5kZXggMWI3Mzk2NGU0ZWI5Y2M5MjMyZTk1YzIyYTA3ZTdiOTdk
ZTJhYTg4ZC4uMTYxZWYxNmJjYTdkNDRlMzFmYjAyYWFkYjk5NzI0Yzc1M2I4ZjkwMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcGFubmVyLXNldC1tb2RlbC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcGFubmVyLXNldC1tb2RlbC1leHBlY3RlZC50eHQK
QEAgLTQsNyArNCw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIFBBU1MgUGFubmVyIHNl
dCB0byBFUVVBTFBPV0VSIG1vZGVsIGFuZCByZWFkIGNvcnJlY3RseS4KIFBBU1MgUGFubmVyIHNl
dCB0byBIUlRGIG1vZGVsIGFuZCByZWFkIGNvcnJlY3RseS4KLVBBU1MgUGFubmVyIHNldCB0byBT
T1VOREZJRUxEIG1vZGVsIGFuZCByZWFkIGNvcnJlY3RseS4KK1BBU1MgUGFubmVyIHNldCB0byBT
T1VOREZJRUxEIG1vZGVsIGFuZCBwYW5uaW5nTW9kZWwgZGlkIG5vdCBjaGFuZ2UuCiBQQVNTIFBh
bm5lciBzZXQgdG8gaW52YWxpZCBtb2RlbCBhbmQgcGFubmluZ01vZGVsIGRpZCBub3QgY2hhbmdl
LgogUEFTUyBQYW5uaW5nIG1vZGVsIHRlc3RzIHBhc3NlZC4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Bhbm5lci1zZXQt
bW9kZWwuaHRtbCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Bhbm5lci1zZXQtbW9kZWwuaHRtbApp
bmRleCAzNWIxNzFmOTA5ZGI3Y2FkMThjZDQyYzZiOGEyZGJiZTEzNmM5OGM1Li44N2ZiM2IxNmMx
ZDcwOWE0YTAwOTMzNzg4NTE2NDA3YTg0MWJjMjRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93
ZWJhdWRpby9wYW5uZXItc2V0LW1vZGVsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8v
cGFubmVyLXNldC1tb2RlbC5odG1sCkBAIC00NCwxOSArNDQsMjUgQEAKICAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgiUGFubmVyIG1vZGVsIHNldCB0byBIUlRGICgxKSBidXQgcmV0dXJuZWQgIiAr
IHBhbm5lci5wYW5uaW5nTW9kZWwpOwogICAgICAgICAgICAgICBzdWNjZXNzID0gZmFsc2U7CiAg
ICAgICAgICAgfQotICAgICAgCisKKyAgICAgICAgICAvLyBTT1VOREZJRUxEIGlzIG5vdCBjdXJy
ZW50bHkgaW1wbGVtZW50ZWQgKHNlZQorICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03NzM2NyBhbmQKKyAgICAgICAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMzUuKSwgc28KKyAgICAgICAgICAvLyBzZXR0
aW5nIHRoZSBtb2RlbCB0byBTT1VOREZJRUxEIGN1cnJlbnRseSBkb2VzIG5vdGhpbmcuCisgICAg
ICAgICAgLy8gSGVuY2UsIHRoZSBleHBlY3RlZCB2YWx1ZSBpcyB0aGUgbGFzdCB2YWxpZCB2YWx1
ZSAoSFJURikKKyAgICAgICAgICAvLyBhYm92ZS4KICAgICAgICAgICBwYW5uZXIucGFubmluZ01v
ZGVsID0gcGFubmVyLlNPVU5ERklFTEQ7Ci0gICAgICAgICAgaWYgKHBhbm5lci5wYW5uaW5nTW9k
ZWwgPT0gMikgewotICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJQYW5uZXIgc2V0IHRvIFNPVU5E
RklFTEQgbW9kZWwgYW5kIHJlYWQgY29ycmVjdGx5LiIpOworICAgICAgICAgIGlmIChwYW5uZXIu
cGFubmluZ01vZGVsID09IDEpIHsKKyAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiUGFubmVyIHNl
dCB0byBTT1VOREZJRUxEIG1vZGVsIGFuZCBwYW5uaW5nTW9kZWwgZGlkIG5vdCBjaGFuZ2UuIik7
CiAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUGFubmVyIG1v
ZGVsIHNldCB0byBTT1VOREZJRUxEICgyKSBidXQgcmV0dXJuZWQgIiArIHBhbm5lci5wYW5uaW5n
TW9kZWwpOwogICAgICAgICAgICAgICBzdWNjZXNzID0gZmFsc2U7CiAgICAgICAgICAgfQogCiAg
ICAgICAgICAgLy8gU2V0IHRvIGludmFsaWQgdmFsdWUgYW5kIG1ha2Ugc3VyZSBpdCBkaWRuJ3Qg
Y2hhbmdlIGZyb20KLSAgICAgICAgICAvLyBpdCdzIHByZXZpb3VzIHNldHRpbmcgKG9mIDIpLgor
ICAgICAgICAgIC8vIGl0J3MgcHJldmlvdXMgc2V0dGluZyAob2YgMSkuCiAgICAgICAgICAgcGFu
bmVyLnBhbm5pbmdNb2RlbCA9IDk5OwotICAgICAgICAgIGlmIChwYW5uZXIucGFubmluZ01vZGVs
ID09IDIpIHsKKyAgICAgICAgICBpZiAocGFubmVyLnBhbm5pbmdNb2RlbCA9PSAxKSB7CiAgICAg
ICAgICAgICAgIHRlc3RQYXNzZWQoIlBhbm5lciBzZXQgdG8gaW52YWxpZCBtb2RlbCBhbmQgcGFu
bmluZ01vZGVsIGRpZCBub3QgY2hhbmdlLiIpOwogICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIlBhbm5lciBzZXQgdG8gaW52YWxpZCBtb2RlbCwgYnV0IHRoZSBw
YW5uaW5nTW9kZWwgY2hhbmdlZCBmcm9tIDIgdG8gIiArIHBhbm5lci5wYW5uaW5nTW9kZWwpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124968</attachid>
            <date>2012-02-01 10:35:58 -0800</date>
            <delta_ts>2012-02-10 10:53:22 -0800</delta_ts>
            <desc>Update expected results to match actual which now includes a console message</desc>
            <filename>bug-77283-20120201103558.patch</filename>
            <type>text/plain</type>
            <size>6974</size>
            <attacher name="Raymond Toy">rtoy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTU5ODEzZTYzNjhlYmJk
YjVmMmIyZWY5NjNjYzVjYzI1NmNlNmYxZi4uMDMwYWI4NjA2ZTQ2YTYyNzQ1NDIwYWVjMWNhNWQy
MGJlY2U2MzFkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAxLTMwICBSYXlt
b25kIFRveSAgPHJ0b3lAZ29vZ2xlLmNvbT4KKworICAgICAgICBMYXlvdXQgVGVzdCB3ZWJhdWRp
by9wYW5uZXItc2V0LW1vZGVsLmh0bWwgY3Jhc2hlcyBvbiBkZWJ1ZyBDaHJvbWl1bSBib3RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI4MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cy4gVGhpcyBpcyB0ZXN0ZWQgYnkgdGhlIGV4aXN0aW5nIHBhbm5lci1zZXQtbW9kZWwKKyAgICAg
ICAgdGVzdCwgd2hpY2ggc2hvdWxkIG5vIGxvbmdlciBjcmFzaCBvbiBkZWJ1ZyBidWlsZHMuCisK
KyAgICAgICAgKiB3ZWJhdWRpby9BdWRpb1Bhbm5lck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QXVkaW9QYW5uZXJOb2RlOjpzZXRQYW5uaW5nTW9kZWwpOiBEbyBub3RoaW5nIGV4Y2VwdAor
ICAgICAgICBwcmludCBhIHdhcm5pbmcgbWVzc2FnZSAodG8gdGhlIGphdmFzY3JpcHJ0IGNvbnNv
bGUpIGlmIHdlIHRyeSB0bworICAgICAgICBzZXQgdGhlIG1vZGVsIHRvIFNPVU5ERklFTEQuCisK
IDIwMTItMDEtMzEgIFBhYmxvIEZsb3VyZXQgIDxwYWJsb2ZAbW90b3JvbGEuY29tPgogCiAgICAg
ICAgIEZpeCBjb21waWxhdGlvbiBlcnJvcnMgb24gYnVpbGQtd2Via2l0IC0tZGVidWcgLS1uby13
b3JrZXJzIG9uIG1hYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlv
UGFubmVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb1Bhbm5lck5vZGUu
Y3BwCmluZGV4IGQ4OGFiYTRlYWQ5ZmYyMTkwMGNmMTZkOWMxNDhlZDY3MjZkNjE4YjMuLjNlOGE1
NTk1NDc3ODBiMmVlY2ViZDIyOGM1OWI2M2QzZjJmNGE3NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvUGFubmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
d2ViYXVkaW8vQXVkaW9QYW5uZXJOb2RlLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUg
IkF1ZGlvQ29udGV4dC5oIgogI2luY2x1ZGUgIkF1ZGlvTm9kZUlucHV0LmgiCiAjaW5jbHVkZSAi
QXVkaW9Ob2RlT3V0cHV0LmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJIUlRG
UGFubmVyLmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMTU1LDEzICsxNTYs
MjUgQEAgdm9pZCBBdWRpb1Bhbm5lck5vZGU6OnNldFBhbm5pbmdNb2RlbCh1bnNpZ25lZCBzaG9y
dCBtb2RlbCkKICAgICBzd2l0Y2ggKG1vZGVsKSB7CiAgICAgY2FzZSBFUVVBTFBPV0VSOgogICAg
IGNhc2UgSFJURjoKLSAgICBjYXNlIFNPVU5ERklFTEQ6CiAgICAgICAgIGlmICghbV9wYW5uZXIu
Z2V0KCkgfHwgbW9kZWwgIT0gbV9wYW5uaW5nTW9kZWwpIHsKICAgICAgICAgICAgIE93blB0cjxQ
YW5uZXI+IG5ld1Bhbm5lciA9IFBhbm5lcjo6Y3JlYXRlKG1vZGVsLCBzYW1wbGVSYXRlKCkpOwog
ICAgICAgICAgICAgbV9wYW5uZXIgPSBuZXdQYW5uZXIucmVsZWFzZSgpOwogICAgICAgICAgICAg
bV9wYW5uaW5nTW9kZWwgPSBtb2RlbDsKICAgICAgICAgfQogICAgICAgICBicmVhazsKKyAgICBj
YXNlIFNPVU5ERklFTEQ6CisgICAgICAgIC8vIEZJWE1FOiBzb3VuZCBmaWVsZCBwYW5uaW5nIGlz
IG5vdCB5ZXQgaW1wbGVtZW50ZWQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzczNjcKKyAgICAgICAgLy8gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03NzIzNS4KKyAgICAgICAgLy8gSnVzdCBwcmVzZXJ2ZSB0aGUgY3VycmVu
dCBwYW5uZXIsIGFuZCBwcmludCBhIHdhcm5pbmcKKyAgICAgICAgLy8gbWVzc2FnZSAob25jZSkg
dG8gdGhlIEphdmFzY3JpcHQgY29uc29sZS4KKyAgICAgICAgeworICAgICAgICAgICAgc3RhdGlj
IGJvb2wgZmlyc3RUaW1lID0gdHJ1ZTsKKyAgICAgICAgICAgIGlmIChmaXJzdFRpbWUgJiYgY29u
dGV4dCgpICYmIGNvbnRleHQoKS0+ZG9jdW1lbnQoKSkgeworICAgICAgICAgICAgICAgIGNvbnRl
eHQoKS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dN
ZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgIkF1ZGlvUGFubmVyTm9kZSBTT1VOREZJ
RUxEIG1vZGVsIG5vdCBpbXBsZW1lbnRlZC4iKTsKKyAgICAgICAgICAgICAgICBmaXJzdFRpbWUg
PSBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBicmVhazsKICAgICBk
ZWZhdWx0OgogICAgICAgICAvLyBGSVhNRTogY29uc2lkZXIgdGhyb3dpbmcgYW4gZXhjZXB0aW9u
IGZvciBpbGxlZ2FsIG1vZGVsIHZhbHVlcy4KICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTg1ZTVl
Mjg5MzQyMDEwMDY4NDgwMDE1MDI0NWEwN2I2ZWUwNDRiNy4uYjgwODQ2MDBlZTIxNjQ1NmUyZjE3
ZThiMzUzYmNjMzQ4NDI1OTc0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAxLTMwICBS
YXltb25kIFRveSAgPHJ0b3lAZ29vZ2xlLmNvbT4KKworICAgICAgICBMYXlvdXQgVGVzdCB3ZWJh
dWRpby9wYW5uZXItc2V0LW1vZGVsLmh0bWwgY3Jhc2hlcyBvbiBkZWJ1ZyBDaHJvbWl1bSBib3Rz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI4Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OiAgUmVtb3ZlIGVudHJ5IGZvcgorICAg
ICAgICA3NzI4Mywgd2hpY2ggaXMgZml4ZWQgbm93LgorICAgICAgICAqIHdlYmF1ZGlvL3Bhbm5l
ci1zZXQtbW9kZWwuaHRtbDogVXBkYXRlIHRlc3QgZm9yIFNPVU5ERklFTEQKKyAgICAgICAgYmVo
YXZpb3IuCisgICAgICAgICogd2ViYXVkaW8vcGFubmVyLXNldC1tb2RlbC1leHBlY3RlZC50eHQ6
ICBVcGRhdGUgcmVzdWx0cy4KKwogMjAxMi0wMS0zMSAgWXV6byBGdWppc2hpbWEgIDx5dXpvQGdv
b2dsZS5jb20+CiAKICAgICAgICAgW0Nocm9taXVtXSBVbnJldmlld2VkIHRlc3QgZXhwZWN0YXRp
b24gY2hhbmdlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVz
dF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9l
eHBlY3RhdGlvbnMudHh0CmluZGV4IDg2YzcyMmU0YzljYTU4ZDU0YzYyNGFhZjEzZmY1Y2U5NDFh
ZjhlNzAuLjQ4ODgyMDkwODM0OGQ4OTY2MmY2M2VjNTY3MjIzZDNmOGZhYWIxMzYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQK
QEAgLTM4MjEsOCArMzgyMSw2IEBAIEJVR1dLNzYyNzIgTEVPUEFSRCBERUJVRyA6IHN2Zy9kb20v
U1ZHUGF0aFNlZ0xpc3Qtc2VnbWVudC1tb2RpZmljYXRpb24uc3ZnID0gSU1BCiAvLyBTdGFydGVk
IGZhaWxpbmcgYXQgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTA1MDA3CiBCVUdD
UjExMDM2NSBXSU4gOiB3ZWJhdWRpby9nYWluLmh0bWwgPSBQQVNTIEFVRElPCiAKLUJVR1dLNzcy
ODMgREVCVUcgOiB3ZWJhdWRpby9wYW5uZXItc2V0LW1vZGVsLmh0bWwgPSBDUkFTSAotCiBCVUdX
Szc2NDg4IDogY3NzMy9pbWFnZXMvY3Jvc3MtZmFkZS1iYWNrZ3JvdW5kLXNpemUuaHRtbCA9IElN
QUdFIElNQUdFK1RFWFQKIAogQlVHS1c3NjU1NyA6IHN2Zy9jdXN0b20vdHJhbnNmb3JtLXdpdGgt
c2hhZG93LWFuZC1ncmFkaWVudC5zdmcgPSBJTUFHRQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViYXVkaW8vcGFubmVyLXNldC1tb2RlbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJh
dWRpby9wYW5uZXItc2V0LW1vZGVsLWV4cGVjdGVkLnR4dAppbmRleCAxYjczOTY0ZTRlYjljYzky
MzJlOTVjMjJhMDdlN2I5N2RlMmFhODhkLi43ZGMyYjQxMDRmMTI5ZmFjMDVmNmVmYWM3ZTMyZTc5
ZTdjOTJkZTFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9wYW5uZXItc2V0LW1v
ZGVsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9wYW5uZXItc2V0LW1v
ZGVsLWV4cGVjdGVkLnR4dApAQCAtMSwxMCArMSwxMSBAQAorQ09OU09MRSBNRVNTQUdFOiBBdWRp
b1Bhbm5lck5vZGUgU09VTkRGSUVMRCBtb2RlbCBub3QgaW1wbGVtZW50ZWQuCiBUZXN0IGlmIHBh
bm5pbmdNb2RlbCBjYW4gYmUgc2V0IGFuZCByZWFkLgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCiAKIFBBU1MgUGFubmVyIHNldCB0byBFUVVBTFBPV0VSIG1vZGVsIGFuZCByZWFkIGNvcnJl
Y3RseS4KIFBBU1MgUGFubmVyIHNldCB0byBIUlRGIG1vZGVsIGFuZCByZWFkIGNvcnJlY3RseS4K
LVBBU1MgUGFubmVyIHNldCB0byBTT1VOREZJRUxEIG1vZGVsIGFuZCByZWFkIGNvcnJlY3RseS4K
K1BBU1MgUGFubmVyIHNldCB0byBTT1VOREZJRUxEIG1vZGVsIGFuZCBwYW5uaW5nTW9kZWwgZGlk
IG5vdCBjaGFuZ2UuCiBQQVNTIFBhbm5lciBzZXQgdG8gaW52YWxpZCBtb2RlbCBhbmQgcGFubmlu
Z01vZGVsIGRpZCBub3QgY2hhbmdlLgogUEFTUyBQYW5uaW5nIG1vZGVsIHRlc3RzIHBhc3NlZC4K
IFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmF1ZGlvL3Bhbm5lci1zZXQtbW9kZWwuaHRtbCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Bh
bm5lci1zZXQtbW9kZWwuaHRtbAppbmRleCAzNWIxNzFmOTA5ZGI3Y2FkMThjZDQyYzZiOGEyZGJi
ZTEzNmM5OGM1Li44N2ZiM2IxNmMxZDcwOWE0YTAwOTMzNzg4NTE2NDA3YTg0MWJjMjRmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9wYW5uZXItc2V0LW1vZGVsLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViYXVkaW8vcGFubmVyLXNldC1tb2RlbC5odG1sCkBAIC00NCwxOSArNDQs
MjUgQEAKICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUGFubmVyIG1vZGVsIHNldCB0byBIUlRG
ICgxKSBidXQgcmV0dXJuZWQgIiArIHBhbm5lci5wYW5uaW5nTW9kZWwpOwogICAgICAgICAgICAg
ICBzdWNjZXNzID0gZmFsc2U7CiAgICAgICAgICAgfQotICAgICAgCisKKyAgICAgICAgICAvLyBT
T1VOREZJRUxEIGlzIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWQgKHNlZQorICAgICAgICAgIC8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM2NyBhbmQKKyAgICAg
ICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMzUuKSwg
c28KKyAgICAgICAgICAvLyBzZXR0aW5nIHRoZSBtb2RlbCB0byBTT1VOREZJRUxEIGN1cnJlbnRs
eSBkb2VzIG5vdGhpbmcuCisgICAgICAgICAgLy8gSGVuY2UsIHRoZSBleHBlY3RlZCB2YWx1ZSBp
cyB0aGUgbGFzdCB2YWxpZCB2YWx1ZSAoSFJURikKKyAgICAgICAgICAvLyBhYm92ZS4KICAgICAg
ICAgICBwYW5uZXIucGFubmluZ01vZGVsID0gcGFubmVyLlNPVU5ERklFTEQ7Ci0gICAgICAgICAg
aWYgKHBhbm5lci5wYW5uaW5nTW9kZWwgPT0gMikgewotICAgICAgICAgICAgICB0ZXN0UGFzc2Vk
KCJQYW5uZXIgc2V0IHRvIFNPVU5ERklFTEQgbW9kZWwgYW5kIHJlYWQgY29ycmVjdGx5LiIpOwor
ICAgICAgICAgIGlmIChwYW5uZXIucGFubmluZ01vZGVsID09IDEpIHsKKyAgICAgICAgICAgICAg
dGVzdFBhc3NlZCgiUGFubmVyIHNldCB0byBTT1VOREZJRUxEIG1vZGVsIGFuZCBwYW5uaW5nTW9k
ZWwgZGlkIG5vdCBjaGFuZ2UuIik7CiAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgiUGFubmVyIG1vZGVsIHNldCB0byBTT1VOREZJRUxEICgyKSBidXQgcmV0dXJu
ZWQgIiArIHBhbm5lci5wYW5uaW5nTW9kZWwpOwogICAgICAgICAgICAgICBzdWNjZXNzID0gZmFs
c2U7CiAgICAgICAgICAgfQogCiAgICAgICAgICAgLy8gU2V0IHRvIGludmFsaWQgdmFsdWUgYW5k
IG1ha2Ugc3VyZSBpdCBkaWRuJ3QgY2hhbmdlIGZyb20KLSAgICAgICAgICAvLyBpdCdzIHByZXZp
b3VzIHNldHRpbmcgKG9mIDIpLgorICAgICAgICAgIC8vIGl0J3MgcHJldmlvdXMgc2V0dGluZyAo
b2YgMSkuCiAgICAgICAgICAgcGFubmVyLnBhbm5pbmdNb2RlbCA9IDk5OwotICAgICAgICAgIGlm
IChwYW5uZXIucGFubmluZ01vZGVsID09IDIpIHsKKyAgICAgICAgICBpZiAocGFubmVyLnBhbm5p
bmdNb2RlbCA9PSAxKSB7CiAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIlBhbm5lciBzZXQgdG8g
aW52YWxpZCBtb2RlbCBhbmQgcGFubmluZ01vZGVsIGRpZCBub3QgY2hhbmdlLiIpOwogICAgICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlBhbm5lciBzZXQgdG8gaW52
YWxpZCBtb2RlbCwgYnV0IHRoZSBwYW5uaW5nTW9kZWwgY2hhbmdlZCBmcm9tIDIgdG8gIiArIHBh
bm5lci5wYW5uaW5nTW9kZWwpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>