AW: Re: [omniORB] Debug Assertion Failed although compiled with *.rtd.lib and run the Debug.exe?

baileyk@schneider.com baileyk@schneider.com
Thu Dec 12 14:22:02 2002


I would try two things:

1. Make an explicit call to CORBA::wstring_dup() rather than rely on the
implicit call that the const* should trigger.

2. If that doesn't work (and I doubt it will), then modify omniORB in such
a way that the string allocation functions are not inlined and then
recompile omniORB and your application.

If number 2 works, then there is still a mix of different runtime libraries
in your process.  You would need to do a careful link dependency analysis
to find the problem.

Kendall




                                                                                                                             
                    "Uli Syber"                                                                                              
                    <uli.syber@schraml.de>             To:     "Duncan Grisby" <duncan@grisby.org>                           
                    Sent by:                           cc:     omniorb-list@omniorb-support.com                              
                    omniorb-list-admin@omniorb-s       Fax to:                                                               
                    upport.com                         Subject:     AW: Re: [omniORB] Debug Assertion Failed although        
                                                        compiled with *.rtd.lib and run the Debug.exe?                       
                                                                                                                             
                    12/12/2002 07:05 AM                                                                                      
                                                                                                                             
                                                                                                                             




Hi Duncan,

thanks a lot for your help. When I try to fill the wstring sequence with a
wstring from an array and send it, the Assertion appears again.

void Echo_i::echoString(Example::StringList_out idList,CORBA::Long& length)
{
           wchar_t** list;
           list=getIDList(&len);          //return((wchar_t**)idList);

           idList = new Example::StringList(len);
           idList->length(len);
           length=len;

           for(i=0;i<len;i++)
           {

                          (*idList)[i] =(const CORBA::WChar*)list[i];

                     CoTaskMemFree(list[i]);
                     //wprintf(L"myList: %s\n",*(List+i));
           }
}


with greetings,
Uli