<?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>407</bug_id>
          
          <creation_ts>2010-08-18 14:40:48 +0200</creation_ts>
          <short_desc>Function glTransformFeedbackVaryings incorrectly passes argument</short_desc>
          <delta_ts>2011-02-01 18:09:59 +0100</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Jogl</product>
          <component>opengl</component>
          <version>2</version>
          <rep_platform>All</rep_platform>
          <op_sys>windows</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mateushek</reporter>
          <assigned_to name="Sven Gothel">sgothel</assigned_to>
          
          
          <cf_type>---</cf_type>
          <cf_scm_refs>f01d00bb62b75a9e0c4d2926be7e02449a271de6
6f396500e7f595584c2048cebd553b863c90b3c5</cf_scm_refs>
          <cf_workaround>---</cf_workaround>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>480</commentid>
    <comment_count>0</comment_count>
      <attachid>150</attachid>
    <who name="">mateushek</who>
    <bug_when>2010-08-18 14:40:48 +0200</bug_when>
    <thetext>Created attachment 150
jUnit4 test of the bug

Bug in method: void glTransformFeedbackVaryings(int program, int count, String[] locations, int bufferMode); 

Method usage in attached jUnit test.

GL profile version: 3 core
JOGL version: jogl-b158-2010-08-13_11-02-01

Offending behavior: 
On Windows the method results in shader linking failure. It seems to be incorrectly passing the argument &quot;locations&quot;. 
Expected behavior is that when the specified location name(s) is(are) proper then the linking of shader passes, and when the location(s) is(are) improper then the message in gl info log contains the given name(s).
On Windows (32bit) however the gl info log contains random characters in place where the location name is expected.

Everything works fine on Linux.
Also native C++ code works fine on the same Windows system.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481</commentid>
    <comment_count>1</comment_count>
      <attachid>150</attachid>
    <who name="">mateushek</who>
    <bug_when>2010-08-18 14:49:28 +0200</bug_when>
    <thetext>Comment on attachment 150
jUnit4 test of the bug

wrong imports present</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482</commentid>
    <comment_count>2</comment_count>
      <attachid>151</attachid>
    <who name="">mateushek</who>
    <bug_when>2010-08-18 14:51:02 +0200</bug_when>
    <thetext>Created attachment 151
jUnit4 test of the bug (corrected)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483</commentid>
    <comment_count>3</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2010-08-23 20:02:00 +0200</bug_when>
    <thetext>1st of all - thx for the test case.

I have changed the test case a bit .. and I can reproduce the bug under windows.

Linux - AMD/ATI:

Vertex shader(s) failed to link, no fragment shader(s) defined.

Linux - NVIDIA:

Link info
---------
error: Varying (named PPPosition) specified but not present in the program object.

Windows7 64bit - NVIDIA:

Link info
---------
error: Varying (named ??osition) specified but not present in the program object.

Link info
---------
error: Varying (named ^N) specified but not present in the program object.

So I assume that the glTransformFeedbackVaryings mapping doesn&apos;t work,
probably it&apos;s about the char type usage, ie unicode etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484</commentid>
    <comment_count>4</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2010-08-23 21:17:07 +0200</bug_when>
    <thetext>Tested on windows with skipping releasing the temporary memory,
which holds the array of strings (array=malloc(); GetUTFChars() / ReleaseUTFChars() / free()).

This &apos;works&apos; ..

It seems that the NV driver executes the glTransformFeedbackVaryings()
out of order, ie access the string array after returning the call.
Since we release the temp memory right away, this will cause the observed issue.

Trying with new 258.96_notebook_winvista_win7_64bit_international_whql.exe driver .. same thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586</commentid>
    <comment_count>5</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2010-11-19 04:00:14 +0100</bug_when>
    <thetext>This can still be experienced, see latest linux-x64-nvidia windows-x64-amd tests:

http://jogamp.org/chuck/job/jogl/lastSuccessfulBuild/label=linux-x86_64/testReport/com.jogamp.test.junit.jogl.glsl/TestTransformFeedbackVeryingsBug407NEWT/

http://jogamp.org/chuck/job/jogl/lastSuccessfulBuild/label=windows-x86_64/testReport/com.jogamp.test.junit.jogl.glsl/TestTransformFeedbackVeryingsBug407NEWT/

We may need to investigate this issue in more detail, ie is this really a NV driver bug ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618</commentid>
    <comment_count>6</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2010-11-22 18:28:55 +0100</bug_when>
    <thetext>linux nvidia: ok
windows amd: ok

windows nvidia (notebook 258.96): failure (ok test)
windows nvidia (notebook 260.99): failure (ok test)

reduce priority 1 level, 
since this is a driver bug.

Refined the test case a bit
 f01d00bb62b75a9e0c4d2926be7e02449a271de6
 6f396500e7f595584c2048cebd553b863c90b3c5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805</commentid>
    <comment_count>7</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2011-02-01 18:09:59 +0100</bug_when>
    <thetext>The current unit test don&apos;t show any more failures.
This must have been &apos;solved&apos; in the NV drivers, I guess.

NV/Linux:
https://jogamp.org/chuck/view/fwd/job/jogl/277/label=linux-x86_64/testReport/com.jogamp.opengl.test.junit.jogl.glsl/TestTransformFeedbackVaryingsBug407NEWT/

AMD/Win7:
https://jogamp.org/chuck/view/fwd/job/jogl/277/label=windows-x86_64/testReport/com.jogamp.opengl.test.junit.jogl.glsl/

I also tested NV/Win7 manually, works as well.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>150</attachid>
            <date>2010-08-18 14:40:48 +0200</date>
            <delta_ts>2010-08-18 14:49:28 +0200</delta_ts>
            <desc>jUnit4 test of the bug</desc>
            <filename>TransformFeedbackVeryingsBugTest.java</filename>
            <type>application/octet-stream</type>
            <size>3868</size>
            <attacher>mateushek</attacher>
            
              <data encoding="base64">cGFja2FnZSBpbXBhc3Bhdi5nbHNsOw0KDQppbXBvcnQgamF2YS5pby5CeXRlQXJyYXlPdXRwdXRT
dHJlYW07DQppbXBvcnQgamF2YS5pby5QcmludFN0cmVhbTsNCg0KaW1wb3J0IGltcGFzcGF2LnV0
aWwuTmF0aXZlVXRpbDsNCg0KaW1wb3J0IGphdmF4Lm1lZGlhLm9wZW5nbC5HTDM7DQppbXBvcnQg
amF2YXgubWVkaWEub3BlbmdsLkdMQ2FwYWJpbGl0aWVzOw0KaW1wb3J0IGphdmF4Lm1lZGlhLm9w
ZW5nbC5HTENvbnRleHQ7DQppbXBvcnQgamF2YXgubWVkaWEub3BlbmdsLkdMRHJhd2FibGU7DQpp
bXBvcnQgamF2YXgubWVkaWEub3BlbmdsLkdMRHJhd2FibGVGYWN0b3J5Ow0KaW1wb3J0IGphdmF4
Lm1lZGlhLm9wZW5nbC5HTFByb2ZpbGU7DQoNCmltcG9ydCBvcmcuZWNsaXBzZS5zd3QuU1dUOw0K
aW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5vcGVuZ2wuR0xDYW52YXM7DQppbXBvcnQgb3JnLmVjbGlw
c2Uuc3d0Lm9wZW5nbC5HTERhdGE7DQppbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LndpZGdldHMuU2hl
bGw7DQppbXBvcnQgb3JnLmp1bml0LkFmdGVyOw0KaW1wb3J0IG9yZy5qdW5pdC5Bc3NlcnQ7DQpp
bXBvcnQgb3JnLmp1bml0LkJlZm9yZTsNCmltcG9ydCBvcmcuanVuaXQuVGVzdDsNCg0KaW1wb3J0
IGNvbS5qb2dhbXAubmV3dC5EaXNwbGF5Ow0KaW1wb3J0IGNvbS5qb2dhbXAubmV3dC5OZXd0RmFj
dG9yeTsNCmltcG9ydCBjb20uam9nYW1wLm5ld3QuU2NyZWVuOw0KaW1wb3J0IGNvbS5qb2dhbXAu
bmV3dC5XaW5kb3c7DQppbXBvcnQgY29tLmpvZ2FtcC5vcGVuZ2wudXRpbC5nbHNsLlNoYWRlclV0
aWw7DQoNCnB1YmxpYyBjbGFzcyBUcmFuc2Zvcm1GZWVkYmFja1ZlcnlpbmdzQnVnVGVzdCB7DQoN
CglzdGF0aWMgew0KCQlOYXRpdmVVdGlsLnByZWxvYWROYXRpdmVMaWJzKCk7IC8vIGNhbiBza2lw
IGlmIGxpYnMgaW4gcHJvcGVyIGRpcg0KCQlHTFByb2ZpbGUuaW5pdFNpbmdsZXRvbigpOw0KCX0N
Cg0KCXByaXZhdGUgR0xDb250ZXh0IGNvbnRleHQ7DQoJcHJpdmF0ZSBTdHJpbmcgVkVSVEVYX1NI
QURFUl9URVhUOw0KDQoJQEJlZm9yZQ0KCXB1YmxpYyB2b2lkIHNldFVwKCkgew0KCQlWRVJURVhf
U0hBREVSX1RFWFQgPSANCgkJCQkgICIjdmVyc2lvbiAzMzAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiINCgkJCQkrICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
biINCgkJCQkrICJvdXQgdmVjNCBQb3NpdGlvbjsgICAgICAgICAgICAgICAgICAgICBcbiINCgkJ
CQkrICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiINCgkJCQkrICJ2
b2lkIG1haW4oKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiINCgkJCQkrICIgIFBvc2l0
aW9uID0gdmVjNCgxLjAsIDEuMCwgMS4wLCAxLjApOyBcbiINCgkJCQkrICJ9ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiI7DQoJCQ0KCQlHTENhcGFiaWxpdGllcyBjYXBz
Ow0KCQlXaW5kb3cgd2luZG93Ow0KCQlHTERyYXdhYmxlIGRyYXdhYmxlOw0KDQoJCUdMUHJvZmls
ZSBnbHAgPSBHTFByb2ZpbGUuZ2V0KEdMUHJvZmlsZS5HTDMpOw0KCQljYXBzID0gbmV3IEdMQ2Fw
YWJpbGl0aWVzKGdscCk7DQoNCgkJY2Fwcy5zZXRPbnNjcmVlbih0cnVlKTsNCgkJY2Fwcy5zZXRE
b3VibGVCdWZmZXJlZCh0cnVlKTsNCg0KCQlEaXNwbGF5IGRpc3BsYXkgPSBOZXd0RmFjdG9yeS5j
cmVhdGVEaXNwbGF5KG51bGwpOyAvLyBsb2NhbCBkaXNwbGF5DQoJCVNjcmVlbiBzY3JlZW4gPSBO
ZXd0RmFjdG9yeS5jcmVhdGVTY3JlZW4oZGlzcGxheSwgMCk7IC8vIHNjcmVlbiAwDQoNCgkJd2lu
ZG93ID0gTmV3dEZhY3RvcnkuY3JlYXRlV2luZG93KHNjcmVlbiwgY2FwcywgdHJ1ZSk7DQoJCXdp
bmRvdy5zZXRTaXplKDgwMCwgNjAwKTsNCgkJd2luZG93LnNldFZpc2libGUodHJ1ZSk7DQoNCgkJ
ZHJhd2FibGUgPSBHTERyYXdhYmxlRmFjdG9yeS5nZXRGYWN0b3J5KGdscCkuY3JlYXRlR0xEcmF3
YWJsZSh3aW5kb3cpOw0KCQlkcmF3YWJsZS5zZXRSZWFsaXplZCh0cnVlKTsNCg0KCQljb250ZXh0
ID0gZHJhd2FibGUuY3JlYXRlQ29udGV4dChudWxsKTsNCg0KCQljb250ZXh0Lm1ha2VDdXJyZW50
KCk7DQoJfQ0KDQoJQEFmdGVyDQoJcHVibGljIHZvaWQgdGVhckRvd24oKSB7DQoJCWNvbnRleHQu
cmVsZWFzZSgpOw0KCX0NCgkNCglwcml2YXRlIGludCBnZXRTaGFkZXIoR0wzIGdsLCBTdHJpbmcg
dGV4dCwgaW50IHR5cGUpIHsNCgkJaW50IHNoYWRlclByb2dyYW0gPSBnbC5nbENyZWF0ZVByb2dy
YW0oKTsNCgkJDQoJCWludCB2ZXJ0U2hhZGVyID0gZ2wuZ2xDcmVhdGVTaGFkZXIodHlwZSk7DQoJ
CQ0KCQlTdHJpbmdbXSBsaW5lcyA9IG5ldyBTdHJpbmdbXSB7IHRleHQgfTsNCgkJaW50W10gbGVu
Z3RocyA9IG5ldyBpbnRbXSB7IGxpbmVzWzBdLmxlbmd0aCgpIH07DQoJCWdsLmdsU2hhZGVyU291
cmNlKHZlcnRTaGFkZXIsIGxpbmVzLmxlbmd0aCwgbGluZXMsIGxlbmd0aHMsIDApOw0KCQlnbC5n
bENvbXBpbGVTaGFkZXIodmVydFNoYWRlcik7DQoJCWdsLmdsQXR0YWNoU2hhZGVyKHNoYWRlclBy
b2dyYW0sIHZlcnRTaGFkZXIpOw0KCQkNCgkJcmV0dXJuIHNoYWRlclByb2dyYW07DQoJfQ0KDQoJ
QFRlc3QNCglwdWJsaWMgdm9pZCB0ZXN0R2xUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzX1doZW5W
YXJOYW1lT0soKSB7DQoJCS8vIGdpdmVuDQoJCQ0KCQlHTDMgZ2wgPSBjb250ZXh0LmdldEdMKCku
Z2V0R0wzKCk7DQoJCWludCBzaGFkZXJQcm9ncmFtID0gZ2V0U2hhZGVyKGdsLCBWRVJURVhfU0hB
REVSX1RFWFQsIEdMMy5HTF9WRVJURVhfU0hBREVSKTsNCgkJU3RyaW5nW10gdmFycyA9IG5ldyBT
dHJpbmdbXSB7ICJQb3NpdGlvbiIgfTsNCg0KCQkvLyB3aGVuDQoNCgkJZ2wuZ2xUcmFuc2Zvcm1G
ZWVkYmFja1ZhcnlpbmdzKHNoYWRlclByb2dyYW0sIDEsIHZhcnMsIEdMMy5HTF9TRVBBUkFURV9B
VFRSSUJTKTsNCgkJZ2wuZ2xMaW5rUHJvZ3JhbShzaGFkZXJQcm9ncmFtKTsNCg0KCQkvLyB0aGVu
DQoNCgkJQXNzZXJ0LmFzc2VydFRydWUoU2hhZGVyVXRpbC5pc1Byb2dyYW1WYWxpZChnbCwgc2hh
ZGVyUHJvZ3JhbSwgU3lzdGVtLm91dCkpOw0KCQlBc3NlcnQuYXNzZXJ0RXF1YWxzKEdMMy5HTF9O
T19FUlJPUiwgZ2wuZ2xHZXRFcnJvcigpKTsNCgl9DQoNCglAVGVzdA0KCXB1YmxpYyB2b2lkIHRl
c3RHbFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3NfV2hlblZhck5hbWVXcm9uZygpIHsNCgkJLy8g
Z2l2ZW4NCgkJDQoJCUdMMyBnbCA9IGNvbnRleHQuZ2V0R0woKS5nZXRHTDMoKTsNCgkJaW50IHNo
YWRlclByb2dyYW0gPSBnZXRTaGFkZXIoZ2wsIFZFUlRFWF9TSEFERVJfVEVYVCwgR0wzLkdMX1ZF
UlRFWF9TSEFERVIpOw0KCQlTdHJpbmdbXSB2YXJzID0gbmV3IFN0cmluZ1tdIHsgIlBQUG9zaXRp
b24iIH07DQoJCQ0KCQkvLyB3aGVuDQoNCgkJZ2wuZ2xUcmFuc2Zvcm1GZWVkYmFja1Zhcnlpbmdz
KHNoYWRlclByb2dyYW0sIDEsIHZhcnMsIEdMMy5HTF9TRVBBUkFURV9BVFRSSUJTKTsNCgkJZ2wu
Z2xMaW5rUHJvZ3JhbShzaGFkZXJQcm9ncmFtKTsNCg0KCQkvLyB0aGVuDQoNCgkJQnl0ZUFycmF5
T3V0cHV0U3RyZWFtIGJhb3MgPSBuZXcgQnl0ZUFycmF5T3V0cHV0U3RyZWFtKCk7DQoJCUFzc2Vy
dC5hc3NlcnRGYWxzZShTaGFkZXJVdGlsLmlzUHJvZ3JhbVZhbGlkKGdsLCBzaGFkZXJQcm9ncmFt
LCBuZXcgUHJpbnRTdHJlYW0oYmFvcykpKTsNCgkJQXNzZXJ0LmFzc2VydEVxdWFscyhHTDMuR0xf
Tk9fRVJST1IsIGdsLmdsR2V0RXJyb3IoKSk7DQoJCUFzc2VydC5hc3NlcnRUcnVlKGJhb3MudG9T
dHJpbmcoKS5jb250YWlucygiKG5hbWVkIFBQUG9zaXRpb24pIikpOw0KCX0NCn0NCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>151</attachid>
            <date>2010-08-18 14:51:02 +0200</date>
            <delta_ts>2010-08-18 14:51:02 +0200</delta_ts>
            <desc>jUnit4 test of the bug (corrected)</desc>
            <filename>TransformFeedbackVeryingsBugTest.java</filename>
            <type>text/plain</type>
            <size>3672</size>
            <attacher>mateushek</attacher>
            
              <data encoding="base64">cGFja2FnZSBpbXBhc3Bhdi5nbHNsOw0KDQppbXBvcnQgamF2YS5pby5CeXRlQXJyYXlPdXRwdXRT
dHJlYW07DQppbXBvcnQgamF2YS5pby5QcmludFN0cmVhbTsNCg0KaW1wb3J0IGphdmF4Lm1lZGlh
Lm9wZW5nbC5HTDM7DQppbXBvcnQgamF2YXgubWVkaWEub3BlbmdsLkdMQ2FwYWJpbGl0aWVzOw0K
aW1wb3J0IGphdmF4Lm1lZGlhLm9wZW5nbC5HTENvbnRleHQ7DQppbXBvcnQgamF2YXgubWVkaWEu
b3BlbmdsLkdMRHJhd2FibGU7DQppbXBvcnQgamF2YXgubWVkaWEub3BlbmdsLkdMRHJhd2FibGVG
YWN0b3J5Ow0KaW1wb3J0IGphdmF4Lm1lZGlhLm9wZW5nbC5HTFByb2ZpbGU7DQoNCmltcG9ydCBv
cmcuanVuaXQuQWZ0ZXI7DQppbXBvcnQgb3JnLmp1bml0LkFzc2VydDsNCmltcG9ydCBvcmcuanVu
aXQuQmVmb3JlOw0KaW1wb3J0IG9yZy5qdW5pdC5UZXN0Ow0KDQppbXBvcnQgY29tLmpvZ2FtcC5u
ZXd0LkRpc3BsYXk7DQppbXBvcnQgY29tLmpvZ2FtcC5uZXd0Lk5ld3RGYWN0b3J5Ow0KaW1wb3J0
IGNvbS5qb2dhbXAubmV3dC5TY3JlZW47DQppbXBvcnQgY29tLmpvZ2FtcC5uZXd0LldpbmRvdzsN
CmltcG9ydCBjb20uam9nYW1wLm9wZW5nbC51dGlsLmdsc2wuU2hhZGVyVXRpbDsNCg0KcHVibGlj
IGNsYXNzIFRyYW5zZm9ybUZlZWRiYWNrVmVyeWluZ3NCdWdUZXN0IHsNCg0KCXN0YXRpYyB7DQoJ
CSAvL05hdGl2ZVV0aWwucHJlbG9hZE5hdGl2ZUxpYnMoKTsgLy8gaW50ZXJuYWwgbWV0aG9kDQoJ
CUdMUHJvZmlsZS5pbml0U2luZ2xldG9uKCk7DQoJfQ0KDQoJcHJpdmF0ZSBHTENvbnRleHQgY29u
dGV4dDsNCglwcml2YXRlIFN0cmluZyBWRVJURVhfU0hBREVSX1RFWFQ7DQoNCglAQmVmb3JlDQoJ
cHVibGljIHZvaWQgc2V0VXAoKSB7DQoJCVZFUlRFWF9TSEFERVJfVEVYVCA9IA0KCQkJCSAgIiN2
ZXJzaW9uIDMzMCAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIg0KCQkJCSsgIiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIg0KCQkJCSsgIm91dCB2ZWM0IFBvc2l0
aW9uOyAgICAgICAgICAgICAgICAgICAgIFxuIg0KCQkJCSsgIiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIg0KCQkJCSsgInZvaWQgbWFpbigpIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgIFxuIg0KCQkJCSsgIiAgUG9zaXRpb24gPSB2ZWM0KDEuMCwgMS4wLCAxLjAs
IDEuMCk7IFxuIg0KCQkJCSsgIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFxuIjsNCgkJDQoJCUdMQ2FwYWJpbGl0aWVzIGNhcHM7DQoJCVdpbmRvdyB3aW5kb3c7DQoJCUdM
RHJhd2FibGUgZHJhd2FibGU7DQoNCgkJR0xQcm9maWxlIGdscCA9IEdMUHJvZmlsZS5nZXQoR0xQ
cm9maWxlLkdMMyk7DQoJCWNhcHMgPSBuZXcgR0xDYXBhYmlsaXRpZXMoZ2xwKTsNCg0KCQljYXBz
LnNldE9uc2NyZWVuKHRydWUpOw0KCQljYXBzLnNldERvdWJsZUJ1ZmZlcmVkKHRydWUpOw0KDQoJ
CURpc3BsYXkgZGlzcGxheSA9IE5ld3RGYWN0b3J5LmNyZWF0ZURpc3BsYXkobnVsbCk7IC8vIGxv
Y2FsIGRpc3BsYXkNCgkJU2NyZWVuIHNjcmVlbiA9IE5ld3RGYWN0b3J5LmNyZWF0ZVNjcmVlbihk
aXNwbGF5LCAwKTsgLy8gc2NyZWVuIDANCg0KCQl3aW5kb3cgPSBOZXd0RmFjdG9yeS5jcmVhdGVX
aW5kb3coc2NyZWVuLCBjYXBzLCB0cnVlKTsNCgkJd2luZG93LnNldFNpemUoODAwLCA2MDApOw0K
CQl3aW5kb3cuc2V0VmlzaWJsZSh0cnVlKTsNCg0KCQlkcmF3YWJsZSA9IEdMRHJhd2FibGVGYWN0
b3J5LmdldEZhY3RvcnkoZ2xwKS5jcmVhdGVHTERyYXdhYmxlKHdpbmRvdyk7DQoJCWRyYXdhYmxl
LnNldFJlYWxpemVkKHRydWUpOw0KDQoJCWNvbnRleHQgPSBkcmF3YWJsZS5jcmVhdGVDb250ZXh0
KG51bGwpOw0KDQoJCWNvbnRleHQubWFrZUN1cnJlbnQoKTsNCgl9DQoNCglAQWZ0ZXINCglwdWJs
aWMgdm9pZCB0ZWFyRG93bigpIHsNCgkJY29udGV4dC5yZWxlYXNlKCk7DQoJfQ0KCQ0KCXByaXZh
dGUgaW50IGdldFNoYWRlcihHTDMgZ2wsIFN0cmluZyB0ZXh0LCBpbnQgdHlwZSkgew0KCQlpbnQg
c2hhZGVyUHJvZ3JhbSA9IGdsLmdsQ3JlYXRlUHJvZ3JhbSgpOw0KCQkNCgkJaW50IHZlcnRTaGFk
ZXIgPSBnbC5nbENyZWF0ZVNoYWRlcih0eXBlKTsNCgkJDQoJCVN0cmluZ1tdIGxpbmVzID0gbmV3
IFN0cmluZ1tdIHsgdGV4dCB9Ow0KCQlpbnRbXSBsZW5ndGhzID0gbmV3IGludFtdIHsgbGluZXNb
MF0ubGVuZ3RoKCkgfTsNCgkJZ2wuZ2xTaGFkZXJTb3VyY2UodmVydFNoYWRlciwgbGluZXMubGVu
Z3RoLCBsaW5lcywgbGVuZ3RocywgMCk7DQoJCWdsLmdsQ29tcGlsZVNoYWRlcih2ZXJ0U2hhZGVy
KTsNCgkJZ2wuZ2xBdHRhY2hTaGFkZXIoc2hhZGVyUHJvZ3JhbSwgdmVydFNoYWRlcik7DQoJCQ0K
CQlyZXR1cm4gc2hhZGVyUHJvZ3JhbTsNCgl9DQoNCglAVGVzdA0KCXB1YmxpYyB2b2lkIHRlc3RH
bFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3NfV2hlblZhck5hbWVPSygpIHsNCgkJLy8gZ2l2ZW4N
CgkJDQoJCUdMMyBnbCA9IGNvbnRleHQuZ2V0R0woKS5nZXRHTDMoKTsNCgkJaW50IHNoYWRlclBy
b2dyYW0gPSBnZXRTaGFkZXIoZ2wsIFZFUlRFWF9TSEFERVJfVEVYVCwgR0wzLkdMX1ZFUlRFWF9T
SEFERVIpOw0KCQlTdHJpbmdbXSB2YXJzID0gbmV3IFN0cmluZ1tdIHsgIlBvc2l0aW9uIiB9Ow0K
DQoJCS8vIHdoZW4NCg0KCQlnbC5nbFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3Moc2hhZGVyUHJv
Z3JhbSwgMSwgdmFycywgR0wzLkdMX1NFUEFSQVRFX0FUVFJJQlMpOw0KCQlnbC5nbExpbmtQcm9n
cmFtKHNoYWRlclByb2dyYW0pOw0KDQoJCS8vIHRoZW4NCg0KCQlBc3NlcnQuYXNzZXJ0VHJ1ZShT
aGFkZXJVdGlsLmlzUHJvZ3JhbVZhbGlkKGdsLCBzaGFkZXJQcm9ncmFtLCBTeXN0ZW0ub3V0KSk7
DQoJCUFzc2VydC5hc3NlcnRFcXVhbHMoR0wzLkdMX05PX0VSUk9SLCBnbC5nbEdldEVycm9yKCkp
Ow0KCX0NCg0KCUBUZXN0DQoJcHVibGljIHZvaWQgdGVzdEdsVHJhbnNmb3JtRmVlZGJhY2tWYXJ5
aW5nc19XaGVuVmFyTmFtZVdyb25nKCkgew0KCQkvLyBnaXZlbg0KCQkNCgkJR0wzIGdsID0gY29u
dGV4dC5nZXRHTCgpLmdldEdMMygpOw0KCQlpbnQgc2hhZGVyUHJvZ3JhbSA9IGdldFNoYWRlcihn
bCwgVkVSVEVYX1NIQURFUl9URVhULCBHTDMuR0xfVkVSVEVYX1NIQURFUik7DQoJCVN0cmluZ1td
IHZhcnMgPSBuZXcgU3RyaW5nW10geyAiUFBQb3NpdGlvbiIgfTsNCgkJDQoJCS8vIHdoZW4NCg0K
CQlnbC5nbFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3Moc2hhZGVyUHJvZ3JhbSwgMSwgdmFycywg
R0wzLkdMX1NFUEFSQVRFX0FUVFJJQlMpOw0KCQlnbC5nbExpbmtQcm9ncmFtKHNoYWRlclByb2dy
YW0pOw0KDQoJCS8vIHRoZW4NCg0KCQlCeXRlQXJyYXlPdXRwdXRTdHJlYW0gYmFvcyA9IG5ldyBC
eXRlQXJyYXlPdXRwdXRTdHJlYW0oKTsNCgkJQXNzZXJ0LmFzc2VydEZhbHNlKFNoYWRlclV0aWwu
aXNQcm9ncmFtVmFsaWQoZ2wsIHNoYWRlclByb2dyYW0sIG5ldyBQcmludFN0cmVhbShiYW9zKSkp
Ow0KCQlBc3NlcnQuYXNzZXJ0RXF1YWxzKEdMMy5HTF9OT19FUlJPUiwgZ2wuZ2xHZXRFcnJvcigp
KTsNCgkJQXNzZXJ0LmFzc2VydFRydWUoYmFvcy50b1N0cmluZygpLmNvbnRhaW5zKCIobmFtZWQg
UFBQb3NpdGlvbikiKSk7DQoJfQ0KfQ0K
</data>

          </attachment>
      

    </bug>

</bugzilla>