jdk/test/com/sun/corba/5036554/README
author coffeys
Wed, 23 Oct 2013 16:53:42 +0100
changeset 21349 2033e0b90321
permissions -rw-r--r--
5036554: unmarshal error on CORBA alias type in CORBA any Reviewed-by: chegar, smarks
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21349
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
     1
/*
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
     2
 * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
     4
 *
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
     7
 * published by the Free Software Foundation.
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
     8
 *
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    13
 * accompanied this code).
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    14
 *
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    18
 *
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    21
 * questions.
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    22
 */
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    23
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    24
Bug # 5036554 unmarshal error on CORBA alias type in CORBA any
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    25
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    26
Platform : ALL 
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    27
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    28
Testcase directory :  <.../corba>
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    29
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    30
Test Procedure : <STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    31
Step 1: create a file bug.idl with the following content:
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    32
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    33
// IDL file bug.idl
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    34
module bug {
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    35
    typedef string myString;
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    36
};
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    37
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    38
Step 2: Translate bug.idl with the command: idlj bug.idl
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    39
This will create the file bug/myStringHelper.java
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    40
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    41
Step 3:
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    42
Create the file JavaBug.java in directory bug with the following content:
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    43
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    44
// Java file JavaBug.java
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    45
package bug;
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    46
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    47
public class JavaBug {
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    48
    public static void main(String[] args) {
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    49
        try {
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    50
            org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null);
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    51
            org.omg.CORBA.Any any = orb.create_any();
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    52
            myStringHelper.insert(any, "hello");
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    53
            System.out.println("Any: " + myStringHelper.extract(any));
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    54
        } catch( Exception e ) {
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    55
            e.printStackTrace();
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    56
        }
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    57
    }
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    58
}  
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    59
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    60
Step 4:
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    61
Compile all java files with the command: javac -d . bug\*.java
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    62
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    63
Step 5:
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    64
Execute the program with the command: java -cp . bug/JavaBug
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    65
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    66
Step 6: Note the null pointer exception in the the output!
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    67
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    68
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    69
Without Fix behaviour :  <java.lang.NullPointerException
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    70
        at com.sun.corba.se.internal.corba.TCUtility.unmarshalIn(TCUtility.java:290)
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    71
        at com.sun.corba.se.internal.corba.AnyImpl.read_value(AnyImpl.java:561)
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    72
        at bug.myStringHelper.insert(myStringHelper.java:20)
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    73
        at bug.JavaBug.main(JavaBug.java:8)>
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    74
        
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    75
With Fix behaviour :  <The output message printed on the console: "Any: hello">
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    76
2033e0b90321 5036554: unmarshal error on CORBA alias type in CORBA any
coffeys
parents:
diff changeset
    77
Other Comments :  <Test case is automated.>