<?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>53131</bug_id>
          
          <creation_ts>2011-01-25 15:09:38 -0800</creation_ts>
          <short_desc>[GTK] Reliable crash with getTextAtOffset()</short_desc>
          <delta_ts>2011-01-26 14:44:10 -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>
          
          <blocked>25531</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Joanmarie Diggs">jdiggs</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>apinheiro</cc>
    
    <cc>mario</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>339954</commentid>
    <comment_count>0</comment_count>
      <attachid>80131</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2011-01-25 15:09:38 -0800</bug_when>
    <thetext>Created attachment 80131
test case

Steps to reproduce:

1. Load the test case in Epiphany.

2. Use Accerciser&apos;s object tree to locate and select the object associated with the paragraph from the test case.

3. In Accerciser&apos;s iPython console type:

  acc.queryText().getTextAtOffset(0, TEXT_BOUNDARY_LINE_START)

For me, it crashes Epiphany reliably.

This is problematic for Orca users because as a user navigates through document content by line, Orca will use getTextAtOffset() to get that line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339955</commentid>
    <comment_count>1</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2011-01-25 15:10:17 -0800</bug_when>
    <thetext>Thread 4 (Thread 0xb3959b70 (LWP 9295)):
#0  0xb7883424 in __kernel_vsyscall ()
#1  0xb5881de6 in poll () from /lib/libc.so.6
#2  0xb5aa299b in g_poll (fds=0x9e252c8, nfds=3, timeout=-1) at /build/buildd/glib2.0-2.27.91/glib/gpoll.c:132
#3  0xb5a9232f in g_main_context_poll (context=0x9e248e8, block=-1247139472, dispatch=1, self=&lt;value optimized out&gt;)
    at /build/buildd/glib2.0-2.27.91/glib/gmain.c:3404
#4  g_main_context_iterate (context=0x9e248e8, block=-1247139472, dispatch=1, self=&lt;value optimized out&gt;)
    at /build/buildd/glib2.0-2.27.91/glib/gmain.c:3086
#5  0xb5a92aab in g_main_loop_run (loop=0x9e248d8) at /build/buildd/glib2.0-2.27.91/glib/gmain.c:3299
#6  0xb5c35344 in gdbus_shared_thread_func (data=0x0) at /build/buildd/glib2.0-2.27.91/gio/gdbusprivate.c:276
#7  0xb5abb66f in g_thread_create_proxy (data=0x9e24978) at /build/buildd/glib2.0-2.27.91/glib/gthread.c:1897
#8  0xb5925e79 in start_thread () from /lib/libpthread.so.0
#9  0xb58904ee in clone () from /lib/libc.so.6

Thread 3 (Thread 0xafea2b70 (LWP 9297)):
#0  0xb7883424 in __kernel_vsyscall ()
#1  0xb592a46c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb72d6a87 in WTF::TCMalloc_PageHeap::scavengerThread() () from /usr/lib/libwebkit-1.0.so.2
#3  0xb72d6acd in WTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /usr/lib/libwebkit-1.0.so.2
#4  0xb5925e79 in start_thread () from /lib/libpthread.so.0
#5  0xb58904ee in clone () from /lib/libc.so.6

Thread 2 (Thread 0xaf581b70 (LWP 9298)):
#0  0xb7883424 in __kernel_vsyscall ()
#1  0xb592a46c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb72e9734 in WTF::ThreadCondition::wait(WTF::Mutex&amp;) () from /usr/lib/libwebkit-1.0.so.2
#3  0xb69ab332 in WebCore::IconDatabase::syncThreadMainLoop() () from /usr/lib/libwebkit-1.0.so.2
#4  0xb69acb4f in WebCore::IconDatabase::iconDatabaseSyncThread() () from /usr/lib/libwebkit-1.0.so.2
#5  0xb69acc9d in WebCore::IconDatabase::iconDatabaseSyncThreadStart(void*) () from /usr/lib/libwebkit-1.0.so.2
#6  0xb72e940f in WTF::threadEntryPoint(void*) () from /usr/lib/libwebkit-1.0.so.2
#7  0xb5925e79 in start_thread () from /lib/libpthread.so.0
#8  0xb58904ee in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb3e7a860 (LWP 9294)):
#0  0xb7883424 in __kernel_vsyscall ()
#1  0xb57eac41 in raise () from /lib/libc.so.6
#2  0xb57ee11e in abort () from /lib/libc.so.6
#3  0xb5821bd7 in ?? () from /lib/libc.so.6
#4  0xb582bfe1 in ?? () from /lib/libc.so.6
#5  0xb582d93b in ?? () from /lib/libc.so.6
#6  0xb5830acd in free () from /lib/libc.so.6
#7  0xb5a98e96 in g_free (mem=0x9f2c290) at /build/buildd/glib2.0-2.27.91/glib/gmem.c:263
#8  0xb647eeab in textForRenderer(WebCore::RenderObject*) () from /usr/lib/libwebkit-1.0.so.2
#9  0xb647f1ed in textForObject(WebCore::AccessibilityRenderObject*) () from /usr/lib/libwebkit-1.0.so.2
#10 0xb6480e8f in getPangoLayoutForAtk(_AtkText*) () from /usr/lib/libwebkit-1.0.so.2
#11 0xb6480f74 in webkit_accessible_text_get_text_at_offset(_AtkText*, int, AtkTextBoundary, int*, int*) () from /usr/lib/libwebkit-1.0.so.2
#12 0xb5495d0d in atk_text_get_text_at_offset (text=0xa33b8c8, offset=0, boundary_type=ATK_TEXT_BOUNDARY_LINE_START, start_offset=0xbff45b6c, 
    end_offset=0xbff45b68) at atktext.c:421
#13 0xb3b5a05a in impl_getTextAtOffset (servant=0x9e28ad4, offset=0, type=Accessibility_TEXT_BOUNDARY_LINE_START, startOffset=0xbff45c60, 
    endOffset=0xbff45c40, ev=0xbff45ee0) at text.c:128
#14 0xb3b4e61c in _ORBIT_skel_small_Accessibility_Text_getTextAtOffset (_o_servant=0x9e28ad4, _o_retval=0xbff45d00, _o_args=0xbff45ce0, 
    _o_ctx=0xbff45d7c, _o_ev=0xbff45ee0, _impl_getTextAtOffset=0xb3b5a010 &lt;impl_getTextAtOffset&gt;) at Accessibility-common.c:744
#15 0xb57410c7 in ?? () from /usr/lib/libORBit-2.so.0
#16 0xb5747e25 in ORBit_OAObject_invoke () from /usr/lib/libORBit-2.so.0
#17 0xb57337f9 in ORBit_small_invoke_adaptor () from /usr/lib/libORBit-2.so.0
#18 0xb574319a in ?? () from /usr/lib/libORBit-2.so.0
#19 0xb5743887 in ?? () from /usr/lib/libORBit-2.so.0
#20 0xb5743a1d in ?? () from /usr/lib/libORBit-2.so.0
#21 0xb5747ce1 in ORBit_handle_request () from /usr/lib/libORBit-2.so.0
#22 0xb5730095 in giop_connection_handle_input () from /usr/lib/libORBit-2.so.0
#23 0xb574ec4a in ?? () from /usr/lib/libORBit-2.so.0
#24 0xb5751a96 in ?? () from /usr/lib/libORBit-2.so.0
#25 0xb5a91c28 in g_main_dispatch (context=0x9dcdf30) at /build/buildd/glib2.0-2.27.91/glib/gmain.c:2440
#26 g_main_context_dispatch (context=0x9dcdf30) at /build/buildd/glib2.0-2.27.91/glib/gmain.c:3013
#27 0xb5a923f0 in g_main_context_iterate (context=0x9dcdf30, block=-1247139472, dispatch=1, self=&lt;value optimized out&gt;)
    at /build/buildd/glib2.0-2.27.91/glib/gmain.c:3091
#28 0xb5a92aab in g_main_loop_run (loop=0x9e2b9b8) at /build/buildd/glib2.0-2.27.91/glib/gmain.c:3299
#29 0xb5ffc329 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#30 0x0806ec82 in main ()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340387</commentid>
    <comment_count>2</comment_count>
      <attachid>80219</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-01-26 12:08:52 -0800</bug_when>
    <thetext>Created attachment 80219
Patch proposal

Simple patch to fix this. It seems there was an error in how the length in bytes for a UTF8 substring was being calculated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340390</commentid>
    <comment_count>3</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-01-26 12:15:13 -0800</bug_when>
    <thetext>The change looks good to me. Is there any way to write a test for it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340424</commentid>
    <comment_count>4</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-01-26 13:05:19 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; The change looks good to me. Is there any way to write a test for it?

I didn&apos;t think it was needed as it was a minor change in a helper function, but I could write an unit test if you want, although I think it&apos;s perhaps a little overkill for such a small change...

As you wish :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340474</commentid>
    <comment_count>5</comment_count>
      <attachid>80239</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-01-26 14:31:38 -0800</bug_when>
    <thetext>Created attachment 80239
Patch proposal + unit tests

Attaching new patch including a new unit test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340475</commentid>
    <comment_count>6</comment_count>
      <attachid>80239</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-01-26 14:33:38 -0800</bug_when>
    <thetext>Comment on attachment 80239
Patch proposal + unit tests

Thanks for including the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340481</commentid>
    <comment_count>7</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-01-26 14:44:10 -0800</bug_when>
    <thetext>Committed r76721: &lt;http://trac.webkit.org/changeset/76721&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>80131</attachid>
            <date>2011-01-25 15:09:38 -0800</date>
            <delta_ts>2011-01-25 15:09:38 -0800</delta_ts>
            <desc>test case</desc>
            <filename>google-test.html</filename>
            <type>text/html</type>
            <size>101</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPjx0aXRsZT5DcmFzaGVyPC90aXRsZT48L2hlYWQ+Cjxib2R5PjxwPlNlZSB5
b3VyIGFkIGhlcmUmbmJzcDsmcmFxdW87PC9wPjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80219</attachid>
            <date>2011-01-26 12:08:52 -0800</date>
            <delta_ts>2011-01-26 14:31:38 -0800</delta_ts>
            <desc>Patch proposal</desc>
            <filename>0001-2011-01-26-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>2395</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSBlYmMxY2FhZmFmNGQ5NjdmMTA2YjU3Yzg0YWMwNjA0NWU3M2MyNWQ1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBXZWQsIDI2IEphbiAyMDExIDIxOjA2OjA4ICswMTAwClN1YmplY3Q6IFtQQVRD
SF0gMjAxMS0wMS0yNiAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+
CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBbR1RLXSBSZWxp
YWJsZSBjcmFzaCB3aXRoIGdldFRleHRBdE9mZnNldCgpCiAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzMTMxCgogICAgICAgIFByb3Blcmx5IGNhbGN1bGF0
ZSBsZW5ndGggaW4gYnl0ZXMgZm9yIGEgVVRGOCBzdWJzdHJpbmcuCgogICAgICAgICogYWNjZXNz
aWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwOgogICAgICAgICh1
dGY4U3Vic3RyKTogVXNlIGNoYXJhY3RlciBpbnN0ZWFkIG9mIGJ5dGVzIGFzIHVuaXRzIHRvCiAg
ICAgICAgY2FsY3VsYXRlIHRoZSBsZW5ndGggaW4gYnl0ZXMgZm9yIHRoZSBVVEY4IHN0cmluZy4K
LS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgMTMgKysrKysrKysrKysrKwogLi4uL2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0
ay5jcHAgICAgICAgICAgfCAgICAyICstCiAyIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMo
KyksIDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDZiNDEyYWIuLjRlM2U5ODQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0wMS0yNiAgTWFyaW8gU2FuY2hleiBQcmFkYSAg
PG1zYW5jaGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgW0dUS10gUmVsaWFibGUgY3Jhc2ggd2l0aCBnZXRUZXh0QXRPZmZzZXQo
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTMxMzEK
KworICAgICAgICBQcm9wZXJseSBjYWxjdWxhdGUgbGVuZ3RoIGluIGJ5dGVzIGZvciBhIFVURjgg
c3Vic3RyaW5nLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJBdGsuY3BwOgorICAgICAgICAodXRmOFN1YnN0cik6IFVzZSBjaGFyYWN0ZXIg
aW5zdGVhZCBvZiBieXRlcyBhcyB1bml0cyB0bworICAgICAgICBjYWxjdWxhdGUgdGhlIGxlbmd0
aCBpbiBieXRlcyBmb3IgdGhlIFVURjggc3RyaW5nLgorCiAyMDExLTAxLTI0ICBQYXZlbCBQb2Rp
dmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBh
dmVsIEZlbGRtYW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0
ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAKaW5kZXggNjky
ZGVjZC4uZGUzYjMyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9n
dGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcApAQCAt
OTk0LDcgKzk5NCw3IEBAIHN0YXRpYyBnY2hhciogdXRmOFN1YnN0cihjb25zdCBnY2hhciogc3Ry
aW5nLCBnaW50IHN0YXJ0LCBnaW50IGVuZCkKICAgICBpZiAoc3RhcnQgPiBzdHJMZW4gfHwgZW5k
ID4gc3RyTGVuKQogICAgICAgICByZXR1cm4gMDsKICAgICBnY2hhciogc3RhcnRQdHIgPSBnX3V0
Zjhfb2Zmc2V0X3RvX3BvaW50ZXIoc3RyaW5nLCBzdGFydCk7Ci0gICAgZ3NpemUgbGVuSW5CeXRl
cyA9IGdfdXRmOF9vZmZzZXRfdG9fcG9pbnRlcihzdHJpbmcsIGVuZCkgLSAgc3RhcnRQdHIgKyAx
OworICAgIGdzaXplIGxlbkluQnl0ZXMgPSBnX3V0Zjhfb2Zmc2V0X3RvX3BvaW50ZXIoc3RyaW5n
LCBlbmQgKyAxKSAtICBzdGFydFB0cjsKICAgICBnY2hhciogb3V0cHV0ID0gc3RhdGljX2Nhc3Q8
Z2NoYXIqPihnX21hbGxvYzAobGVuSW5CeXRlcyArIDEpKTsKICAgICByZXR1cm4gZ191dGY4X3N0
cm5jcHkob3V0cHV0LCBzdGFydFB0ciwgZW5kIC0gc3RhcnQgKyAxKTsKIH0KLS0gCjEuNy4zLjQK
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80239</attachid>
            <date>2011-01-26 14:31:38 -0800</date>
            <delta_ts>2011-01-26 14:33:38 -0800</delta_ts>
            <desc>Patch proposal + unit tests</desc>
            <filename>0001-2011-01-26-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>7115</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSBlYTI2ZGQ4ODUzNjIzNmVjMGM4YjJhMzEwMTRkZmI0OThhNGJhZGE1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBXZWQsIDI2IEphbiAyMDExIDIxOjA2OjA4ICswMTAwClN1YmplY3Q6IFtQQVRD
SF0gMjAxMS0wMS0yNiAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+
CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBbR1RLXSBSZWxp
YWJsZSBjcmFzaCB3aXRoIGdldFRleHRBdE9mZnNldCgpCiAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzMTMxCgogICAgICAgIFByb3Blcmx5IGNhbGN1bGF0
ZSBsZW5ndGggaW4gYnl0ZXMgZm9yIGEgVVRGOCBzdWJzdHJpbmcuCgogICAgICAgICogYWNjZXNz
aWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwOgogICAgICAgICh1
dGY4U3Vic3RyKTogVXNlIGNoYXJhY3RlciBpbnN0ZWFkIG9mIGJ5dGVzIGFzIHVuaXRzIHRvCiAg
ICAgICAgY2FsY3VsYXRlIHRoZSBsZW5ndGggaW4gYnl0ZXMgZm9yIHRoZSBVVEY4IHN0cmluZy4K
MjAxMS0wMS0yNiAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+Cgog
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBbR1RLXSBSZWxpYWJs
ZSBjcmFzaCB3aXRoIGdldFRleHRBdE9mZnNldCgpCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTUzMTMxCgogICAgICAgIE5ldyB1bml0IHRlc3QgdG8gY2hl
Y2sgdGhlIGZpeCBmb3IgdGhpcyBidWcuCgogICAgICAgICogdGVzdHMvdGVzdGF0ay5jOgogICAg
ICAgICh0ZXN0V2Via2l0QXRrR2V0VGV4dEF0T2Zmc2V0V2l0aFNwZWNpYWxDaGFyYWN0ZXJzKTog
TmV3LgogICAgICAgIChtYWluKTogQWRkIG5ldyB1bml0IHRlc3QuCi0tLQogU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEzICsrKysrKysKIC4u
Li9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwICAgICAgICAgIHwgICAgMiAr
LQogU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgfCAg
IDEzICsrKysrKysKIFNvdXJjZS9XZWJLaXQvZ3RrL3Rlc3RzL3Rlc3RhdGsuYyAgICAgICAgICAg
ICAgICAgIHwgICAzNyArKysrKysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA2NCBp
bnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2YjQxMmFiLi40ZTNl
OTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDEtMjYgIE1hcmlvIFNhbmNo
ZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHVEtdIFJlbGlhYmxlIGNyYXNoIHdpdGggZ2V0VGV4
dEF0T2Zmc2V0KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTUzMTMxCisKKyAgICAgICAgUHJvcGVybHkgY2FsY3VsYXRlIGxlbmd0aCBpbiBieXRlcyBm
b3IgYSBVVEY4IHN1YnN0cmluZy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcDoKKyAgICAgICAgKHV0ZjhTdWJzdHIpOiBVc2Ug
Y2hhcmFjdGVyIGluc3RlYWQgb2YgYnl0ZXMgYXMgdW5pdHMgdG8KKyAgICAgICAgY2FsY3VsYXRl
IHRoZSBsZW5ndGggaW4gYnl0ZXMgZm9yIHRoZSBVVEY4IHN0cmluZy4KKwogMjAxMS0wMS0yNCAg
UGF2ZWwgUG9kaXZpbG92ICA8cG9kaXZpbG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3Bw
CmluZGV4IDY5MmRlY2QuLmRlM2IzMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0
ay5jcHAKQEAgLTk5NCw3ICs5OTQsNyBAQCBzdGF0aWMgZ2NoYXIqIHV0ZjhTdWJzdHIoY29uc3Qg
Z2NoYXIqIHN0cmluZywgZ2ludCBzdGFydCwgZ2ludCBlbmQpCiAgICAgaWYgKHN0YXJ0ID4gc3Ry
TGVuIHx8IGVuZCA+IHN0ckxlbikKICAgICAgICAgcmV0dXJuIDA7CiAgICAgZ2NoYXIqIHN0YXJ0
UHRyID0gZ191dGY4X29mZnNldF90b19wb2ludGVyKHN0cmluZywgc3RhcnQpOwotICAgIGdzaXpl
IGxlbkluQnl0ZXMgPSBnX3V0Zjhfb2Zmc2V0X3RvX3BvaW50ZXIoc3RyaW5nLCBlbmQpIC0gIHN0
YXJ0UHRyICsgMTsKKyAgICBnc2l6ZSBsZW5JbkJ5dGVzID0gZ191dGY4X29mZnNldF90b19wb2lu
dGVyKHN0cmluZywgZW5kICsgMSkgLSAgc3RhcnRQdHI7CiAgICAgZ2NoYXIqIG91dHB1dCA9IHN0
YXRpY19jYXN0PGdjaGFyKj4oZ19tYWxsb2MwKGxlbkluQnl0ZXMgKyAxKSk7CiAgICAgcmV0dXJu
IGdfdXRmOF9zdHJuY3B5KG91dHB1dCwgc3RhcnRQdHIsIGVuZCAtIHN0YXJ0ICsgMSk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cKaW5kZXggOTEyYzk0OC4uYTI4NTY0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDExLTAxLTI2ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpA
aWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbR1RLXSBSZWxpYWJsZSBjcmFzaCB3aXRoIGdldFRleHRBdE9mZnNldCgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzEzMQorCisgICAgICAg
IE5ldyB1bml0IHRlc3QgdG8gY2hlY2sgdGhlIGZpeCBmb3IgdGhpcyBidWcuCisKKyAgICAgICAg
KiB0ZXN0cy90ZXN0YXRrLmM6CisgICAgICAgICh0ZXN0V2Via2l0QXRrR2V0VGV4dEF0T2Zmc2V0
V2l0aFNwZWNpYWxDaGFyYWN0ZXJzKTogTmV3LgorICAgICAgICAobWFpbik6IEFkZCBuZXcgdW5p
dCB0ZXN0LgorCiAyMDExLTAxLTIxICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYXJ0aW4gUm9iaW5zb24uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay90ZXN0cy90ZXN0YXRrLmMgYi9Tb3VyY2UvV2ViS2l0L2d0
ay90ZXN0cy90ZXN0YXRrLmMKaW5kZXggMWVlNmM1NS4uZWI0OGZjNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9ndGsvdGVzdHMvdGVzdGF0ay5jCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3Rl
c3RzL3Rlc3RhdGsuYwpAQCAtMzIsNiArMzIsOCBAQCBzdGF0aWMgY29uc3QgY2hhciogY29udGVu
dHMgPSAiPGh0bWw+PGJvZHk+PHA+VGhpcyBpcyBhIHRlc3QuIFRoaXMgaXMgdGhlIHNlY29uZAog
CiBzdGF0aWMgY29uc3QgY2hhciogY29udGVudHNXaXRoTmV3bGluZXMgPSAiPGh0bWw+PGJvZHk+
PHA+VGhpcyBpcyBhIHRlc3QuIFxuXG5UaGlzXG4gaXMgdGhlIHNlY29uZCBzZW50ZW5jZS4gQW5k
IHRoaXMgdGhlIHRoaXJkLjwvcD48L2JvZHk+PC9odG1sPiI7CiAKK3N0YXRpYyBjb25zdCBjaGFy
KiBjb250ZW50c1dpdGhTcGVjaWFsQ2hhcnMgPSAiPGh0bWw+PGJvZHk+PHA+JmxhcXVvOyZuYnNw
O1RoaXMgaXMgYSBwYXJhZ3JhcGggd2l0aCAmbGRxdW87c3BlY2lhbCZyZHF1bzsgY2hhcmFjdGVy
cyBpbnNpZGUuJm5ic3A7JnJhcXVvOzwvcD48L2JvZHk+PC9odG1sPiI7CisKIHN0YXRpYyBjb25z
dCBjaGFyKiBjb250ZW50c0luVGV4dGFyZWEgPSAiPGh0bWw+PGJvZHk+PHRleHRhcmVhIGNvbHM9
JzgwJz5UaGlzIGlzIGEgdGVzdC4gVGhpcyBpcyB0aGUgc2Vjb25kIHNlbnRlbmNlLiBBbmQgdGhp
cyB0aGUgdGhpcmQuPC90ZXh0YXJlYT48L2JvZHk+PC9odG1sPiI7CiAKIHN0YXRpYyBjb25zdCBj
aGFyKiBjb250ZW50c0luVGV4dElucHV0ID0gIjxodG1sPjxib2R5PjxpbnB1dCB0eXBlPSd0ZXh0
JyBzaXplPSc4MCcgdmFsdWU9J1RoaXMgaXMgYSB0ZXN0LiBUaGlzIGlzIHRoZSBzZWNvbmQgc2Vu
dGVuY2UuIEFuZCB0aGlzIHRoZSB0aGlyZC4nLz48L2JvZHk+PC9odG1sPiI7CkBAIC00NTMsNiAr
NDU1LDQwIEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJraXRBdGtHZXRUZXh0QXRPZmZzZXRUZXh0SW5w
dXQoKQogICAgIGdfb2JqZWN0X3VucmVmKHdlYlZpZXcpOwogfQogCitzdGF0aWMgdm9pZCB0ZXN0
V2Via2l0QXRrR2V0VGV4dEF0T2Zmc2V0V2l0aFNwZWNpYWxDaGFyYWN0ZXJzKCkKK3sKKyAgICBX
ZWJLaXRXZWJWaWV3KiB3ZWJWaWV3ID0gV0VCS0lUX1dFQl9WSUVXKHdlYmtpdF93ZWJfdmlld19u
ZXcoKSk7CisgICAgZ19vYmplY3RfcmVmX3Npbmsod2ViVmlldyk7CisgICAgR3RrQWxsb2NhdGlv
biBhbGxvY2F0aW9uID0geyAwLCAwLCA4MDAsIDYwMCB9OworICAgIGd0a193aWRnZXRfc2l6ZV9h
bGxvY2F0ZShHVEtfV0lER0VUKHdlYlZpZXcpLCAmYWxsb2NhdGlvbik7CisgICAgd2Via2l0X3dl
Yl92aWV3X2xvYWRfc3RyaW5nKHdlYlZpZXcsIGNvbnRlbnRzV2l0aFNwZWNpYWxDaGFycywgMCwg
MCwgMCk7CisKKyAgICAvKiBXYWl0IGZvciB0aGUgYWNjZXNzaWJsZSBvYmplY3RzIHRvIGJlIGNy
ZWF0ZWQuICovCisgICAgd2FpdEZvckFjY2Vzc2libGVPYmplY3RzKCk7CisKKyAgICAvKiBHZXQg
dG8gdGhlIGlubmVyIEF0a1RleHQgb2JqZWN0LiAqLworICAgIEF0a09iamVjdCogb2JqZWN0ID0g
Z3RrX3dpZGdldF9nZXRfYWNjZXNzaWJsZShHVEtfV0lER0VUKHdlYlZpZXcpKTsKKyAgICBnX2Fz
c2VydChvYmplY3QpOworICAgIG9iamVjdCA9IGF0a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hp
bGQob2JqZWN0LCAwKTsKKyAgICBnX2Fzc2VydChvYmplY3QpOworCisgICAgQXRrVGV4dCogdGV4
dE9iamVjdCA9IEFUS19URVhUKG9iamVjdCk7CisgICAgZ19hc3NlcnQoQVRLX0lTX1RFWFQodGV4
dE9iamVjdCkpOworCisgICAgY29uc3QgZ2NoYXIqIGV4cGVjdGVkVGV4dCA9ICJcMzAyXDI1M1wz
MDJcMjQwVGhpcyBpcyBhIHBhcmFncmFwaCB3aXRoIFwzNDJcMjAwXDIzNHNwZWNpYWxcMzQyXDIw
MFwyMzUgY2hhcmFjdGVycyBpbnNpZGUuXDMwMlwyNDBcMzAyXDI3MyI7CisgICAgY2hhciogdGV4
dCA9IGF0a190ZXh0X2dldF90ZXh0KHRleHRPYmplY3QsIDAsIC0xKTsKKyAgICBnX2Fzc2VydF9j
bXBzdHIodGV4dCwgPT0sIGV4cGVjdGVkVGV4dCk7CisgICAgZ19mcmVlKHRleHQpOworCisgICAg
LyogQ2hlY2sgdGhhdCBnZXR0aW5nIHRoZSB0ZXh0IHdpdGggQVRLX1RFWFRfQk9VTkRBUllfTElO
RV9TVEFSVAorICAgICAgIGFuZCBBVEtfVEVYVF9CT1VOREFSWV9MSU5FX0VORCBkb2VzIG5vdCBj
cmFzaCBiZWNhdXNlIG9mIG5vdAorICAgICAgIHByb3Blcmx5IGhhbmRsaW5nIGNoYXJhY3RlcnMg
aW5zaWRlIHRoZSBVVEYtOCBzdHJpbmcuICovCisgICAgdGVzdEdldFRleHRGdW5jdGlvbih0ZXh0
T2JqZWN0LCBhdGtfdGV4dF9nZXRfdGV4dF9hdF9vZmZzZXQsIEFUS19URVhUX0JPVU5EQVJZX0xJ
TkVfU1RBUlQsIDAsIGV4cGVjdGVkVGV4dCwgMCwgNTcpOworICAgIHRlc3RHZXRUZXh0RnVuY3Rp
b24odGV4dE9iamVjdCwgYXRrX3RleHRfZ2V0X3RleHRfYXRfb2Zmc2V0LCBBVEtfVEVYVF9CT1VO
REFSWV9MSU5FX0VORCwgMCwgZXhwZWN0ZWRUZXh0LCAwLCA1Nyk7CisKKyAgICBnX29iamVjdF91
bnJlZih3ZWJWaWV3KTsKK30KKwogc3RhdGljIHZvaWQgdGVzdFdlYmtpdEF0a0dldFRleHRJblBh
cmFncmFwaEFuZEJvZHlTaW1wbGUoKQogewogICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSBX
RUJLSVRfV0VCX1ZJRVcod2Via2l0X3dlYl92aWV3X25ldygpKTsKQEAgLTEzMjAsNiArMTM1Niw3
IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKICAgICBnX3Rlc3RfYWRkX2Z1bmMo
Ii93ZWJraXQvYXRrL2dldFRleHRBdE9mZnNldE5ld2xpbmVzIiwgdGVzdFdlYmtpdEF0a0dldFRl
eHRBdE9mZnNldE5ld2xpbmVzKTsKICAgICBnX3Rlc3RfYWRkX2Z1bmMoIi93ZWJraXQvYXRrL2dl
dFRleHRBdE9mZnNldFRleHRhcmVhIiwgdGVzdFdlYmtpdEF0a0dldFRleHRBdE9mZnNldFRleHRh
cmVhKTsKICAgICBnX3Rlc3RfYWRkX2Z1bmMoIi93ZWJraXQvYXRrL2dldFRleHRBdE9mZnNldFRl
eHRJbnB1dCIsIHRlc3RXZWJraXRBdGtHZXRUZXh0QXRPZmZzZXRUZXh0SW5wdXQpOworICAgIGdf
dGVzdF9hZGRfZnVuYygiL3dlYmtpdC9hdGsvZ2V0VGV4dEF0T2Zmc2V0V2l0aFNwZWNpYWxDaGFy
YWN0ZXJzIiwgdGVzdFdlYmtpdEF0a0dldFRleHRBdE9mZnNldFdpdGhTcGVjaWFsQ2hhcmFjdGVy
cyk7CiAgICAgZ190ZXN0X2FkZF9mdW5jKCIvd2Via2l0L2F0ay9nZXRUZXh0SW5QYXJhZ3JhcGhB
bmRCb2R5U2ltcGxlIiwgdGVzdFdlYmtpdEF0a0dldFRleHRJblBhcmFncmFwaEFuZEJvZHlTaW1w
bGUpOwogICAgIGdfdGVzdF9hZGRfZnVuYygiL3dlYmtpdC9hdGsvZ2V0VGV4dEluUGFyYWdyYXBo
QW5kQm9keU1vZGVyYXRlIiwgdGVzdFdlYmtpdEF0a0dldFRleHRJblBhcmFncmFwaEFuZEJvZHlN
b2RlcmF0ZSk7CiAgICAgZ190ZXN0X2FkZF9mdW5jKCIvd2Via2l0L2F0ay9nZXRUZXh0SW5UYWJs
ZSIsIHRlc3RXZWJraXRBdGtHZXRUZXh0SW5UYWJsZSk7Ci0tIAoxLjcuMy40Cgo=
</data>
<flag name="review"
          id="71705"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>