[tao-users] Naming_Service issue with ORBInitializer

  • Follow


ACE VERSION:
     ACE version 5.7.0
     TAO version 1.7.0
or
     ACE version 6.0.0
     TAO version 2.0.0

HOST MACHINE and OPERATING SYSTEM:
     Desk Top PC
     Dual Core Processor: Intel(R) Core(TM)2 Duo CPU E4400 @ 2.00GHz
     Memory: 1.9 GiB
     Ubuntu Linux 8.04 (hardy)

TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
     MicroBlaze soft core arch inside Virtex 6 FPGA from Xilinx
     Linux Version 2.6.37-rc4

COMPILER NAME AND VERSION (AND PATCHLEVEL):
Cross Toolchain microblaze-unknown-linux-gnu 4.1.2
Using built-in specs.
Target: microblaze-unknown-linux-gnu
Thread model: posix
gcc version 4.1.2

THE $ACE_ROOT/ace/config.h FILE [if you use a link to a platform-
      specific file, simply state which one]:

#define ACE_HAS_SSL 1
#include "ace/config-linux.h"


THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE [if you
    use a link to a platform-specific file, simply state which one
    (unless this isn't used in this case, e.g., with Microsoft Visual
    C++)]:

inline=3D1
OCFLAGS=3D-Os
use_dep_libs=3D0
LDFLAGS+=3D-Xlinker -M -Xlinker -Map -Xlinker \$@.map
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
optimize=3D1
debug=3D0
exceptions=3D1
nptl=3D1
cross_compile=3D1
ssl=3D1
dummy_label=3D1
CC =3D mb-linux-gcc -mtune=3D8.00.a
CCDEPMODE =3D depmode=3Dgcc3
CFLAGS +=3D =20
-isystem/opt/local/oe_mb/tmp/sysroots/microblaze-angstrom-linux/usr/include =
=20
-fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2 =20
-pipe
CPP =3D mb-linux-gcc -E
# -D__GNUC_MINOR__=3D12
CPPFLAGS +=3D -D_REENTRANT -D_THREAD_SAFE -D__GNUC__=3D4 =20
-isystem/opt/local/oe_mb/tmp/sysroots/microblaze-angstrom-linux/usr/include

CXX =3D mb-linux-g++ -mtune=3D8.00.a
CXXCPP =3D mb-linux-g++ -mtune=3D8.00.a -E
CXXDEPMODE =3D depmode=3Dgcc3
CXXFLAGS +=3D  -W -Wall -Wpointer-arith
-isystem/opt/local/oe_mb/tmp/sysroots/microblaze-angstrom-linux/usr/include =
=20
-fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2 =20
-fpermissive -fvisibility-inlines-hidden -pipe -O3
DEFS =3D -DHAVE_CONFIG_H
DEF_CXXFLAGS +=3D -Wall -fno-rtti -pipe -O3 -g -mcpu=3DG3 -mtune=3DG5
-fomit-frame-pointer
DEBUG =3D
AR =3D mb-linux-ar
RANLIB =3D mb-linux-ranlib
LD =3D mb-linux-g++
TAO_IDL :=3D /usr/local/bin/tao_idl
TAO_IDLFLAGS +=3D -g /usr/local/bin/ace_gperf
TAO_IDL_DEP :=3D /usr/local/bin/tao_idl$(EXEEXT)
INSTALL_PREFIX
=3D /opt/local/oe_mb/tmp/work/microblaze-oe-linux-gnu/acetao-5.7.3-r0/image/=
usr


BUILD METHOD USED:

I have used the traditional way of compilation.

CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/default.features
      (used by MPC when you generate your own makefiles):

cross_compile =3D 1
ssl =3D 1

AREA/CLASS/EXAMPLE AFFECTED:
          Cross Compilation

DOES THE PROBLEM AFFECT:
          COMPILATION?
          LINKING?
          EXECUTION?
             YES
          OTHER (please specify)?
                  Run time exception of Naming_Service and Event_Service

SYNOPSIS:

root@ml605:/# Naming_Service -ORBEndPoint iiop://141.89.52.137:12346 =20
-ORBDaemon
TAO (230|16384) ERROR: ORBInitializer Registry unable to find the =20
ORBInitializer Registry instance: Invalid argument
*** glibc detected *** free(): invalid pointer: 0x100107a8 ***
Aborted

or

root@ml605:/# Event_Service -ORBEndpoint =20
iiop://141.89.52.137:12347/portspan=3D1000 -n EventService -ORBInitRef =20
NameService=3Dcorbaloc:iiop:141.89.52.137:12346/NameService -ORBDaemon
TAO (231|16384) ERROR: ORBInitializer Registry unable to find the =20
ORBInitializer Registry instance: Invalid argument
Segmentation fault

in TAO version 2.0.0:

tao_cosnaming  -ORBEndPoint iiop://141.89.52.137:12346 -ORBDaemon

Nothing happens but when I run

root@ml605:/# tao_nslist -ORBInitRef =20
NameService=3Dcorbaloc:iiop:141.89.52.68:12346/NameService

again I see the same exception!

DESCRIPTION:

Whenever I run Naming_Service or Event_Service I face with =20
ORBInitializer exception and afterwards glibc complains for accessing =20
an invalid pointer.

For your information, I can run the simple client and sever Messenger =20
and it works absolutely without any problem. Moreover, I run ACE =20
Naming_Test, OS_Test, SString_Test and Svc_Config_Test and all of them =20
work without error report. If you would need I can send you their =20
generated log files.

REPEAT BY:

Always it occurs.

TAO Version 2.0.0 and 1.7.0 both have the same issues.

SAMPLE FIX/WORKAROUND:

Regarding the message from glibc for invalid pointer, I had doubt that =20
likely the source of problem is in wrong cross compilation of =20
something like ACE_TCHAR, but apparently those aforementioned ACE =20
tests prove that ACE library is OK. As far as, a typical client&server =20
CORBA application is working, hence I tried to follow some debugging =20
procedures to figure out where the source of problem might be. Then, I =20
tried to recompile the Naming_Service outside of ACE_wrappers. As a =20
result I noticed that whenever I comment out the "TAO_Naming_Server =20
my_naming_server_;" inside Naming_Service.h, and therefore, I exclude =20
all libraries except "-lTAO_PortableServer -lTAO_AnyTypeCode -lTAO =20
-lACE" the "CORBA::ORB_init (argc, argv)" in Naming_Service.cpp is OK =20
and working without exception. Otherwise, only by uncommenting the =20
"TAO_Naming_Server my_naming_server_;", the ORB_init fails!

Any kind of help to get rid of this issue is highly appreciated.

Thanks in advanced.

Ali


----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.


0
Reply Ali 2/28/2011 2:39:43 PM


0 Replies
350 Views

(page loaded in 0.117 seconds)

Similiar Articles:





7/15/2012 3:09:59 PM


Reply: