** ERROR **: assertion failed: (giop_thread_self () == giop_main_thread)



I have created a UNIX process that implements two different 
CORBA interfaces. In a thread I start a CORBA client for the 
ClientInterface.idl interface and in the main thread of the process 
I’ve implemented CORBA server for the ServerInterface.idl 
interface. There are a total of three UNIX processes. The other two 
processes implement a simple client and server for the two CORBA 
interfaces. The code for this program is attached in a compressed 
file.

Running the make file creates the three executables:

client-server – multi-threaded process
client-tool – server side of the Client Interface
server-tool – client side of the Server Interface

Since this is test code, it is not robust. The processes should be 
started in the following order: (1) orbit-name-server-2, 
(2) client-tool, (3) client-server, and (4) server-tool.

When I start the client-server process it aborts with the following 
error message:

** ERROR **: file ../../../../ORBit2-2.9.6/src/orb/GIOP/giop.c: line 602 (giop_main_run): assertion failed: (giop_thread_self () == giop_main_thread)
aborting...

What is this error?

I have another version of this program, where the client and server 
are swapped, i.e. the server is in the thread and the client is 
part of main. This version of the program runs about 4 out of 5 
times. But on the times it fails, it issues the same error message.

Is this a problem in ORBit2 or is it something I have done 
incorrectly with the thread?

Thanks,
Larry S. Gustafson


thread_src.tar.gz



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]