[omniORB] POA assertion fails with multiple interfaces

Asa MacWilliams macwilli@informatik.tu-muenchen.de
Mon, 30 Oct 2000 17:12:42 +0000


Hi,

I'm using OmniORB 3.0.2 (on SuSE Linux 6.4 for PowerPC), and I have servants
that implement several interfaces. When I use the _this() function on the
second interface, an assertion fails:

omniORB: Assertion failed.  This indicates a bug in omniORB.
 file: ../portableserver.cc
 line: 242
 info: ref

The code is more or less like:

class MyImpl:
	public POA_Interface1,
	public POA_Interface2
{
	...
};

MyImpl* myServant=new MyImpl;
Interface1_ptr=((POA_Interface1*)myServant)->_this();
Interface2_ptr=((POA_Interface2*)myServant)->_this();

The second call of "_this()" causes the assertion.

Am I doing something wrong here (I hope) or is this really a problem in
OmniORB?

Thanks,
Asa

--

|\ /\ /| Asa MacWilliams
| /--\ | asa.macwilliams@in.tum.de
|/ \/ \| http://www.in.tum.de/~macwilli/