Hi Victor, thanks a lot for your patch. It's correct and solving your issue, but I'm afraid here you hit different bug in MICO than what you thought. First of all, I'd like to let you know that following CORBA spec, at least as I read it (strickly) is that the construct you are using in myidl2.idl is not legal. Following IDL grammar you can use just <interface_name> on this place, where <interface_name> is <scope_name> -- but not any kind of alias. So as MICO was always focused on correctness of CORBA implementation I'm not going to merge your attached patch. What I would certainly consider for merging is a patch which will fix the crash in your case and emit some clear error message complaining about not valid IDL.
Thanks! Karel On 06/ 5/11 10:51 PM, Victor Fusco wrote: > Hi, > > I am receiving a segfault when trying to generate code for a valuetype. > I think it has something to do with the valuetype supporting an > interface that is an alias. > > I have isolated the problem using the two idl files attached. You can > reproduce it running "idl -I. myidl2.idl". > > I also attached a patch that tries to solve the problem, but I am not > sure about it's correctness. Can you please take a look? > > The gdb backtrace shows this: > > Program received signal SIGSEGV, Segmentation fault. > IDLParser::collectValueDcl (this=0x7fffffffceb0, con=0x73b810, > node=0x728740) at idlparser.cc:2247 > 2247 if (sif->def_kind() == CORBA::dk_Interface) { > > (gdb) bt > #0 IDLParser::collectValueDcl (this=0x7fffffffceb0, con=0x73b810, > node=0x728740) at idlparser.cc:2247 > #1 0x0000000000438b6b in IDLParser::scan (this=0x7fffffffceb0, > con=0x73b810, node=<optimized out>) at idlparser.cc:272 > #2 0x0000000000439e03 in IDLParser::collectModule (this=0x7fffffffceb0, > con=0x737030, node=0x7288c0) at idlparser.cc:807 > #3 0x0000000000438b6b in IDLParser::scan (this=0x7fffffffceb0, > con=0x737030, node=<optimized out>) at idlparser.cc:272 > #4 0x0000000000439e03 in IDLParser::collectModule (this=0x7fffffffceb0, > con=0x7327a0, node=0x728a00) at idlparser.cc:807 > #5 0x0000000000438b6b in IDLParser::scan (this=0x7fffffffceb0, > con=0x7327a0, node=<optimized out>) at idlparser.cc:272 > #6 0x000000000043a0ea in IDLParser::collect (this=0x7fffffffceb0, > cont=0x7327a0, root=0x728cc0) at idlparser.cc:89 > #7 0x000000000041c5bd in main (argc=3, argv=<optimized out>) at > main.cc:189 > > > Thanks, > > Victor Fusco > > > > "The future is here. It's just not widely distributed yet." > William Gibson > > > > ------------------------------------------------------------------------------ > Simplify data backup and recovery for your virtual environment with vRanger. > Installation's a snap, and flexible recovery options mean your data is safe, > secure and there when you need it. Discover what all the cheering's about. > Get your free trial download today. > http://p.sf.net/sfu/quest-dev2dev2 > > > > _______________________________________________ > Mico-devel mailing list > Mico-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mico-devel -- Karel Gardas kgar...@objectsecurity.com ObjectSecurity Ltd. http://www.objectsecurity.com ------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ Mico-devel mailing list Mico-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mico-devel