[kaffe] CORBA IncompatibleClassChangeError ?

takahiro tokui t_tokui at kyototechnica.co.jp
Wed Apr 13 21:05:37 PDT 2005


Hi

I've been used kaffe-1.1.4 on x86 & SH4 and used JacORB1_3_30 CORBA.

Now Compile 1.1.5 on x86 ,success. 
# ./configure --without-classpath-gtk-awt
# make
# make install

HelloWorld & java.sql sample CLASS is ok 

but use CORBA error below:

#java \
    -Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB \
    -Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton \
    Server

 java.lang.IncompatibleClassChangeError: Class, org/omg/CORBA/Object, used 
 as interface by org/omg/PortableServer/POA
   <<No stacktrace available>>

Server.java recompiled error too:

#javac Server.java

 /usr/local/kaffe/bin/javac: line 3: 22906 Segmentation fault  jikes 
 -bootclasspath /usr/local/kaffe/jre/lib/rt.jar
 ${1+"$@"}

On 1.1.4 JacORB I can execute.
What of CORBA changed in 1.1.4 and 1.1.5 ?
And in what does javac Segmentation fault occur ?

Regards

Takahiro Tokui

Server.java:

import java.io.*;
import org.omg.CORBA.*;
import org.omg.PortableServer.*;
import java.sql.*;
import oracle.sql.*;
import oracle.jdbc.*;

public class Server 
{
	public static void main(String[] args) throws Exception
	{
		if( args.length != 1 ){
			System.out.println("Usage: jaco Server <ior_file>");
			System.exit( 1 );
		}

		//load JDBCdriver
		Class.forName("oracle.jdbc.driver.OracleDriver");

		//init ORB
		ORB orb = ORB.init( args, null );

		//init POA
		org.omg.CORBA.Object obj = orb.resolve_initial_references( "RootPOA" );
		POA poa = org.omg.PortableServer.POAHelper.narrow( obj );
		poa.the_POAManager().activate();
			
		// create the OperateDriver object
		OPDriverManagerImpl DriverIF = new OPDriverManagerImpl(orb, poa);

		// create the object reference
		org.omg.CORBA.Object DriverIFRef = poa.servant_to_reference( DriverIF );

		PrintWriter pw = new PrintWriter( new FileWriter( args[ 0 ] ));

		// print stringified object reference to file
		pw.println( orb.object_to_string( DriverIFRef ));
		pw.flush();
		pw.close();

		// wait for requests
		orb.run();
		System.out.println("Server Ready.");
	}
}





More information about the kaffe mailing list