[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