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.
|