<?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>31035</bug_id>
          
          <creation_ts>2009-11-02 17:10:36 -0800</creation_ts>
          <short_desc>[GTK] some accessibility tests hitting assertion in debug builds</short_desc>
          <delta_ts>2009-11-04 01:31:25 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gustavo Noronha (kov)">gustavo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>jdiggs</cc>
    
    <cc>jmalonzo</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>159951</commentid>
    <comment_count>0</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-11-02 17:10:36 -0800</bug_when>
    <thetext>The following tests are hitting an assertion, which is being logged to stderr, on debug builds:

accessibility/aria-controls-with-tabs.html
accessibility/nochildren-elements.html
accessibility/non-data-table-cell-title-ui-element.html
accessibility/table-notbody.html

Here&apos;s the output:

** (DumpRenderTree:26309): CRITICAL **: AtkObject* webkit_accessible_ref_child(AtkObject*, gint): assertion `static_cast&lt;size_t&gt;(index) &lt; coreObject-&gt;children().size()&apos; failed

** (DumpRenderTree:26309): CRITICAL **: atk_object_ref_accessible_child: assertion `ATK_IS_OBJECT (accessible)&apos; failed

** (DumpRenderTree:26309): CRITICAL **: atk_object_ref_accessible_child: assertion `ATK_IS_OBJECT (accessible)&apos; failed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159979</commentid>
    <comment_count>1</comment_count>
      <attachid>42359</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-11-02 21:01:31 -0800</bug_when>
    <thetext>Created attachment 42359
Replace assertions with sanity checks

===================
table-notbody.html
===================

The body elements consist of a single table which:

* Has no cells
* Has style &quot;visibility: hidden;&quot;

As a result it&apos;s ignored as an accessible object and the web view is childless. Then along comes the layout test:

  [...]
  body.focus();
  var table = accessibilityController.focusedElement.childAtIndex(0);
  result.innerText += &quot;Test passes if there is no crash\n\n&quot;;
  [...]

Asking for a non-existent child triggers the assertion.

=========================
nochildren-elements.html
=========================

Similar deal.

[...]
&lt;!-- This test makes sure that these types of elements DO NOT have children.
     The test will pass if attributesOfChildren() returns nil --&gt;
[...]

~~~~~~~~~~~~~~~

I suspect that is also what&apos;s taking place with accessibility/non-data-table-cell-title-ui-element.html. I&apos;ve not fully debugged it to prove that beyond a shadow of a doubt, but the attached patch seems to solve it along with the above two tests.

This is just my opinion, but I don&apos;t think webkit_accessible_ref_child is the place for assertions like this because anyone

  * these tests
  * badly-behaved ATs
  * me typing acc.getChildAtIndex(10000000) in Accerciser&apos;s iPython console

can easily attempt to ref a child at a bogus index. As such, I think that in this particular case, it makes more sense to do some sanity checking.

As for accessibility/aria-controls-with-tabs.html: Something else is going on there. My two main, totally-unproven theories right now are the hierarchy:

  * Root ain&apos;t what the test thinks it is (perhaps its the object of ATK_ROLE_DOCUMENT_FRAME), or
  * We&apos;ve got &quot;ignored&quot; objects sneaking in

I&apos;ll dig some more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159997</commentid>
    <comment_count>2</comment_count>
      <attachid>42363</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-11-02 23:32:11 -0800</bug_when>
    <thetext>Created attachment 42363
Get the correct Gtk+ object before attempting to turn it into an AtkObject

Funny thing about totally-unproven theories: There&apos;s a high probability of you&apos;re being wrong. :-) I was wrong: Test is fine, hierarchy (at least in this particular instance) is fine. Getting the rootElement, on the other hand....

This solves it for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159998</commentid>
    <comment_count>3</comment_count>
      <attachid>42363</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-11-02 23:41:41 -0800</bug_when>
    <thetext>Comment on attachment 42363
Get the correct Gtk+ object before attempting to turn it into an AtkObject

Yeah, seems the other ports do pretty much the same, so r+!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160000</commentid>
    <comment_count>4</comment_count>
      <attachid>42363</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-02 23:51:13 -0800</bug_when>
    <thetext>Comment on attachment 42363
Get the correct Gtk+ object before attempting to turn it into an AtkObject

Clearing flags on attachment: 42363

Committed r50445: &lt;http://trac.webkit.org/changeset/50445&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160001</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-02 23:51:18 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160012</commentid>
    <comment_count>6</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-11-03 01:35:06 -0800</bug_when>
    <thetext>Still one more patch for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160019</commentid>
    <comment_count>7</comment_count>
      <attachid>42359</attachid>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-11-03 02:15:07 -0800</bug_when>
    <thetext>Comment on attachment 42359
Replace assertions with sanity checks

&gt; +    AccessibilityObject::AccessibilityChildrenVector children = coreObject-&gt;children();
&gt; +    if (index &lt; 0 || index &gt;= children.size())
&gt; +        return 0;
&gt;  
&gt;      AccessibilityObject* coreChild = coreObject-&gt;children().at(index).get();

It would be nice if we can just reuse children here instead of calling to coreObject again.

r- because it needs one more round.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160233</commentid>
    <comment_count>8</comment_count>
      <attachid>42426</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-11-03 15:11:15 -0800</bug_when>
    <thetext>Created attachment 42426
Replace assertions with sanity checks - take 2

(In reply to comment #7)
&gt; (From update of attachment 42359 [details])
&gt; &gt; +    AccessibilityObject::AccessibilityChildrenVector children = coreObject-&gt;children();
&gt; &gt; +    if (index &lt; 0 || index &gt;= children.size())
&gt; &gt; +        return 0;
&gt; &gt;  
&gt; &gt;      AccessibilityObject* coreChild = coreObject-&gt;children().at(index).get();
&gt; 
&gt; It would be nice if we can just reuse children here instead of calling to
&gt; coreObject again.

Yup. Done. Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160357</commentid>
    <comment_count>9</comment_count>
      <attachid>42426</attachid>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-11-04 00:50:11 -0800</bug_when>
    <thetext>Comment on attachment 42426
Replace assertions with sanity checks - take 2

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160377</commentid>
    <comment_count>10</comment_count>
      <attachid>42426</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-04 01:31:19 -0800</bug_when>
    <thetext>Comment on attachment 42426
Replace assertions with sanity checks - take 2

Clearing flags on attachment: 42426

Committed r50506: &lt;http://trac.webkit.org/changeset/50506&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160378</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-04 01:31:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42359</attachid>
            <date>2009-11-02 21:01:31 -0800</date>
            <delta_ts>2009-11-03 15:11:15 -0800</delta_ts>
            <desc>Replace assertions with sanity checks</desc>
            <filename>31035-1.patch</filename>
            <type>text/plain</type>
            <size>2357</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSAwYzAwNDU1ODcyOGNiYzY0Y2MzNzc0NWY3YjQ0NGRjZjI1ZjljNzNhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpvYW5tYXJpZS5kaWdnc0BnbWFp
bC5jb20+CkRhdGU6IE1vbiwgMiBOb3YgMjAwOSAyMzo0Mjo0NiAtMDUwMApTdWJqZWN0OiBbUEFU
Q0hdIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTMxMDM1CltHVEtdIHNvbWUgYWNjZXNzaWJpbGl0eSB0ZXN0cyBoaXR0
aW5nIGFzc2VydGlvbiBpbiBkZWJ1ZyBidWlsZHMKClJlbW92ZXMgdGhlIGFzc2VydGlvbnMgaW4g
d2Via2l0X2FjY2Vzc2libGVfcmVmX2NoaWxkOyBhZGRzIHNhbml0eSBjaGVja3MuCkFueSBhcHAg
b3IgQVQgY2FuIGF0dGVtcHQgdG8gcmVmIGEgY2hpbGQgYXQgYSBib2d1cyBpbmRleC4KCiogYWNj
ZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwOgood2Via2l0
X2FjY2Vzc2libGVfcmVmX2NoaWxkKToKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTMgKysrKysrKysrKysrKwogLi4uL2d0ay9BY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAgICAgICAgICAgfCAgICA2ICsrKy0tLQogMiBm
aWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTYyYmE4ZS4u
Njg4OTJhNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAwOS0xMS0wMyAgSm9hbm1hcmllIERpZ2dzICA8am9h
bm1hcmllLmRpZ2dzQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzEwMzUKKyAgICAgICAgW0dUS10gc29tZSBhY2Nlc3NpYmlsaXR5IHRlc3RzIGhpdHRpbmcgYXNz
ZXJ0aW9uIGluIGRlYnVnIGJ1aWxkcworCisgICAgICAgIFJlbW92ZXMgdGhlIGFzc2VydGlvbnMg
aW4gd2Via2l0X2FjY2Vzc2libGVfcmVmX2NoaWxkOyBhZGRzIHNhbml0eSBjaGVja3MuCisgICAg
ICAgIEFueSBhcHAgb3IgQVQgY2FuIGF0dGVtcHQgdG8gcmVmIGEgY2hpbGQgYXQgYSBib2d1cyBp
bmRleC4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyQXRrLmNwcDoKKyAgICAgICAgKHdlYmtpdF9hY2Nlc3NpYmxlX3JlZl9jaGlsZCk6CisK
IDIwMDktMTEtMDIgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAgYi9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAppbmRleCBmNTY2
Njc3Li4wNzk4MjYwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
Z3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcApAQCAtMjMzLDkgKzIzMyw5IEBA
IHN0YXRpYyBnaW50IHdlYmtpdF9hY2Nlc3NpYmxlX2dldF9uX2NoaWxkcmVuKEF0a09iamVjdCog
b2JqZWN0KQogc3RhdGljIEF0a09iamVjdCogd2Via2l0X2FjY2Vzc2libGVfcmVmX2NoaWxkKEF0
a09iamVjdCogb2JqZWN0LCBnaW50IGluZGV4KQogewogICAgIEFjY2Vzc2liaWxpdHlPYmplY3Qq
IGNvcmVPYmplY3QgPSBjb3JlKG9iamVjdCk7Ci0KLSAgICBnX3JldHVybl92YWxfaWZfZmFpbChp
bmRleCA+PSAwLCBOVUxMKTsKLSAgICBnX3JldHVybl92YWxfaWZfZmFpbChzdGF0aWNfY2FzdDxz
aXplX3Q+KGluZGV4KSA8IGNvcmVPYmplY3QtPmNoaWxkcmVuKCkuc2l6ZSgpLCBOVUxMKTsKKyAg
ICBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3IgY2hpbGRy
ZW4gPSBjb3JlT2JqZWN0LT5jaGlsZHJlbigpOworICAgIGlmIChpbmRleCA8IDAgfHwgaW5kZXgg
Pj0gY2hpbGRyZW4uc2l6ZSgpKQorICAgICAgICByZXR1cm4gMDsKIAogICAgIEFjY2Vzc2liaWxp
dHlPYmplY3QqIGNvcmVDaGlsZCA9IGNvcmVPYmplY3QtPmNoaWxkcmVuKCkuYXQoaW5kZXgpLmdl
dCgpOwogCi0tIAoxLjYuMy4zCgo=
</data>
<flag name="review"
          id="23875"
          type_id="1"
          status="-"
          setter="jmalonzo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42363</attachid>
            <date>2009-11-02 23:32:11 -0800</date>
            <delta_ts>2009-11-02 23:51:12 -0800</delta_ts>
            <desc>Get the correct Gtk+ object before attempting to turn it into an AtkObject</desc>
            <filename>31035-2.patch</filename>
            <type>text/plain</type>
            <size>2242</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSBjY2IwOGI0NTJhNDhkNjA3NTU2YjAwYmE5YjhiNGM3OGJmYzE5ODQyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpvYW5tYXJpZS5kaWdnc0BnbWFp
bC5jb20+CkRhdGU6IFR1ZSwgMyBOb3YgMjAwOSAwMjoyMToxMCAtMDUwMApTdWJqZWN0OiBbUEFU
Q0ggMy8zXSBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCmh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zMTAzNQpbR1RLXSBzb21lIGFjY2Vzc2liaWxpdHkgdGVzdHMg
aGl0dGluZyBhc3NlcnRpb24gaW4gZGVidWcgYnVpbGRzCgpHZXQgdGhlIGNvcnJlY3QgR3RrKyBv
YmplY3QgYmVmb3JlIGF0dGVtcHRpbmcgdG8gdHVybiBpdCBpbnRvIGFuIEF0a09iamVjdC4KCiog
RHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyR3RrLmNwcDoKKEFjY2Vz
c2liaWxpdHlDb250cm9sbGVyOjpyb290RWxlbWVudCk6Ci0tLQogV2ViS2l0VG9vbHMvQ2hhbmdl
TG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEyICsrKysrKysrKysrKwogLi4u
L2d0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckd0ay5jcHAgICAgICAgICAgICAgfCAgICA2ICsr
KysrLQogMiBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQoK
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBiOGZlY2EzLi5lMTY0OTAyIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDktMTEt
MDMgIEpvYW5tYXJpZSBEaWdncyAgPGpvYW5tYXJpZS5kaWdnc0BnbWFpbC5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxMDM1CisgICAgICAgIFtHVEtdIHNvbWUgYWNjZXNz
aWJpbGl0eSB0ZXN0cyBoaXR0aW5nIGFzc2VydGlvbiBpbiBkZWJ1ZyBidWlsZHMKKworICAgICAg
ICBHZXQgdGhlIGNvcnJlY3QgR3RrKyBvYmplY3QgYmVmb3JlIGF0dGVtcHRpbmcgdG8gdHVybiBp
dCBpbnRvIGFuIEF0a09iamVjdC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2d0ay9BY2Nl
c3NpYmlsaXR5Q29udHJvbGxlckd0ay5jcHA6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5Q29udHJv
bGxlcjo6cm9vdEVsZW1lbnQpOgorCiAyMDA5LTExLTAyICBDaHJpcyBGbGVpemFjaCAgPGNmbGVp
emFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQmV0aCBEYWtpbi4KZGlmZiAt
LWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5Q29udHJv
bGxlckd0ay5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXJHdGsuY3BwCmluZGV4IDU5M2YyZWIuLmRmMDZjZWEgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckd0ay5j
cHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlDb250
cm9sbGVyR3RrLmNwcApAQCAtNTgsNyArNTgsMTEgQEAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBB
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6Zm9jdXNlZEVsZW1lbnQoKQogQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cm9vdEVsZW1lbnQoKQogewogICAgIFdl
YktpdFdlYlZpZXcqIHZpZXcgPSB3ZWJraXRfd2ViX2ZyYW1lX2dldF93ZWJfdmlldyhtYWluRnJh
bWUpOwotICAgIEF0a09iamVjdCogYXhPYmplY3QgPSBndGtfd2lkZ2V0X2dldF9hY2Nlc3NpYmxl
KEdUS19XSURHRVQodmlldykpOworCisgICAgLy8gVGhlIHByZXN1bWVkLCBkZXNpcmVkIHJvb3RF
bGVtZW50IGlzIHRoZSBwYXJlbnQgb2YgdGhlIHdlYiB2aWV3LgorICAgIEd0a1dpZGdldCogd2Vi
Vmlld1BhcmVudCA9IGd0a193aWRnZXRfZ2V0X3BhcmVudChHVEtfV0lER0VUKHZpZXcpKTsKKyAg
ICBBdGtPYmplY3QqIGF4T2JqZWN0ID0gZ3RrX3dpZGdldF9nZXRfYWNjZXNzaWJsZSh3ZWJWaWV3
UGFyZW50KTsKKyAKICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudChheE9iamVjdCk7
CiB9CiAKLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42426</attachid>
            <date>2009-11-03 15:11:15 -0800</date>
            <delta_ts>2009-11-04 01:31:19 -0800</delta_ts>
            <desc>Replace assertions with sanity checks - take 2</desc>
            <filename>31035-1-1.patch</filename>
            <type>text/plain</type>
            <size>2468</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSBiNzVmMzAwZGNmZWE4N2E1Nzg5NWVlZTAyYzRhOTcyYmUxZTViY2FhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpvYW5tYXJpZS5kaWdnc0BnbWFp
bC5jb20+CkRhdGU6IE1vbiwgMiBOb3YgMjAwOSAyMzo0Mjo0NiAtMDUwMApTdWJqZWN0OiBbUEFU
Q0hdIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTMxMDM1CltHVEtdIHNvbWUgYWNjZXNzaWJpbGl0eSB0ZXN0cyBoaXR0
aW5nIGFzc2VydGlvbiBpbiBkZWJ1ZyBidWlsZHMKClJlbW92ZXMgdGhlIGFzc2VydGlvbnMgaW4g
d2Via2l0X2FjY2Vzc2libGVfcmVmX2NoaWxkOyBhZGRzIHNhbml0eSBjaGVja3MuCkFueSBhcHAg
b3IgQVQgY2FuIGF0dGVtcHQgdG8gcmVmIGEgY2hpbGQgYXQgYSBib2d1cyBpbmRleC4KCiogYWNj
ZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwOgood2Via2l0
X2FjY2Vzc2libGVfcmVmX2NoaWxkKToKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTMgKysrKysrKysrKysrKwogLi4uL2d0ay9BY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAgICAgICAgICAgfCAgICA4ICsrKystLS0tCiAy
IGZpbGVzIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5NjJiYThl
Li42ODg5MmE3IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDA5LTExLTAzICBKb2FubWFyaWUgRGlnZ3MgIDxq
b2FubWFyaWUuZGlnZ3NAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zMTAzNQorICAgICAgICBbR1RLXSBzb21lIGFjY2Vzc2liaWxpdHkgdGVzdHMgaGl0dGluZyBh
c3NlcnRpb24gaW4gZGVidWcgYnVpbGRzCisKKyAgICAgICAgUmVtb3ZlcyB0aGUgYXNzZXJ0aW9u
cyBpbiB3ZWJraXRfYWNjZXNzaWJsZV9yZWZfY2hpbGQ7IGFkZHMgc2FuaXR5IGNoZWNrcy4KKyAg
ICAgICAgQW55IGFwcCBvciBBVCBjYW4gYXR0ZW1wdCB0byByZWYgYSBjaGlsZCBhdCBhIGJvZ3Vz
IGluZGV4LgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXJBdGsuY3BwOgorICAgICAgICAod2Via2l0X2FjY2Vzc2libGVfcmVmX2NoaWxkKToK
KwogMjAwOS0xMS0wMiAgQ2hyaXMgTWFycmluICA8Y21hcnJpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcCBiL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCmluZGV4IGY1
NjY2NzcuLjM3NzcxNGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCisrKyBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCkBAIC0yMzMsMTEgKzIzMywx
MSBAQCBzdGF0aWMgZ2ludCB3ZWJraXRfYWNjZXNzaWJsZV9nZXRfbl9jaGlsZHJlbihBdGtPYmpl
Y3QqIG9iamVjdCkKIHN0YXRpYyBBdGtPYmplY3QqIHdlYmtpdF9hY2Nlc3NpYmxlX3JlZl9jaGls
ZChBdGtPYmplY3QqIG9iamVjdCwgZ2ludCBpbmRleCkKIHsKICAgICBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiBjb3JlT2JqZWN0ID0gY29yZShvYmplY3QpOworICAgIEFjY2Vzc2liaWxpdHlPYmplY3Q6
OkFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciBjaGlsZHJlbiA9IGNvcmVPYmplY3QtPmNoaWxk
cmVuKCk7CisgICAgaWYgKGluZGV4IDwgMCB8fCBpbmRleCA+PSBjaGlsZHJlbi5zaXplKCkpCisg
ICAgICAgIHJldHVybiAwOwogCi0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoaW5kZXggPj0gMCwg
TlVMTCk7Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoc3RhdGljX2Nhc3Q8c2l6ZV90PihpbmRl
eCkgPCBjb3JlT2JqZWN0LT5jaGlsZHJlbigpLnNpemUoKSwgTlVMTCk7Ci0KLSAgICBBY2Nlc3Np
YmlsaXR5T2JqZWN0KiBjb3JlQ2hpbGQgPSBjb3JlT2JqZWN0LT5jaGlsZHJlbigpLmF0KGluZGV4
KS5nZXQoKTsKKyAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlQ2hpbGQgPSBjaGlsZHJlbi5h
dChpbmRleCkuZ2V0KCk7CiAKICAgICBpZiAoIWNvcmVDaGlsZCkKICAgICAgICAgcmV0dXJuIE5V
TEw7Ci0tIAoxLjYuMy4zCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>