<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://jogamp.org/bugzilla/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.2"
          urlbase="https://jogamp.org/bugzilla/"
          
          maintainer="sgothel@jausoft.com"
>

    <bug>
          <bug_id>210</bug_id>
          
          <creation_ts>2006-03-22 02:14:54 +0100</creation_ts>
          <short_desc>Crashes on Mac OS X related to GLWorkerThread</short_desc>
          <delta_ts>2010-03-24 07:48:34 +0100</delta_ts>
          <reporter_accessible>0</reporter_accessible>
          <cclist_accessible>0</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Jogl</product>
          <component>core</component>
          <version>1</version>
          <rep_platform>All</rep_platform>
          <op_sys>all</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sven Gothel">sgothel</reporter>
          <assigned_to name="Sven Gothel">sgothel</assigned_to>
          
          
          <cf_type>DEFECT</cf_type>
          <cf_scm_refs></cf_scm_refs>
          <cf_workaround>---</cf_workaround>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>226</commentid>
    <comment_count>0</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2010-03-24 07:48:34 +0100</bug_when>
    <thetext>


---- Reported by kbr 2006-03-22 14:14:54 ----

http://www.javagaming.org/forums/index.php?topic=12834.0 contains a test case causing crashes on OS 
X 10.4.5 when the JSplitPane is resized. The problem appears to be due to the introduction of the 
GLWorkerThread and possibly the new locking protocol implemented in the on-screen GLContext 
implementations.



---- Additional Comments From kbr 2006-03-22 14:15:25 ----

Created an attachment
Test case illustrating crash




---- Additional Comments From kbr 2006-03-22 14:19:04 ----

Worked around crashes related to introduction of GLWorkerThread by
switching back to using the AWT event dispatch thread to perform all
OpenGL work on Mac OS X. It is possible that there are deeper
underlying bugs in the new locking protocol for on-screen GLContext
implementations and that a more correct fix can be found in the future.




--- Bug imported by sgothel@jausoft.com 2010-03-24 07:48 EDT  ---

This bug was previously known as _bug_ 210 at https://jogl.dev.java.net/bugs/show_bug.cgi?id=210
Imported an attachment (id=76)

The original submitter of attachment 76 is unknown.
   Reassigning to the person who moved it here: sgothel@jausoft.com.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>76</attachid>
            <date>2006-03-22 14:15:00 +0100</date>
            <delta_ts>2006-03-22 14:15:00 +0100</delta_ts>
            <desc>Test case illustrating crash</desc>
            <filename>Main.java</filename>
            <type>application/msword</type>
            <size>11791</size>
            <attacher name="Sven Gothel">sgothel</attacher>
            
              <data encoding="base64">CmltcG9ydCBqYXZhLmF3dC5EaW1lbnNpb247CmltcG9ydCBqYXZhLmF3dC5ldmVudC5Nb3VzZUV2
ZW50OwppbXBvcnQgamF2YS5hd3QuZXZlbnQuTW91c2VMaXN0ZW5lcjsKaW1wb3J0IGphdmEuYXd0
LmV2ZW50Lk1vdXNlTW90aW9uTGlzdGVuZXI7CmltcG9ydCBqYXZhLmF3dC5ldmVudC5XaW5kb3dB
ZGFwdGVyOwppbXBvcnQgamF2YS5hd3QuZXZlbnQuV2luZG93RXZlbnQ7CgppbXBvcnQgamF2YXgu
bWVkaWEub3BlbmdsLkdMOwppbXBvcnQgamF2YXgubWVkaWEub3BlbmdsLkdMQXV0b0RyYXdhYmxl
OwppbXBvcnQgamF2YXgubWVkaWEub3BlbmdsLkdMQ2FudmFzOwppbXBvcnQgamF2YXgubWVkaWEu
b3BlbmdsLkdMRXZlbnRMaXN0ZW5lcjsKaW1wb3J0IGphdmF4Lm1lZGlhLm9wZW5nbC5HTEpQYW5l
bDsKaW1wb3J0IGphdmF4LnN3aW5nLkpGcmFtZTsKaW1wb3J0IGphdmF4LnN3aW5nLkpQYW5lbDsK
aW1wb3J0IGphdmF4LnN3aW5nLkpTcGxpdFBhbmU7CgppbXBvcnQgY29tLnN1bi5vcGVuZ2wudXRp
bC5BbmltYXRvcjsKCi8qKgogKiBHZWFycy5qYXZhIDxCUj4KICogYXV0aG9yOiBCcmlhbiBQYXVs
IChjb252ZXJ0ZWQgdG8gSmF2YSBieSBSb24gQ2VtZXIgYW5kIFN2ZW4gR29ldGhlbCkgPFA+CiAq
CiAqIFRoaXMgdmVyc2lvbiBpcyBlcXVhbCB0byBCcmlhbiBQYXVsJ3MgdmVyc2lvbiAxLjIgMTk5
OS8xMC8yMQogKi8KCnB1YmxpYyBjbGFzcyBNYWluIGltcGxlbWVudHMgR0xFdmVudExpc3RlbmVy
LCBNb3VzZUxpc3RlbmVyLCBNb3VzZU1vdGlvbkxpc3RlbmVyewogIHB1YmxpYyBzdGF0aWMgdm9p
ZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgIEpGcmFtZSBmcmFtZSA9IG5ldyBKRnJhbWUoIkdl
YXIgRGVtbyIpOwogICAgSlNwbGl0UGFuZSBwYW5lID0gbmV3IEpTcGxpdFBhbmUoKTsKICAgIGZy
YW1lLmdldENvbnRlbnRQYW5lKCkuYWRkKHBhbmUpOwogICAgCiAgICBHTENhbnZhcyBjYW52YXMg
PSBuZXcgR0xDYW52YXMoKTsKICAgIC8vICAgIEpQYW5lbCBjYW52YXNQYW5lbCA9IG5ldyBKUGFu
ZWwoKTsKCQogICAgLy8JY2FudmFzUGFuZWwuYWRkKGNhbnZhcyk7CiAgICAKICAgIHBhbmUuc2V0
TGVmdENvbXBvbmVudChuZXcgSlBhbmVsKCkpOwogICAgLy8gICAgcGFuZS5zZXRSaWdodENvbXBv
bmVudChjYW52YXNQYW5lbCk7CiAgICBwYW5lLnNldFJpZ2h0Q29tcG9uZW50KGNhbnZhcyk7CiAg
ICBjYW52YXMuYWRkR0xFdmVudExpc3RlbmVyKG5ldyBNYWluKCkpOwogICAgZnJhbWUuc2V0U2l6
ZSgzMDAsIDMwMCk7CiAgICAKICAgIGZpbmFsIEFuaW1hdG9yIGFuaW1hdG9yID0gbmV3IEFuaW1h
dG9yKGNhbnZhcyk7CiAgICBmcmFtZS5hZGRXaW5kb3dMaXN0ZW5lcihuZXcgV2luZG93QWRhcHRl
cigpIHsKICAgICAgICBwdWJsaWMgdm9pZCB3aW5kb3dDbG9zaW5nKFdpbmRvd0V2ZW50IGUpIHsK
ICAgICAgICAgIC8vIFJ1biB0aGlzIG9uIGFub3RoZXIgdGhyZWFkIHRoYW4gdGhlIEFXVCBldmVu
dCBxdWV1ZSB0bwogICAgICAgICAgLy8gbWFrZSBzdXJlIHRoZSBjYWxsIHRvIEFuaW1hdG9yLnN0
b3AoKSBjb21wbGV0ZXMgYmVmb3JlCiAgICAgICAgICAvLyBleGl0aW5nCiAgICAgICAgICBuZXcg
VGhyZWFkKG5ldyBSdW5uYWJsZSgpIHsKICAgICAgICAgICAgICBwdWJsaWMgdm9pZCBydW4oKSB7
CiAgICAgICAgICAgICAgICBhbmltYXRvci5zdG9wKCk7CiAgICAgICAgICAgICAgICBTeXN0ZW0u
ZXhpdCgwKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLnN0YXJ0KCk7CiAgICAgICAg
fQogICAgICB9KTsKICAgIGZyYW1lLnNob3coKTsKICAgIGFuaW1hdG9yLnN0YXJ0KCk7CiAgfQoK
ICBwcml2YXRlIGZsb2F0IHZpZXdfcm90eCA9IDIwLjBmLCB2aWV3X3JvdHkgPSAzMC4wZiwgdmll
d19yb3R6ID0gMC4wZjsKICBwcml2YXRlIGludCBnZWFyMSwgZ2VhcjIsIGdlYXIzOwogIHByaXZh
dGUgZmxvYXQgYW5nbGUgPSAwLjBmOwoKICBwcml2YXRlIGludCBwcmV2TW91c2VYLCBwcmV2TW91
c2VZOwogIHByaXZhdGUgYm9vbGVhbiBtb3VzZVJCdXR0b25Eb3duID0gZmFsc2U7CgogIHB1Ymxp
YyB2b2lkIGluaXQoR0xBdXRvRHJhd2FibGUgZHJhd2FibGUpIHsKICAgIC8vIFVzZSBkZWJ1ZyBw
aXBlbGluZQogICAgLy8gZHJhd2FibGUuc2V0R0wobmV3IERlYnVnR0woZHJhd2FibGUuZ2V0R0wo
KSkpOwoKICAgIEdMIGdsID0gZHJhd2FibGUuZ2V0R0woKTsKCiAgICBTeXN0ZW0uZXJyLnByaW50
bG4oIklOSVQgR0wgSVM6ICIgKyBnbC5nZXRDbGFzcygpLmdldE5hbWUoKSk7CgogICAgZ2wuc2V0
U3dhcEludGVydmFsKDEpOwoKICAgIGZsb2F0IHBvc1tdID0geyA1LjBmLCA1LjBmLCAxMC4wZiwg
MC4wZiB9OwogICAgZmxvYXQgcmVkW10gPSB7IDAuOGYsIDAuMWYsIDAuMGYsIDEuMGYgfTsKICAg
IGZsb2F0IGdyZWVuW10gPSB7IDAuMGYsIDAuOGYsIDAuMmYsIDEuMGYgfTsKICAgIGZsb2F0IGJs
dWVbXSA9IHsgMC4yZiwgMC4yZiwgMS4wZiwgMS4wZiB9OwoKICAgIGdsLmdsTGlnaHRmdihHTC5H
TF9MSUdIVDAsIEdMLkdMX1BPU0lUSU9OLCBwb3MsIDApOwogICAgZ2wuZ2xFbmFibGUoR0wuR0xf
Q1VMTF9GQUNFKTsKICAgIGdsLmdsRW5hYmxlKEdMLkdMX0xJR0hUSU5HKTsKICAgIGdsLmdsRW5h
YmxlKEdMLkdMX0xJR0hUMCk7CiAgICBnbC5nbEVuYWJsZShHTC5HTF9ERVBUSF9URVNUKTsKICAg
ICAgICAgICAgCiAgICAvKiBtYWtlIHRoZSBnZWFycyAqLwogICAgZ2VhcjEgPSBnbC5nbEdlbkxp
c3RzKDEpOwogICAgZ2wuZ2xOZXdMaXN0KGdlYXIxLCBHTC5HTF9DT01QSUxFKTsKICAgIGdsLmds
TWF0ZXJpYWxmdihHTC5HTF9GUk9OVCwgR0wuR0xfQU1CSUVOVF9BTkRfRElGRlVTRSwgcmVkLCAw
KTsKICAgIGdlYXIoZ2wsIDEuMGYsIDQuMGYsIDEuMGYsIDIwLCAwLjdmKTsKICAgIGdsLmdsRW5k
TGlzdCgpOwogICAgICAgICAgICAKICAgIGdlYXIyID0gZ2wuZ2xHZW5MaXN0cygxKTsKICAgIGds
LmdsTmV3TGlzdChnZWFyMiwgR0wuR0xfQ09NUElMRSk7CiAgICBnbC5nbE1hdGVyaWFsZnYoR0wu
R0xfRlJPTlQsIEdMLkdMX0FNQklFTlRfQU5EX0RJRkZVU0UsIGdyZWVuLCAwKTsKICAgIGdlYXIo
Z2wsIDAuNWYsIDIuMGYsIDIuMGYsIDEwLCAwLjdmKTsKICAgIGdsLmdsRW5kTGlzdCgpOwogICAg
ICAgICAgICAKICAgIGdlYXIzID0gZ2wuZ2xHZW5MaXN0cygxKTsKICAgIGdsLmdsTmV3TGlzdChn
ZWFyMywgR0wuR0xfQ09NUElMRSk7CiAgICBnbC5nbE1hdGVyaWFsZnYoR0wuR0xfRlJPTlQsIEdM
LkdMX0FNQklFTlRfQU5EX0RJRkZVU0UsIGJsdWUsIDApOwogICAgZ2VhcihnbCwgMS4zZiwgMi4w
ZiwgMC41ZiwgMTAsIDAuN2YpOwogICAgZ2wuZ2xFbmRMaXN0KCk7CiAgICAgICAgICAgIAogICAg
Z2wuZ2xFbmFibGUoR0wuR0xfTk9STUFMSVpFKTsKICAgICAgICAgICAgICAgIAogICAgZHJhd2Fi
bGUuYWRkTW91c2VMaXN0ZW5lcih0aGlzKTsKICAgIGRyYXdhYmxlLmFkZE1vdXNlTW90aW9uTGlz
dGVuZXIodGhpcyk7CiAgfQogICAgCiAgcHVibGljIHZvaWQgcmVzaGFwZShHTEF1dG9EcmF3YWJs
ZSBkcmF3YWJsZSwgaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKICAgIEdM
IGdsID0gZHJhd2FibGUuZ2V0R0woKTsKCiAgICBmbG9hdCBoID0gKGZsb2F0KWhlaWdodCAvIChm
bG9hdCl3aWR0aDsKICAgICAgICAgICAgCiAgICBnbC5nbE1hdHJpeE1vZGUoR0wuR0xfUFJPSkVD
VElPTik7CgogICAgU3lzdGVtLmVyci5wcmludGxuKCJHTF9WRU5ET1I6ICIgKyBnbC5nbEdldFN0
cmluZyhHTC5HTF9WRU5ET1IpKTsKICAgIFN5c3RlbS5lcnIucHJpbnRsbigiR0xfUkVOREVSRVI6
ICIgKyBnbC5nbEdldFN0cmluZyhHTC5HTF9SRU5ERVJFUikpOwogICAgU3lzdGVtLmVyci5wcmlu
dGxuKCJHTF9WRVJTSU9OOiAiICsgZ2wuZ2xHZXRTdHJpbmcoR0wuR0xfVkVSU0lPTikpOwogICAg
Z2wuZ2xMb2FkSWRlbnRpdHkoKTsKICAgIGdsLmdsRnJ1c3R1bSgtMS4wZiwgMS4wZiwgLWgsIGgs
IDUuMGYsIDYwLjBmKTsKICAgIGdsLmdsTWF0cml4TW9kZShHTC5HTF9NT0RFTFZJRVcpOwogICAg
Z2wuZ2xMb2FkSWRlbnRpdHkoKTsKICAgIGdsLmdsVHJhbnNsYXRlZigwLjBmLCAwLjBmLCAtNDAu
MGYpOwogIH0KCiAgcHVibGljIHZvaWQgZGlzcGxheShHTEF1dG9EcmF3YWJsZSBkcmF3YWJsZSkg
ewogICAgYW5nbGUgKz0gMi4wZjsKCiAgICBHTCBnbCA9IGRyYXdhYmxlLmdldEdMKCk7CiAgICBp
ZiAoKGRyYXdhYmxlIGluc3RhbmNlb2YgR0xKUGFuZWwpICYmCiAgICAgICAgISgoR0xKUGFuZWwp
IGRyYXdhYmxlKS5pc09wYXF1ZSgpICYmCiAgICAgICAgKChHTEpQYW5lbCkgZHJhd2FibGUpLnNo
b3VsZFByZXNlcnZlQ29sb3JCdWZmZXJJZlRyYW5zbHVjZW50KCkpIHsKICAgICAgZ2wuZ2xDbGVh
cihHTC5HTF9ERVBUSF9CVUZGRVJfQklUKTsKICAgIH0gZWxzZSB7CiAgICAgIGdsLmdsQ2xlYXIo
R0wuR0xfQ09MT1JfQlVGRkVSX0JJVCB8IEdMLkdMX0RFUFRIX0JVRkZFUl9CSVQpOwogICAgfQog
ICAgICAgICAgICAKICAgIGdsLmdsUHVzaE1hdHJpeCgpOwogICAgZ2wuZ2xSb3RhdGVmKHZpZXdf
cm90eCwgMS4wZiwgMC4wZiwgMC4wZik7CiAgICBnbC5nbFJvdGF0ZWYodmlld19yb3R5LCAwLjBm
LCAxLjBmLCAwLjBmKTsKICAgIGdsLmdsUm90YXRlZih2aWV3X3JvdHosIDAuMGYsIDAuMGYsIDEu
MGYpOwogICAgICAgICAgICAKICAgIGdsLmdsUHVzaE1hdHJpeCgpOwogICAgZ2wuZ2xUcmFuc2xh
dGVmKC0zLjBmLCAtMi4wZiwgMC4wZik7CiAgICBnbC5nbFJvdGF0ZWYoYW5nbGUsIDAuMGYsIDAu
MGYsIDEuMGYpOwogICAgZ2wuZ2xDYWxsTGlzdChnZWFyMSk7CiAgICBnbC5nbFBvcE1hdHJpeCgp
OwogICAgICAgICAgICAKICAgIGdsLmdsUHVzaE1hdHJpeCgpOwogICAgZ2wuZ2xUcmFuc2xhdGVm
KDMuMWYsIC0yLjBmLCAwLjBmKTsKICAgIGdsLmdsUm90YXRlZigtMi4wZiAqIGFuZ2xlIC0gOS4w
ZiwgMC4wZiwgMC4wZiwgMS4wZik7CiAgICBnbC5nbENhbGxMaXN0KGdlYXIyKTsKICAgIGdsLmds
UG9wTWF0cml4KCk7CiAgICAgICAgICAgIAogICAgZ2wuZ2xQdXNoTWF0cml4KCk7CiAgICBnbC5n
bFRyYW5zbGF0ZWYoLTMuMWYsIDQuMmYsIDAuMGYpOwogICAgZ2wuZ2xSb3RhdGVmKC0yLjBmICog
YW5nbGUgLSAyNS4wZiwgMC4wZiwgMC4wZiwgMS4wZik7CiAgICBnbC5nbENhbGxMaXN0KGdlYXIz
KTsKICAgIGdsLmdsUG9wTWF0cml4KCk7CiAgICAgICAgICAgIAogICAgZ2wuZ2xQb3BNYXRyaXgo
KTsKICB9CgogIHB1YmxpYyB2b2lkIGRpc3BsYXlDaGFuZ2VkKEdMQXV0b0RyYXdhYmxlIGRyYXdh
YmxlLCBib29sZWFuIG1vZGVDaGFuZ2VkLCBib29sZWFuIGRldmljZUNoYW5nZWQpIHt9CgogIHB1
YmxpYyBzdGF0aWMgdm9pZCBnZWFyKEdMIGdsLAogICAgICAgICAgICAgICAgICAgICAgICAgIGZs
b2F0IGlubmVyX3JhZGl1cywKICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCBvdXRlcl9y
YWRpdXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgd2lkdGgsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHRlZXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0
IHRvb3RoX2RlcHRoKQogIHsKICAgIGludCBpOwogICAgZmxvYXQgcjAsIHIxLCByMjsKICAgIGZs
b2F0IGFuZ2xlLCBkYTsKICAgIGZsb2F0IHUsIHYsIGxlbjsKCiAgICByMCA9IGlubmVyX3JhZGl1
czsKICAgIHIxID0gb3V0ZXJfcmFkaXVzIC0gdG9vdGhfZGVwdGggLyAyLjBmOwogICAgcjIgPSBv
dXRlcl9yYWRpdXMgKyB0b290aF9kZXB0aCAvIDIuMGY7CiAgICAgICAgICAgIAogICAgZGEgPSAy
LjBmICogKGZsb2F0KSBNYXRoLlBJIC8gdGVldGggLyA0LjBmOwogICAgICAgICAgICAKICAgIGds
LmdsU2hhZGVNb2RlbChHTC5HTF9GTEFUKTsKCiAgICBnbC5nbE5vcm1hbDNmKDAuMGYsIDAuMGYs
IDEuMGYpOwoKICAgIC8qIGRyYXcgZnJvbnQgZmFjZSAqLwogICAgZ2wuZ2xCZWdpbihHTC5HTF9R
VUFEX1NUUklQKTsKICAgIGZvciAoaSA9IDA7IGkgPD0gdGVldGg7IGkrKykKICAgICAgewogICAg
ICAgIGFuZ2xlID0gaSAqIDIuMGYgKiAoZmxvYXQpIE1hdGguUEkgLyB0ZWV0aDsKICAgICAgICBn
bC5nbFZlcnRleDNmKHIwICogKGZsb2F0KU1hdGguY29zKGFuZ2xlKSwgcjAgKiAoZmxvYXQpTWF0
aC5zaW4oYW5nbGUpLCB3aWR0aCAqIDAuNWYpOwogICAgICAgIGdsLmdsVmVydGV4M2YocjEgKiAo
ZmxvYXQpTWF0aC5jb3MoYW5nbGUpLCByMSAqIChmbG9hdClNYXRoLnNpbihhbmdsZSksIHdpZHRo
ICogMC41Zik7CiAgICAgICAgaWYoaSA8IHRlZXRoKQogICAgICAgICAgewogICAgICAgICAgICBn
bC5nbFZlcnRleDNmKHIwICogKGZsb2F0KU1hdGguY29zKGFuZ2xlKSwgcjAgKiAoZmxvYXQpTWF0
aC5zaW4oYW5nbGUpLCB3aWR0aCAqIDAuNWYpOwogICAgICAgICAgICBnbC5nbFZlcnRleDNmKHIx
ICogKGZsb2F0KU1hdGguY29zKGFuZ2xlICsgMy4wZiAqIGRhKSwgcjEgKiAoZmxvYXQpTWF0aC5z
aW4oYW5nbGUgKyAzLjBmICogZGEpLCB3aWR0aCAqIDAuNWYpOwogICAgICAgICAgfQogICAgICB9
CiAgICBnbC5nbEVuZCgpOwoKICAgIC8qIGRyYXcgZnJvbnQgc2lkZXMgb2YgdGVldGggKi8KICAg
IGdsLmdsQmVnaW4oR0wuR0xfUVVBRFMpOwogICAgZm9yIChpID0gMDsgaSA8IHRlZXRoOyBpKysp
CiAgICAgIHsKICAgICAgICBhbmdsZSA9IGkgKiAyLjBmICogKGZsb2F0KSBNYXRoLlBJIC8gdGVl
dGg7CiAgICAgICAgZ2wuZ2xWZXJ0ZXgzZihyMSAqIChmbG9hdClNYXRoLmNvcyhhbmdsZSksIHIx
ICogKGZsb2F0KU1hdGguc2luKGFuZ2xlKSwgd2lkdGggKiAwLjVmKTsKICAgICAgICBnbC5nbFZl
cnRleDNmKHIyICogKGZsb2F0KU1hdGguY29zKGFuZ2xlICsgZGEpLCByMiAqIChmbG9hdClNYXRo
LnNpbihhbmdsZSArIGRhKSwgd2lkdGggKiAwLjVmKTsKICAgICAgICBnbC5nbFZlcnRleDNmKHIy
ICogKGZsb2F0KU1hdGguY29zKGFuZ2xlICsgMi4wZiAqIGRhKSwgcjIgKiAoZmxvYXQpTWF0aC5z
aW4oYW5nbGUgKyAyLjBmICogZGEpLCB3aWR0aCAqIDAuNWYpOwogICAgICAgIGdsLmdsVmVydGV4
M2YocjEgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUgKyAzLjBmICogZGEpLCByMSAqIChmbG9hdClN
YXRoLnNpbihhbmdsZSArIDMuMGYgKiBkYSksIHdpZHRoICogMC41Zik7CiAgICAgIH0KICAgIGds
LmdsRW5kKCk7CiAgICAKICAgIC8qIGRyYXcgYmFjayBmYWNlICovCiAgICBnbC5nbEJlZ2luKEdM
LkdMX1FVQURfU1RSSVApOwogICAgZm9yIChpID0gMDsgaSA8PSB0ZWV0aDsgaSsrKQogICAgICB7
CiAgICAgICAgYW5nbGUgPSBpICogMi4wZiAqIChmbG9hdCkgTWF0aC5QSSAvIHRlZXRoOwogICAg
ICAgIGdsLmdsVmVydGV4M2YocjEgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUpLCByMSAqIChmbG9h
dClNYXRoLnNpbihhbmdsZSksIC13aWR0aCAqIDAuNWYpOwogICAgICAgIGdsLmdsVmVydGV4M2Yo
cjAgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUpLCByMCAqIChmbG9hdClNYXRoLnNpbihhbmdsZSks
IC13aWR0aCAqIDAuNWYpOwogICAgICAgIGdsLmdsVmVydGV4M2YocjEgKiAoZmxvYXQpTWF0aC5j
b3MoYW5nbGUgKyAzICogZGEpLCByMSAqIChmbG9hdClNYXRoLnNpbihhbmdsZSArIDMgKiBkYSks
IC13aWR0aCAqIDAuNWYpOwogICAgICAgIGdsLmdsVmVydGV4M2YocjAgKiAoZmxvYXQpTWF0aC5j
b3MoYW5nbGUpLCByMCAqIChmbG9hdClNYXRoLnNpbihhbmdsZSksIC13aWR0aCAqIDAuNWYpOwog
ICAgICB9CiAgICBnbC5nbEVuZCgpOwogICAgCiAgICAvKiBkcmF3IGJhY2sgc2lkZXMgb2YgdGVl
dGggKi8KICAgIGdsLmdsQmVnaW4oR0wuR0xfUVVBRFMpOwogICAgZm9yIChpID0gMDsgaSA8IHRl
ZXRoOyBpKyspCiAgICAgIHsKICAgICAgICBhbmdsZSA9IGkgKiAyLjBmICogKGZsb2F0KSBNYXRo
LlBJIC8gdGVldGg7CiAgICAgICAgZ2wuZ2xWZXJ0ZXgzZihyMSAqIChmbG9hdClNYXRoLmNvcyhh
bmdsZSArIDMgKiBkYSksIHIxICogKGZsb2F0KU1hdGguc2luKGFuZ2xlICsgMyAqIGRhKSwgLXdp
ZHRoICogMC41Zik7CiAgICAgICAgZ2wuZ2xWZXJ0ZXgzZihyMiAqIChmbG9hdClNYXRoLmNvcyhh
bmdsZSArIDIgKiBkYSksIHIyICogKGZsb2F0KU1hdGguc2luKGFuZ2xlICsgMiAqIGRhKSwgLXdp
ZHRoICogMC41Zik7CiAgICAgICAgZ2wuZ2xWZXJ0ZXgzZihyMiAqIChmbG9hdClNYXRoLmNvcyhh
bmdsZSArIGRhKSwgcjIgKiAoZmxvYXQpTWF0aC5zaW4oYW5nbGUgKyBkYSksIC13aWR0aCAqIDAu
NWYpOwogICAgICAgIGdsLmdsVmVydGV4M2YocjEgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUpLCBy
MSAqIChmbG9hdClNYXRoLnNpbihhbmdsZSksIC13aWR0aCAqIDAuNWYpOwogICAgICB9CiAgICBn
bC5nbEVuZCgpOwogICAgCiAgICAvKiBkcmF3IG91dHdhcmQgZmFjZXMgb2YgdGVldGggKi8KICAg
IGdsLmdsQmVnaW4oR0wuR0xfUVVBRF9TVFJJUCk7CiAgICBmb3IgKGkgPSAwOyBpIDwgdGVldGg7
IGkrKykKICAgICAgewogICAgICAgIGFuZ2xlID0gaSAqIDIuMGYgKiAoZmxvYXQpIE1hdGguUEkg
LyB0ZWV0aDsKICAgICAgICBnbC5nbFZlcnRleDNmKHIxICogKGZsb2F0KU1hdGguY29zKGFuZ2xl
KSwgcjEgKiAoZmxvYXQpTWF0aC5zaW4oYW5nbGUpLCB3aWR0aCAqIDAuNWYpOwogICAgICAgIGds
LmdsVmVydGV4M2YocjEgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUpLCByMSAqIChmbG9hdClNYXRo
LnNpbihhbmdsZSksIC13aWR0aCAqIDAuNWYpOwogICAgICAgIHUgPSByMiAqIChmbG9hdClNYXRo
LmNvcyhhbmdsZSArIGRhKSAtIHIxICogKGZsb2F0KU1hdGguY29zKGFuZ2xlKTsKICAgICAgICB2
ID0gcjIgKiAoZmxvYXQpTWF0aC5zaW4oYW5nbGUgKyBkYSkgLSByMSAqIChmbG9hdClNYXRoLnNp
bihhbmdsZSk7CiAgICAgICAgbGVuID0gKGZsb2F0KU1hdGguc3FydCh1ICogdSArIHYgKiB2KTsK
ICAgICAgICB1IC89IGxlbjsKICAgICAgICB2IC89IGxlbjsKICAgICAgICBnbC5nbE5vcm1hbDNm
KHYsIC11LCAwLjBmKTsKICAgICAgICBnbC5nbFZlcnRleDNmKHIyICogKGZsb2F0KU1hdGguY29z
KGFuZ2xlICsgZGEpLCByMiAqIChmbG9hdClNYXRoLnNpbihhbmdsZSArIGRhKSwgd2lkdGggKiAw
LjVmKTsKICAgICAgICBnbC5nbFZlcnRleDNmKHIyICogKGZsb2F0KU1hdGguY29zKGFuZ2xlICsg
ZGEpLCByMiAqIChmbG9hdClNYXRoLnNpbihhbmdsZSArIGRhKSwgLXdpZHRoICogMC41Zik7CiAg
ICAgICAgZ2wuZ2xOb3JtYWwzZigoZmxvYXQpTWF0aC5jb3MoYW5nbGUpLCAoZmxvYXQpTWF0aC5z
aW4oYW5nbGUpLCAwLjBmKTsKICAgICAgICBnbC5nbFZlcnRleDNmKHIyICogKGZsb2F0KU1hdGgu
Y29zKGFuZ2xlICsgMiAqIGRhKSwgcjIgKiAoZmxvYXQpTWF0aC5zaW4oYW5nbGUgKyAyICogZGEp
LCB3aWR0aCAqIDAuNWYpOwogICAgICAgIGdsLmdsVmVydGV4M2YocjIgKiAoZmxvYXQpTWF0aC5j
b3MoYW5nbGUgKyAyICogZGEpLCByMiAqIChmbG9hdClNYXRoLnNpbihhbmdsZSArIDIgKiBkYSks
IC13aWR0aCAqIDAuNWYpOwogICAgICAgIHUgPSByMSAqIChmbG9hdClNYXRoLmNvcyhhbmdsZSAr
IDMgKiBkYSkgLSByMiAqIChmbG9hdClNYXRoLmNvcyhhbmdsZSArIDIgKiBkYSk7CiAgICAgICAg
diA9IHIxICogKGZsb2F0KU1hdGguc2luKGFuZ2xlICsgMyAqIGRhKSAtIHIyICogKGZsb2F0KU1h
dGguc2luKGFuZ2xlICsgMiAqIGRhKTsKICAgICAgICBnbC5nbE5vcm1hbDNmKHYsIC11LCAwLjBm
KTsKICAgICAgICBnbC5nbFZlcnRleDNmKHIxICogKGZsb2F0KU1hdGguY29zKGFuZ2xlICsgMyAq
IGRhKSwgcjEgKiAoZmxvYXQpTWF0aC5zaW4oYW5nbGUgKyAzICogZGEpLCB3aWR0aCAqIDAuNWYp
OwogICAgICAgIGdsLmdsVmVydGV4M2YocjEgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUgKyAzICog
ZGEpLCByMSAqIChmbG9hdClNYXRoLnNpbihhbmdsZSArIDMgKiBkYSksIC13aWR0aCAqIDAuNWYp
OwogICAgICAgIGdsLmdsTm9ybWFsM2YoKGZsb2F0KU1hdGguY29zKGFuZ2xlKSwgKGZsb2F0KU1h
dGguc2luKGFuZ2xlKSwgMC4wZik7CiAgICAgIH0KICAgIGdsLmdsVmVydGV4M2YocjEgKiAoZmxv
YXQpTWF0aC5jb3MoMCksIHIxICogKGZsb2F0KU1hdGguc2luKDApLCB3aWR0aCAqIDAuNWYpOwog
ICAgZ2wuZ2xWZXJ0ZXgzZihyMSAqIChmbG9hdClNYXRoLmNvcygwKSwgcjEgKiAoZmxvYXQpTWF0
aC5zaW4oMCksIC13aWR0aCAqIDAuNWYpOwogICAgZ2wuZ2xFbmQoKTsKICAgIAogICAgZ2wuZ2xT
aGFkZU1vZGVsKEdMLkdMX1NNT09USCk7CiAgICAKICAgIC8qIGRyYXcgaW5zaWRlIHJhZGl1cyBj
eWxpbmRlciAqLwogICAgZ2wuZ2xCZWdpbihHTC5HTF9RVUFEX1NUUklQKTsKICAgIGZvciAoaSA9
IDA7IGkgPD0gdGVldGg7IGkrKykKICAgICAgewogICAgICAgIGFuZ2xlID0gaSAqIDIuMGYgKiAo
ZmxvYXQpIE1hdGguUEkgLyB0ZWV0aDsKICAgICAgICBnbC5nbE5vcm1hbDNmKC0oZmxvYXQpTWF0
aC5jb3MoYW5nbGUpLCAtKGZsb2F0KU1hdGguc2luKGFuZ2xlKSwgMC4wZik7CiAgICAgICAgZ2wu
Z2xWZXJ0ZXgzZihyMCAqIChmbG9hdClNYXRoLmNvcyhhbmdsZSksIHIwICogKGZsb2F0KU1hdGgu
c2luKGFuZ2xlKSwgLXdpZHRoICogMC41Zik7CiAgICAgICAgZ2wuZ2xWZXJ0ZXgzZihyMCAqIChm
bG9hdClNYXRoLmNvcyhhbmdsZSksIHIwICogKGZsb2F0KU1hdGguc2luKGFuZ2xlKSwgd2lkdGgg
KiAwLjVmKTsKICAgICAgfQogICAgZ2wuZ2xFbmQoKTsKICB9CgogIC8vIE1ldGhvZHMgcmVxdWly
ZWQgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBNb3VzZUxpc3RlbmVyCiAgcHVibGljIHZvaWQg
bW91c2VFbnRlcmVkKE1vdXNlRXZlbnQgZSkge30KICBwdWJsaWMgdm9pZCBtb3VzZUV4aXRlZChN
b3VzZUV2ZW50IGUpIHt9CgogIHB1YmxpYyB2b2lkIG1vdXNlUHJlc3NlZChNb3VzZUV2ZW50IGUp
IHsKICAgIHByZXZNb3VzZVggPSBlLmdldFgoKTsKICAgIHByZXZNb3VzZVkgPSBlLmdldFkoKTsK
ICAgIGlmICgoZS5nZXRNb2RpZmllcnMoKSAmIGUuQlVUVE9OM19NQVNLKSAhPSAwKSB7CiAgICAg
IG1vdXNlUkJ1dHRvbkRvd24gPSB0cnVlOwogICAgfQogIH0KICAgIAogIHB1YmxpYyB2b2lkIG1v
dXNlUmVsZWFzZWQoTW91c2VFdmVudCBlKSB7CiAgICBpZiAoKGUuZ2V0TW9kaWZpZXJzKCkgJiBl
LkJVVFRPTjNfTUFTSykgIT0gMCkgewogICAgICBtb3VzZVJCdXR0b25Eb3duID0gZmFsc2U7CiAg
ICB9CiAgfQogICAgCiAgcHVibGljIHZvaWQgbW91c2VDbGlja2VkKE1vdXNlRXZlbnQgZSkge30K
ICAgIAogIC8vIE1ldGhvZHMgcmVxdWlyZWQgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBNb3Vz
ZU1vdGlvbkxpc3RlbmVyCiAgcHVibGljIHZvaWQgbW91c2VEcmFnZ2VkKE1vdXNlRXZlbnQgZSkg
ewogICAgaW50IHggPSBlLmdldFgoKTsKICAgIGludCB5ID0gZS5nZXRZKCk7CiAgICBEaW1lbnNp
b24gc2l6ZSA9IGUuZ2V0Q29tcG9uZW50KCkuZ2V0U2l6ZSgpOwoKICAgIGZsb2F0IHRoZXRhWSA9
IDM2MC4wZiAqICggKGZsb2F0KSh4LXByZXZNb3VzZVgpLyhmbG9hdClzaXplLndpZHRoKTsKICAg
IGZsb2F0IHRoZXRhWCA9IDM2MC4wZiAqICggKGZsb2F0KShwcmV2TW91c2VZLXkpLyhmbG9hdClz
aXplLmhlaWdodCk7CiAgICAKICAgIHByZXZNb3VzZVggPSB4OwogICAgcHJldk1vdXNlWSA9IHk7
CgogICAgdmlld19yb3R4ICs9IHRoZXRhWDsKICAgIHZpZXdfcm90eSArPSB0aGV0YVk7CiAgfQog
ICAgCiAgcHVibGljIHZvaWQgbW91c2VNb3ZlZChNb3VzZUV2ZW50IGUpIHt9Cn0KCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>