[Ace-users] Re: [tao-users] mixing omniORB and TAO within one process

Johnny Willemsen jwillemsen at remedy.nl
Fri Jun 22 01:35:51 CDT 2007


Hi,
 
Maybe start TAO with -ORBDebugLevel 10 and see what it gives for output.
 
Regards,
 
Johnny Willemsen
Remedy IT
Postbus 101
2650 AC  Berkel en Rodenrijs
The Netherlands
www.theaceorb.nl / www.remedy.nl 

*** Integrated compile and test statistics see
http://scoreboard.theaceorb.nl <http://scoreboard.theaceorb.nl/>  ***
*** Commercial service and support for ACE/TAO/CIAO             ***
*** See http://www.theaceorb.nl/en/support.html                 *** 


________________________________

	From: Friedhelm Wolf [mailto:friedhelm.wolf at googlemail.com] 
	Sent: Thursday, June 21, 2007 5:14 PM
	To: Johnny Willemsen
	Cc: tao-users at cse.wustl.edu
	Subject: Re: [tao-users] mixing omniORB and TAO within one process
	
	
	Johnny,
	
	after debugging into all that I found out, that you are right.
	Somehow the ORB_init() call doesn't work properly also the programm
	returns from the call correctly. When I then try to access the POA I
get a segfault. 
	
	I recognized omniORB is somehow "taking over" memory management,
because
	during execution of the TAO ORB_init() call, the following message
appears on stdout:
	
	omniORB: ERROR -- an invalid buffer pointer is passed to freebuf 
	 of string or object  sequence
	
	I found out, that this results from a global error handler function
(or something like that),
	void _CORBA_bad_param_freebuf() in omniORB/orbcore/exception.cc
	
	But maybe this is something I have to ask some omniORB guys. I'm not
very familiar with 
	omniORB. Can anyone point me to a developer forum for omniORB? Is
there an active
	developer community?
	
	Thanks,
	Friedhelm
	
	
	On 6/20/07, Johnny Willemsen <jwillemsen at remedy.nl> wrote: 

		Hi,
		 
		It looks to me that the TAO POA isn't created before you
activate the servant.
		 
		Johnny


________________________________

			From: tao-users-bounces at cse.wustl.edu
[mailto:tao-users-bounces at cse.wustl.edu] On Behalf Of Friedhelm Wolf
			Sent: Wednesday, June 20, 2007 5:11 PM
			To: tao-users at cse.wustl.edu
			Subject: [tao-users] mixing omniORB and TAO within
one process
			
			
						CIAO VERSION: 0.5.8
			TAO VERSION : 1.5.8
			ACE VERSION : 5.5.8
			
			HOST MACHINE and OPERATING SYSTEM:
			    i686 pc, SUSE linux Enterprise Server 9, Kernel
2.6.5
			
			COMPILER NAME AND VERSION (AND PATCHLEVEL):
			    gcc 3.3.3 (SuSE Linux)
			
			THE $ACE_ROOT/ace/config.h FILE:
			    #include "config-linux.h"
			
			THE
$ACE_ROOT/include/makeinclude/platform_macros.GNU FILE :
			    include $ACE_ROOT/include/makeinclude/platform-
linux.GNU
			
			CONTENTS OF
$ACE_ROOT/bin/MakeProjectCreator/config/default.features
			(used by MPC when you generate your own makefiles):
			    N/A
			
			DOES THE PROBLEM AFFECT:
			    EXECUTION: ORB Initialization
			
			SYNOPSIS: Can omniORB and TAO coexist in the same
process space? 
			
			DESCRIPTION:
			Hi there,
			
			I evaluate how to port a rather big CORBA system
using omniORB
			to TAO. Because it's a rather complex system, I
started with porting one 
			CORBA servant object. It was no big efford to make
the changes to compile
			and link the code for TAO.
			
			I then tried to integrate this one TAO object into
the omniORB system.
			This system however loads CORBA servants from a
shared libraries. 
			The whole mechanism to find and load these needed
libraries, includes 
			CORBA calls (which are still served by omniORB CORBA
servants).
			As a concequence to this I end up initializing TAO
and registering
			the object within a CORBA call served by omniORB
(see attatched 
			coredump.txt), which seems to lead to a coredump.
			More specifically said, the registration of the
servant object within
			the POA, using the _this() method seems to mess up
everything.
			
			Does anyone have some hints for me, if it is a bad
idea in general to 
			use TAO and omniORB in the same adress space. Or
might the nesting of 
			TAO servant registration within the processing of
omniORB be a problem?
			Maybe someone familiar with the TAO POA can comment
on what exactly is 
			going wrong, by having a look at the coredump stack?
			
			Cheers,
			Friedhelm
			
			





More information about the Ace-users mailing list