<?xml version="1.0" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.jacorb.org/bugzilla/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.2"
          urlbase="https://www.jacorb.org/bugzilla/"
          
          maintainer="jacorb@goots.org"
>

    <bug>
          <bug_id>999</bug_id>
          
          <creation_ts>2015-01-06 23:43:17 +0000</creation_ts>
          <short_desc>Unexpected string terminator on marshaling huge strings with JacORB 3.5</short_desc>
          <delta_ts>2015-01-19 15:58:34 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>JacORB</product>
          <component>ORB</component>
          <version>3.5</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Amadeu A. Barbosa Jr">amadeu</reporter>
          <assigned_to name="Mailinglist to track bugs">jacorb-bugs</assigned_to>
          <cc>hroenick</cc>
    
    <cc>jacorb</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>3249</commentid>
    <comment_count>0</comment_count>
      <attachid>451</attachid>
    <who name="Amadeu A. Barbosa Jr">amadeu</who>
    <bug_when>2015-01-06 23:43:17 +0000</bug_when>
    <thetext>Created attachment 451
client-server example that reproduces the bug on marshaling huge strings

I&apos;ve experiencing a MARSHAL exception when I use a huge string as parameter (or even as return value). In my test, I used a 10000 length string containing the char &apos;1&apos;.

Exception on server-side:
org.omg.CORBA.MARSHAL: unexpected string terminator value 31 at buffer index 108
	at org.jacorb.orb.CDRInputStream.read_string(CDRInputStream.java:1253)
	at test.bigsize.TestPOA._invoke(TestPOA.java:46)
	at org.jacorb.poa.RequestProcessor.invokeOperation(RequestProcessor.java:350)
	at org.jacorb.poa.RequestProcessor.process(RequestProcessor.java:672)
	at org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:830)

IDL:
module test
{
    module bigsize {
        interface Test {
            void input(in string s1);
        };
    };
};

Part of message request (I used jacorb.debug.dump_outgoing_messages=on):
47 49 4F 50  01 02 00 00  00 00 27 71  00 00 00 00  GIOP .... ..&apos;q .... 
03 00 00 00  00 00 00 00  00 00 00 22  34 32 32 30  .... .... ...&quot; 4220 
31 35 34 31  37 33 2F 00  01 10 43 00  03 04 10 01  1541 73/. ..C. .... 
42 04 46 10  06 30 46 38  14 14 1B 48  4C 1B 00 00  B.F. .0F8 ...H L... 
00 00 00 06  69 6E 70 75  74 00 00 00  00 00 00 01  .... inpu t... .... 
00 00 00 01  00 00 00 0C  00 00 00 00  05 01 00 01  .... .... .... .... 
00 01 01 09  00 00 00 22  00 00 00 01  31 31 31 31  .... ...&quot; .... 1111
31 31 31 31  31 31 31 31  31 31 31 31  31 31 31 31  1111 1111 1111 1111

I can see the error on &quot;00 00 00 01&quot;, it should be the size of string and not 0x1.

When I tried JacORB 3.4 (and lower versions) it works fine and I got &quot;00 00 27 11&quot; as expected instead of &quot;00 00 00 01&quot;.

In order to execute my test (attached):
mvn compile
mvn dependency:copy-dependencies
./runserver
./runclient

Thank you in advance,
Amadeu A. Barbosa Jr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3250</commentid>
    <comment_count>1</comment_count>
    <who name="Nick Cross">jacorb</who>
    <bug_when>2015-01-07 05:27:38 +0000</bug_when>
    <thetext>Thanks for the excellent test case - reproduced. 

Initial investigation - I think its an interaction with bug 941 when codesets are enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3251</commentid>
    <comment_count>2</comment_count>
      <attachid>452</attachid>
    <who name="Amadeu A. Barbosa Jr">amadeu</who>
    <bug_when>2015-01-07 08:14:47 +0000</bug_when>
    <thetext>Created attachment 452
client-server example that reproduces the bug on marshaling small strings inside huge requests

It seems that is not about string itself but (maybe) the CDR processing of big size requests. 

I modify my example to use big size byte sequences inside a struct Data like:
typedef sequence&lt;octet&gt; octetseq;
struct Data {
  octetseq bytes;
  string name;
}

And I filled it with 10000 bytes in Data.bytes and the simple string &quot;first&quot; in Data.name and I got the problem reproduced also. The instructions to compile/execute is the same than previously attached file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3252</commentid>
    <comment_count>3</comment_count>
    <who name="Nick Cross">jacorb</who>
    <bug_when>2015-01-08 11:48:00 +0000</bug_when>
    <thetext>I believe the problem is within deferredArrayQueue. A workaround would be to set it to 0 (default is 8).

An unanswered question is, with modern JVMs/OS, how much actual benefit it brings (the original code dates from 2002).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3259</commentid>
    <comment_count>4</comment_count>
    <who name="Nick Cross">jacorb</who>
    <bug_when>2015-01-19 15:58:34 +0000</bug_when>
    <thetext>Fixed by SHA 4a70d6d1dcd90d8bf0290f995beeb1d09000cdb6</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>451</attachid>
            <date>2015-01-06 23:43:17 +0000</date>
            <delta_ts>2015-01-06 23:43:17 +0000</delta_ts>
            <desc>client-server example that reproduces the bug on marshaling huge strings</desc>
            <filename>bigsizestrings.tar.gz</filename>
            <type>application/x-gzip</type>
            <size>2286</size>
            <attacher name="Amadeu A. Barbosa Jr">amadeu</attacher>
            
              <data encoding="base64">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
tK8AUAAA
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>452</attachid>
            <date>2015-01-07 08:14:47 +0000</date>
            <delta_ts>2015-01-07 08:14:47 +0000</delta_ts>
            <desc>client-server example that reproduces the bug on marshaling small strings inside huge requests</desc>
            <filename>bigsizedata.tar.gz</filename>
            <type>application/x-gzip</type>
            <size>2482</size>
            <attacher name="Amadeu A. Barbosa Jr">amadeu</attacher>
            
              <data encoding="base64">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
</data>

          </attachment>
      

    </bug>

</bugzilla>