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

Reply via email to