<?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>141637</bug_id>
          
          <creation_ts>2015-02-16 04:24:02 -0800</creation_ts>
          <short_desc>ASSERTION FAILED: observer in WebCore::BitmapImage::drawPattern</short_desc>
          <delta_ts>2016-08-05 16:31:12 -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>Platform</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>116980</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Renata Hodovan">rhodovan.u-szeged</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>krit</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1069406</commentid>
    <comment_count>0</comment_count>
      <attachid>246643</attachid>
    <who name="Renata Hodovan">rhodovan.u-szeged</who>
    <bug_when>2015-02-16 04:24:02 -0800</bug_when>
    <thetext>Created attachment 246643
Test case

Load this with debug WK:

&lt;style&gt;
* {
    -webkit-mask-image: -webkit-canvas(viewport-mask);
    -webkit-mask-source-type: luminance;
}
&lt;/style&gt;


Backtrace:

ASSERTION FAILED: observer
../../Source/WebCore/platform/graphics/BitmapImage.cpp(623) : virtual void WebCore::BitmapImage::drawPattern(WebCore::GraphicsContext*, const WebCore::FloatRect&amp;, const WebCore::AffineTransform&amp;, const WebCore::FloatPoint&amp;, WebCore::ColorSpace, WebCore::CompositeOperator, const WebCore::FloatRect&amp;, WebCore::BlendMode)

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff8affd700 (LWP 27905)]
0x00007fffed73b5ef in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:321
321	    *(int *)(uintptr_t)0xbbadbeef = 0;
#0  0x00007fffed73b5ef in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:321
#1  0x00007ffff3642031 in WebCore::BitmapImage::drawPattern (this=0x7ffff7f1b9c0, ctxt=0x7ffff7f36c60, tileRect=..., transform=..., phase=..., styleColorSpace=WebCore::ColorSpaceDeviceRGB, op=WebCore::CompositeSourceOver, destRect=..., blendMode=WebCore::BlendModeNormal) at ../../Source/WebCore/platform/graphics/BitmapImage.cpp:623
#2  0x00007ffff36a0604 in WebCore::Image::drawTiled (this=0x7ffff7f1b9c0, ctxt=0x7ffff7f36c60, destRect=..., srcPoint=..., scaledTileSize=..., styleColorSpace=WebCore::ColorSpaceDeviceRGB, op=WebCore::CompositeSourceOver, blendMode=WebCore::BlendModeNormal) at ../../Source/WebCore/platform/graphics/Image.cpp:198
#3  0x00007ffff368df2a in WebCore::GraphicsContext::drawTiledImage (this=0x7ffff7f36c60, image=0x7ffff7f1b9c0, colorSpace=WebCore::ColorSpaceDeviceRGB, destination=..., source=..., tileSize=..., imagePaintingOptions=...) at ../../Source/WebCore/platform/graphics/GraphicsContext.cpp:525
#4  0x00007ffff3842953 in WebCore::RenderBoxModelObject::paintFillLayerExtended (this=0x7ffff7f15cc0, paintInfo=..., color=..., bgLayer=0x7ffff7f2a430, rect=..., bleedAvoidance=WebCore::BackgroundBleedNone, box=0x0, boxSize=..., op=WebCore::CompositeSourceOver, backgroundObject=0x0, baseBgColorUsage=WebCore::BaseBackgroundColorUse) at ../../Source/WebCore/rendering/RenderBoxModelObject.cpp:863
#5  0x00007ffff3823c2e in WebCore::RenderBox::paintFillLayer (this=0x7ffff7f15cc0, paintInfo=..., c=..., fillLayer=0x7ffff7f2a430, rect=..., bleedAvoidance=WebCore::BackgroundBleedNone, op=WebCore::CompositeSourceOver, backgroundObject=0x0, baseBgColorUsage=WebCore::BaseBackgroundColorUse) at ../../Source/WebCore/rendering/RenderBox.cpp:1603
#6  0x00007ffff3823b2e in WebCore::RenderBox::paintFillLayers (this=0x7ffff7f15cc0, paintInfo=..., c=..., fillLayer=0x7ffff7f2a430, rect=..., bleedAvoidance=WebCore::BackgroundBleedNone, op=WebCore::CompositeSourceOver, backgroundObject=0x0) at ../../Source/WebCore/rendering/RenderBox.cpp:1594
#7  0x00007ffff3823615 in WebCore::RenderBox::paintMaskImages (this=0x7ffff7f15cc0, paintInfo=..., paintRect=...) at ../../Source/WebCore/rendering/RenderBox.cpp:1523
#8  0x00007ffff3823327 in WebCore::RenderBox::paintMask (this=0x7ffff7f15cc0, paintInfo=..., paintOffset=...) at ../../Source/WebCore/rendering/RenderBox.cpp:1483
#9  0x00007ffff37c63a3 in WebCore::RenderBlock::paintObject (this=0x7ffff7f15cc0, paintInfo=..., paintOffset=...) at ../../Source/WebCore/rendering/RenderBlock.cpp:1558
#10 0x00007ffff37c5682 in WebCore::RenderBlock::paint (this=0x7ffff7f15cc0, paintInfo=..., paintOffset=...) at ../../Source/WebCore/rendering/RenderBlock.cpp:1421
#11 0x00007ffff38dd18b in WebCore::RenderLayer::paintMaskForFragments (this=0x7ffff7f33360, layerFragments=..., context=0x7ffff7f36c60, localPaintingInfo=..., subtreePaintRootForRenderer=0x0) at ../../Source/WebCore/rendering/RenderLayer.cpp:4732
#12 0x00007ffff38daf9f in WebCore::RenderLayer::paintLayerContents (this=0x7ffff7f33360, context=0x7ffff7f36c60, paintingInfo=..., paintFlags=225) at ../../Source/WebCore/rendering/RenderLayer.cpp:4320
#13 0x00007ffff38d97d6 in WebCore::RenderLayer::paintLayerContentsAndReflection (this=0x7ffff7f33360, context=0x7ffff7f36c60, paintingInfo=..., paintFlags=225) at ../../Source/WebCore/rendering/RenderLayer.cpp:3961
#14 0x00007ffff38d96b5 in WebCore::RenderLayer::paintLayer (this=0x7ffff7f33360, context=0x7ffff7f36c60, paintingInfo=..., paintFlags=225) at ../../Source/WebCore/rendering/RenderLayer.cpp:3943
#15 0x00007ffff38db53f in WebCore::RenderLayer::paintList (this=0x7ffff7f33480, list=0x7ffff7f0f3d0, context=0x7ffff7f36c60, paintingInfo=..., paintFlags=225) at ../../Source/WebCore/rendering/RenderLayer.cpp:4385
#16 0x00007ffff38dadff in WebCore::RenderLayer::paintLayerContents (this=0x7ffff7f33480, context=0x7ffff7f36c60, paintingInfo=..., paintFlags=225) at ../../Source/WebCore/rendering/RenderLayer.cpp:4297
#17 0x00007ffff38d97d6 in WebCore::RenderLayer::paintLayerContentsAndReflection (this=0x7ffff7f33480, context=0x7ffff7f36c60, paintingInfo=..., paintFlags=225) at ../../Source/WebCore/rendering/RenderLayer.cpp:3961
#18 0x00007ffff38d96b5 in WebCore::RenderLayer::paintLayer (this=0x7ffff7f33480, context=0x7ffff7f36c60, paintingInfo=..., paintFlags=225) at ../../Source/WebCore/rendering/RenderLayer.cpp:3943
#19 0x00007ffff38db53f in WebCore::RenderLayer::paintList (this=0x7ffff7f336c0, list=0x7ffff7f0f3b0, context=0x7ffff7f36c60, paintingInfo=..., paintFlags=224) at ../../Source/WebCore/rendering/RenderLayer.cpp:4385
#20 0x00007ffff38dadff in WebCore::RenderLayer::paintLayerContents (this=0x7ffff7f336c0, context=0x7ffff7f36c60, paintingInfo=..., paintFlags=224) at ../../Source/WebCore/rendering/RenderLayer.cpp:4297
#21 0x00007ffff38d97d6 in WebCore::RenderLayer::paintLayerContentsAndReflection (this=0x7ffff7f336c0, context=0x7ffff7f36c60, paintingInfo=..., paintFlags=0) at ../../Source/WebCore/rendering/RenderLayer.cpp:3961
#22 0x00007ffff38d96b5 in WebCore::RenderLayer::paintLayer (this=0x7ffff7f336c0, context=0x7ffff7f36c60, paintingInfo=..., paintFlags=0) at ../../Source/WebCore/rendering/RenderLayer.cpp:3943
#23 0x00007ffff38d872b in WebCore::RenderLayer::paint (this=0x7ffff7f336c0, context=0x7ffff7f36c60, damageRect=..., subpixelAccumulation=..., paintBehavior=0, subtreePaintRoot=0x0, paintFlags=0) at ../../Source/WebCore/rendering/RenderLayer.cpp:3746
#24 0x00007ffff35301ce in WebCore::FrameView::paintContents (this=0x7ffff7ec6b00, context=0x7ffff7f36c60, dirtyRect=...) at ../../Source/WebCore/page/FrameView.cpp:3874
#25 0x00007ffff35fc239 in WebCore::ScrollView::paint (this=0x7ffff7ec6b00, context=0x7ffff7f36c60, rect=...) at ../../Source/WebCore/platform/ScrollView.cpp:1247
#26 0x00007ffff288f9e3 in WebKit::WebPage::drawRect (this=0x7ffff7f2d800, graphicsContext=..., rect=...) at ../../Source/WebKit2/WebProcess/WebPage/WebPage.cpp:1368
#27 0x00007ffff2997d4b in WebKit::DrawingAreaImpl::display (this=0x78f420, updateInfo=...) at ../../Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:654
#28 0x00007ffff29975bc in WebKit::DrawingAreaImpl::display (this=0x78f420) at ../../Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:570
#29 0x00007ffff299747a in WebKit::DrawingAreaImpl::displayTimerFired (this=0x78f420) at ../../Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:549
#30 0x00007ffff2999caf in WTF::RunLoop::Timer&lt;WebKit::DrawingAreaImpl&gt;::fired (this=0x78f620) at ../../Source/WTF/wtf/RunLoop.h:121
#31 0x00007ffff44b36f3 in WTF::RunLoop::TimerBase::__lambda3::operator() (__closure=0x478a20) at ../../Source/WTF/wtf/gtk/RunLoopGtk.cpp:121
#32 0x00007ffff44b3b99 in std::_Function_handler&lt;bool(), WTF::RunLoop::TimerBase::start(double, bool)::__lambda3&gt;::_M_invoke(const std::_Any_data &amp;) (__functor=...) at /usr/include/c++/4.8/functional:2057
#33 0x00007ffff44b2d74 in std::function&lt;bool ()&gt;::operator()() const (this=0x7fffffffd5a8) at /usr/include/c++/4.8/functional:2464
#34 0x00007fffed78e1c8 in WTF::GMainLoopSource::boolCallback (this=0x78f630) at ../../Source/WTF/wtf/gobject/GMainLoopSource.cpp:405
#35 0x00007fffed78e63d in WTF::GMainLoopSource::boolSourceCallback (source=0x78f630, source@entry=&lt;error reading variable: value has been optimized out&gt;) at ../../Source/WTF/wtf/gobject/GMainLoopSource.cpp:462
#36 0x00007fffea556443 in g_timeout_dispatch (source=0x7924f0, callback=&lt;optimized out&gt;, user_data=&lt;optimized out&gt;) at gmain.c:4472
#37 0x00007fffea555a1d in g_main_dispatch (context=0x478b00) at gmain.c:3064
#38 g_main_context_dispatch (context=context@entry=0x478b00) at gmain.c:3663
#39 0x00007fffea555d88 in g_main_context_iterate (context=0x478b00, block=block@entry=1, dispatch=dispatch@entry=1, self=&lt;optimized out&gt;) at gmain.c:3734
#40 0x00007fffea55604a in g_main_loop_run (loop=0x901d10) at gmain.c:3928
#41 0x00007ffff44b31e6 in WTF::RunLoop::run () at ../../Source/WTF/wtf/gtk/RunLoopGtk.cpp:59
#42 0x00007ffff29a1cfc in WebKit::ChildProcessMain&lt;WebKit::WebProcess, WebKit::WebProcessMain&gt; (argc=2, argv=0x7fffffffd948) at ../../Source/WebKit2/Shared/unix/ChildProcessMain.h:61
#43 0x00007ffff29a1b61 in WebKit::WebProcessMainUnix (argc=2, argv=0x7fffffffd948) at ../../Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp:77
#44 0x00000000004008d1 in main (argc=2, argv=0x7fffffffd948) at ../../Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp:44</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069636</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-02-16 15:47:05 -0800</bug_when>
    <thetext>See also: rdar://problem/19725522</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217654</commentid>
    <comment_count>2</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-08-04 16:33:32 -0700</bug_when>
    <thetext>This reproduces in r204037.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217655</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-08-04 16:33:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/27709864&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217720</commentid>
    <comment_count>4</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2016-08-04 17:47:51 -0700</bug_when>
    <thetext>If the BitmapImage is initialized from a native image, there is no need for an ImageObserver. The ImageObserver is only needed when the BitmapImage is initialized from a SubresourceLoader via a CachedImage. In this case BitmapImage will receive encoded data which will be decoded by an ImageDecoder. In this case the ImageObserver is the CachedImage itself.  The ImageDecoder needs to notify the ImageObserver (the CachedImage) how much data has been decoded to track how much memory the image has allocated.

So this assertion is not needed especially in this place, the drawing. It does not matter how the BitmapImage was created, either from a native image or from encoded data. When we draw it we do not need to check for the ImageObserver.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217954</commentid>
    <comment_count>5</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-08-05 10:20:34 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; So this assertion is not needed especially in this place, the drawing. It
&gt; does not matter how the BitmapImage was created, either from a native image
&gt; or from encoded data. When we draw it we do not need to check for the
&gt; ImageObserver.

Would it make sense to assert something like the following?

ASSERT(observer || m_source.initialized());

I think that would assert that we either have an image observer, or were created by a NativeImage?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218016</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-08-05 12:59:37 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; So this assertion is not needed especially in this place, the drawing. It
&gt; &gt; does not matter how the BitmapImage was created, either from a native image
&gt; &gt; or from encoded data. When we draw it we do not need to check for the
&gt; &gt; ImageObserver.
&gt; 
&gt; Would it make sense to assert something like the following?
&gt; 
&gt; ASSERT(observer || m_source.initialized());

Oh, I see. We were only getting it so we could temporarily set it to nullptr, then put it back. We don&apos;t actually care if it exists or not.

I agree: We should get rid of this assert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218040</commentid>
    <comment_count>7</comment_count>
      <attachid>285447</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-08-05 13:45:58 -0700</bug_when>
    <thetext>Created attachment 285447
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218072</commentid>
    <comment_count>8</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2016-08-05 15:14:06 -0700</bug_when>
    <thetext>Unofficial r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218080</commentid>
    <comment_count>9</comment_count>
      <attachid>285447</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-08-05 15:44:01 -0700</bug_when>
    <thetext>Comment on attachment 285447
Patch

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

&gt; Source/WebCore/platform/graphics/BitmapImage.cpp:-614
&gt; -        ASSERT(observer);

Possible this code should be using TemporaryChange?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218098</commentid>
    <comment_count>10</comment_count>
      <attachid>285447</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-08-05 16:27:01 -0700</bug_when>
    <thetext>Comment on attachment 285447
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/BitmapImage.cpp:-614
&gt;&gt; -        ASSERT(observer);
&gt; 
&gt; Possible this code should be using TemporaryChange?

That would be cool! But I don&apos;t think TemporaryChange is able to call C++ methods to set values the way we can with properties in Obj C++.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218101</commentid>
    <comment_count>11</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-08-05 16:31:12 -0700</bug_when>
    <thetext>Committed r204198: &lt;http://trac.webkit.org/changeset/204198&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>246643</attachid>
            <date>2015-02-16 04:24:02 -0800</date>
            <delta_ts>2015-02-16 04:24:02 -0800</delta_ts>
            <desc>Test case</desc>
            <filename>crash.html</filename>
            <type>text/html</type>
            <size>118</size>
            <attacher name="Renata Hodovan">rhodovan.u-szeged</attacher>
            
              <data encoding="base64">PHN0eWxlPgoqIHsKICAgIC13ZWJraXQtbWFzay1pbWFnZTogLXdlYmtpdC1jYW52YXModmlld3Bv
cnQtbWFzayk7CiAgICAtd2Via2l0LW1hc2stc291cmNlLXR5cGU6IGx1bWluYW5jZTsKfQo8L3N0
eWxlPg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285447</attachid>
            <date>2016-08-05 13:45:58 -0700</date>
            <delta_ts>2016-08-05 15:44:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141637-20160805134431.patch</filename>
            <type>text/plain</type>
            <size>2991</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNDE5MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE2LTA4LTA1ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6
IG9ic2VydmVyIGluIFdlYkNvcmU6OkJpdG1hcEltYWdlOjpkcmF3UGF0dGVybgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQxNjM3CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8yNzcwOTg2ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9pbWFnZS1zb3VyY2UtYXNzZXJ0Lmh0
bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjpkcmF3UGF0dGVybik6IFJlbW92ZSBpbnZhbGlkIGFz
c2VydGlvbi4KKwogMjAxNi0wOC0wNSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNv
bT4KIAogICAgICAgICB2YWxpZGl0eSBhc3NlcnRpb24gZmFpbHMgYWZ0ZXIgcmVtb3ZpbmcgYSBj
aGlsZCBvZiBhbiA8b3B0Z3JvdXA+IGVsZW1lbnQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAJKHJldmlzaW9uIDIwNDE4NSkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNjExLDcgKzYxMSw2IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmRyYXdQYXR0ZXJu
KEdyYXBoaWNzQ28KICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBJbWFnZU9ic2VydmVy
KiBvYnNlcnZlciA9IGltYWdlT2JzZXJ2ZXIoKTsKLSAgICAgICAgQVNTRVJUKG9ic2VydmVyKTsK
IAogICAgICAgICAvLyBUZW1wb3JhcmlseSByZXNldCBpbWFnZSBvYnNlcnZlciwgd2UgZG9uJ3Qg
d2FudCB0byByZWNlaXZlIGFueSBjaGFuZ2VJblJlY3QoKSBjYWxscyBkdWUgdG8gdGhpcyByZWxh
eW91dC4KICAgICAgICAgc2V0SW1hZ2VPYnNlcnZlcihudWxscHRyKTsKSW5kZXg6IExheW91dFRl
c3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDIwNDE4NikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE0IEBACisyMDE2LTA4LTA1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUu
Y29tPgorCisgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IG9ic2VydmVyIGluIFdlYkNvcmU6OkJp
dG1hcEltYWdlOjpkcmF3UGF0dGVybgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQxNjM3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNzcwOTg2ND4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qv
aW1hZ2VzL2ltYWdlLXNvdXJjZS1hc3NlcnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2ltYWdlcy9pbWFnZS1zb3VyY2UtYXNzZXJ0Lmh0bWw6IEFkZGVkLgorCiAyMDE2LTA4
LTA1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIHZhbGlk
aXR5IGFzc2VydGlvbiBmYWlscyBhZnRlciByZW1vdmluZyBhIGNoaWxkIG9mIGFuIDxvcHRncm91
cD4gZWxlbWVudApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2Utc291cmNlLWFz
c2VydC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMv
aW1hZ2Utc291cmNlLWFzc2VydC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2Utc291cmNlLWFzc2VydC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSBAQAorVGhlIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGdl
bmVyYXRlIGEgZGVidWcgYXNzZXJ0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMv
aW1hZ2Utc291cmNlLWFzc2VydC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
aW1hZ2VzL2ltYWdlLXNvdXJjZS1hc3NlcnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1zb3VyY2UtYXNzZXJ0Lmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxMSBAQAorPHN0eWxlPgorKiB7CisgICAgLXdlYmtpdC1tYXNrLWltYWdlOiAt
d2Via2l0LWNhbnZhcyh2aWV3cG9ydC1tYXNrKTsKKyAgICAtd2Via2l0LW1hc2stc291cmNlLXR5
cGU6IGx1bWluYW5jZTsKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+Cis8cD5UaGUgdGVz
dCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgZ2VuZXJhdGUgYSBkZWJ1ZyBhc3NlcnRpb24uPC9wPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>
<flag name="review"
          id="309072"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>