[Ace-users] [tao-users] TAO IFR does not support Struct or a struct llist, whose members has recursive struct, as operation return type
Johnny Willemsen
jwillemsen at remedy.nl
Wed Nov 28 05:53:57 CST 2007
Hi,
For any questions regarding the OCI distribution of TAO contact
support at ociweb.com. Try TAO 1.6.1 which you can obtain from
http://download.dre.vanderbilt.edu
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 ***
*** Commercial service and support for ACE/TAO/CIAO ***
*** See http://www.theaceorb.nl/en/support.html ***
"wodaxia" <xushijie1982 at yahoo.com.cn> wrote in message
news:<488d1fa9-1df6-41d4-b97f-357a7d5453a0 at d4g2000prg.googlegroups.com>...
> ACE VERSION: 5.5a
>
> HOST MACHINE and OPERATING SYSTEM:
> SunOS zsups202 5.10 Generic sun4u sparc SUNW,Sun-Fire-480R
> (Solaris 10)
>
> TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
> COMPILER NAME AND VERSION (AND PATCHLEVEL):
> CC(workshop_c++-11.0_p1/SUNWspro): Sun C++ 5.8 Patch 121017-10
> 2007/02/21
> gcc version 3.4.3
> GNU Make 3.81
> CONTENTS OF $ACE_ROOT/ace/config.h [if you use a link to a
> platform-
> specific file, simply state which one]:
> #include "ace/config-sunos5.8.h"
> #include "ace/config-sunos5.9.h"
> #include "ace/config-sunos5.10.h"
>
> CONTENTS OF $ACE_ROOT/include/makeinclude/platform_macros.GNU [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++)]:
> include $(ACE_ROOT)/include/makeinclude/platform_sunos5_sunc++.GNU
>
> CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/
> default.features
> (used by MPC when you generate your own makefiles):
> *_ROOT
> TAO_ROOT, $ACE_ROOT/TAO
> CIAO_ROOT, $TAO_ROOT/CIAO
>
>
> LEVEL OF URGENCY (LOW, MEDIUM, or HIGH):
> HIGH
> AREA/CLASS/EXAMPLE AFFECTED:
> [What example failed? What module failed to compile?]
> Tao_ifr aborts when we repeat putting the same IDL file which
> includes 'typedef' to the IFR.
> DOES THE PROBLEM AFFECT: YES
> COMPILATION? NO
> LINKING? NO
> On Unix systems, did you run make realclean first?
> EXECUTION? YES
> OTHER (please specify)?
> [Please indicate whether ACE, your application, or both are affected.]
> Our client application that uses IFR service to construct DII
> request is impacted.
> SYNOPSIS:
> [Brief description of the problem]
> The process IFR_Service crashes when an IDL file is inserted into it
> using tao_ifr. and the following exceptions is thrown out:
>
> 19586|1) EXCEPTION, ifr_adding_visitor_operation::visit_operation
> system exception, ID 'IDL:omg.org/CORBA/COMM_FAILURE:1.0'
> TAO exception, minor code = 6 (failed to recv request response;
> ENOENT), completed = MAYBE
>
> (ifr_adding_visitor.cpp:106) ifr_adding_visitor::visit_scope - failed
> to accept visitor
> (ifr_adding_visitor.cpp:2650) ifr_adding_visitor::create_interface_def
> - visit_scope failed
> (ifr_adding_visitor.cpp:106) ifr_adding_visitor::visit_scope - failed
> to accept visitor
> (ifr_adding_visitor.cpp:217) ifr_adding_visitor::visit_module -
> visit_scope failed
> (ifr_adding_visitor.cpp:106) ifr_adding_visitor::visit_scope - failed
> to accept visitor
> (ifr_adding_visitor.cpp:2177) ifr_adding_visitor::visit_root -
> visit_scope failed
> (be_produce.cpp:221) BE_produce - failed to accept adding visitor
> Fatal Error - Aborting
> [2] - Segmentation fault
>
>
>
> DESCRIPTION:
> [Detailed description of problem. Don't just say "<blah> doesn't
> work, here's a fix," explain what your program does to get to the
> <blah> state. ]
>
> This exception seems to show up when a list of structs or a struct,
> one of whoes members is recursion struct, is used as the return
> parameter from an operation. In the following sample IDL, line 12 and
> 14 will be OK, but line 11 and 13 will produce the above exception and
> IFR service to crash down.
>
> //FMK_ItString.idl
> 1: struct FMK_JobInfo {
> 2: sequence<FMK_JobInfo> children; // ERROR IN WICL IDL files
> defination
> 3: // sequence<string> children; //OK
> 4: };
> 5: struct JobSummary {
> 6: FMK_JobInfo jobInfo;
> 7: } ;
> 8: typedef sequence<JobSummary> FMK_ItSeqJobSummary; //error in
> WICL IDL files
> 9: definatopm
> 10: interface aaa {
> 11: //FMK_ItSeqJobSummary op(in string a, in string b); //Error
> 12: //FMK_ItSeqJobInfo op_1(); //OK
> 13: //JobSummary op_2(); //Error
> 14: //FMK_JobInfo op_3(); //OK
> 12: };
>
>
> REPEAT BY:
> [What you did to get the error; include test program or session
> transcript if at all possible. ]
> Run the command repeatly:
> Start up IFR Service:
> $TAO_ROOT/orbsvcs/IFR_Service/IFR_Service -o if_repo.ior &
> Put IDL file into the IFR:
> $ACE_ROOT/bin/tao_ifr -v -ORBInitRef InterfaceRepository=file://
> if_repo.ior FMK_ItString.idl
>
> SAMPLE FIX/WORKAROUND:
> [If available ]
More information about the Ace-users
mailing list