|
From: zareen <zar...@do...> - 2017-01-17 07:53:07
|
Hello Adam,
On 01/16/2017 08:21 PM, Adam Mitz wrote:
> Hi Zareen,
>
> On 1/16/2017 12:05 AM, zareen wrote:
>> I have rebuild OpenDDS with the changes specified in your earlier mail
>> and successfully generated the wrapper dll. But when I link all the dll
>> files, my c# application crashes. I have tried debugging it and it
>> points out an error on line number 438 void
>> wait_for_startup(){barrier_.wait()); in Service_Participant.h.
> I don't have enough information to know what's going on here. Can you
> show a complete stack trace and the source code required to reproduce
> this error?
In my c# application, I am trying to create a simple test publisher and
subscriber given in mnb.ociweb.com/mnb/MiddlewareNewsBrief-201006.html
website. If I only add the wrapper dll to my publisher application, it
crashes with an error message of WSAStartup. I have handled this error
in my code and after doing that I get another run-time error at line
number 413 reactor_task_.wait_for_startup().And the output windows shows
the following-
Step into: Stepping over non-user code
'DDS::DomainParticipantQos::DomainParticipantQos'
The program '[1656] ConsoleApplication1.exe: Managed (v4.0.30319)' has
exited with code -1073741819 (0xc0000005).
And my call stack while debugging is as follows-
OpenDDS_Dcps.dll!OpenDDS::DCPS::Service_Participant::get_domain_participant_factory(int
&argc, char ** argv) Line 413
[External code]
Message_DDSImpl.dll!DDSNet::DDSBase(int argc, char **argv) Line 54 +
0x22 bytes
Message_DDSImpl.dll!DDSNet::DDSImpl(int argc, char **argv) Line 81 +
0x10 bytes
Message_DDSImpl.dll!DDSNet::DDSNet() Line 113 + 0x2d bytes
ConsoleApplication1.exe!ConsoleApplication1.Program.Main(string [] args)
Line 55 + 0x21 bytes
I have also used dependency walker to check dependency of my executable,
it gives the following error-
second chance exception 0xC0000005[Access violation] occured in
"NTDLL.DLL" at address 0x0000000077892F86
>
>
>> I have added OpenDDS_Dcps.dll, OpenDDS_FACE.dll, OpenDDS_Federator.dll,
>> OpenDDS_Monitor.dll, OpenDDS_monitor.dll, OpenDDS_Multicast.dll,
>> OpenDDS_Rtps.dll, OpenDDS_Rtps_Udp.dll, OpenDDS_Shmem.dll,
>> OpenDDS_Tcp.dll and OpenDDS_Udp.dll and dlls related to InfoRepo to the
>> references of my c# solution file.
>> Also is there a need to rebuild OpenDDS dependencies that is ACE
>> and TAO with /clr support? When I try to build ACE project with /clr
>> support, it fails.
> I don't know of a reason to do that. We're not using /clr to build
> OpenDDS so why would we do that for ACE and TAO? In general, only use
> /clr for a wrapper library that sits on top of standard C++ libraries.
As per your earlier mail on the same subject dated 12/30/2016 08:37 pm
IST, you have mentioned to rebuild OpenDDS with /clr support by doing
the changes suggested by David Cornellius. I have followed those
instructions and rebuild OpenDDS with /clr support. In addition to this,
I have build the wrapper library successfully and added it to my c#
application.
I am looking forward to your reply.
Regards,
Zareen Ahmad
|