Guys. For some reason I am still getting the exact same error on Access Violation in Release mode. I made a sync to head revision which supposedly carries the mentioned CL, linked the dlls. but still same error. Is this verified for other people? am I missing anything?
Thanks QU2 On Mon, Oct 11, 2010 at 10:39 AM, Chuck Rolke <[email protected]> wrote: > This issue is fixed in recent check-in r1021351. Part of the release build > was including debug MSVC runtime libraries. This linked OK but caused the > access violation at run time. > > The check-in also adds configuration RelWithDebInfo so that the > bld-winsdk.ps1 script can build a coherent set of libraries for the SDK. > > -Chuck > > ----- "Ted Ross" <[email protected]> wrote: > > > From: "Ted Ross" <[email protected]> > > To: [email protected] > > Sent: Tuesday, October 5, 2010 11:58:16 AM GMT -05:00 US/Canada Eastern > > Subject: Re: Issue with C# binding libraries > > > > We're seeing the same thing happen and we're looking for a solution. > > > > I'll follow up on this list with anything we learn. > > > > -Ted > > > > > > On 10/05/2010 11:34 AM, qpid user 2 wrote: > > > Guys. Sorry but I am still struggling with this issue. I thought > > maybe the > > > issue linked below is related and can fix it. its related to how > > managed > > > objects are cloned on csharp wrapper. I built from the head rev but > > does not > > > seem to be the case. Could you guys help me on this? > > > > > > Just to refresh mind, the problem is that I get exception when using > > the > > > dotnet binding library ONLY in Release mode. The debug mode works > > fine. > > > Following is the stack trace of the exception: > > > > > > System.AccessViolationException was unhandled > > > Message="Attempted to read or write protected memory. This is > > often an > > > indication that other memory is corrupt." > > > Source="org.apache.qpid.messaging" > > > StackTrace: > > > at qpid.messaging.Connection.{ctor}(Connection* , > > > basic_string<char\,std::char_traits<char>\,std::allocator<char> >* > > , > > > > > map<std::basic_string<char\,std::char_traits<char>\,std::allocator<char> > > > > > >> > > > \,qpid::types::Variant\,std::less<std::basic_string<char\,std::char_traits<char>\,std::allocator<char> > > >> > > >> > > > \,std::allocator<std::pair<std::basic_string<char\,std::char_traits<char>\,std::allocator<char> > > >> const \,qpid::types::Variant> > >* ) > > >> > > > at Org.Apache.Qpid.Messaging.Connection..ctor(String url) > > in > > > > > > c:\rimprojects\dev\enterprise\instrumentation\enterprise\instrumentation\vendor\qpid-0.6x\cpp\bindings\qpid\dotnet\src\connection.cpp:line > > > 48 > > > at > > Rim.Core.Instrumentation.Utilities.AgentConnection..ctor(String > > > ConnectionStr) in > > > > > > C:\rimProjects\dev\Enterprise\INSTRUMENTATION\enterprise\instrumentation\shared\csharp\Source\Utilities\Connection.cs:line > > > 39 > > > at > > Rim.Core.Instrumentation.Utilities.Sinks.AgentSink..ctor() in > > > > > > C:\rimProjects\dev\Enterprise\INSTRUMENTATION\enterprise\instrumentation\shared\csharp\Source\Utilities\Sinks.cs:line > > > 72 > > > at > > Rim.Core.Instrumentation.Examples.Bes.Program.Main(String[] args) > > > in > > > > > > C:\rimProjects\dev\Enterprise\INSTRUMENTATION\enterprise\instrumentation\client\csharp\BES\Examples\ExampleUsage.cs:line > > > 29 > > > at System.AppDomain._nExecuteAssembly(Assembly assembly, > > String[] > > > args) > > > at System.AppDomain.ExecuteAssembly(String assemblyFile, > > Evidence > > > assemblySecurity, String[] args) > > > at > > Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() > > > at System.Threading.ThreadHelper.ThreadStart_Context(Object > > state) > > > at System.Threading.ExecutionContext.Run(ExecutionContext > > > executionContext, ContextCallback callback, Object state) > > > at System.Threading.ThreadHelper.ThreadStart() > > > InnerException: > > > > > > > > > > > > Any help would be appreciated. > > > > > > On Fri, Oct 1, 2010 at 3:55 PM, qpid user 2<[email protected]> > > wrote: > > > > > > > > >> Adding the link would help: > > >> https://issues.apache.org/jira/browse/QPID-2798 > > >> > > >> The issue reported sound like the one I am facing now. > > >> > > >> Thanks > > >> > > >> > > >> On Fri, Oct 1, 2010 at 3:54 PM, qpid user 2<[email protected]> > > wrote: > > >> > > >> > > >>> Thanks Ted. I found this issue reported by you and a fix has > > already been > > >>> patched for it. Is it related to the same issue? > > >>> > > >>> > > >>> On Fri, Oct 1, 2010 at 2:52 PM, Ted Ross<[email protected]> > > wrote: > > >>> > > >>> > > >>>> You're right, that's not a very good URL. > > >>>> > > >>>> The thread started with a message from Chuck Rolke with subject > > "Help > > >>>> with Windows app design" on 9/21/2010 12:00PM EDT. The text of > > his message > > >>>> was: > > >>>> > > >>>> ======== > > >>>> > > >>>> Hi, > > >>>> > > >>>> I'm working with the qpid cpp messaging dotnet client. A quick > > review: user programs are in a .NET managed language, say C#. They > > refer to an Interop DLL that connects them to the unmanaged qpid > > messaging layer built by qpid/cpp. > > >>>> > > >>>> Running under debug things are fine. However, when I switch to > > Release or RelWithDebInfo, the qpid messaging DLL functions crash in > > the function prologue while it is trying to install it's exception > > handler. I've reproduced that failing call chain below. It acts like > > the FS:[0] chain is read-only. > > >>>> > > >>>> From reading John Robbins I suspect that default exception > > handling being synchronous in Debug and asynchronous in Release may be > > an issue but I can't pinpoint it. All the qpid messaging dlls are > > linked the same (/EHsc, Multi-threaded DLL) for Debug and Release. In > > Debug mode one can step through writing to FS:[0] just fine. > > >>>> > > >>>> I'd appreciate some discussion. > > >>>> > > >>>> Regards, > > >>>> Chuck > > >>>> > > >>>> C# code > > >>>> ======= > > >>>> > > >>>> connection = new Connection(broker); > > >>>> > > >>>> C++ Binding DLL > > >>>> =============== > > >>>> > > >>>> Connection::Connection(System::String ^ url) : > > >>>> connectionp(new > > ::qpid::messaging::Connection(QpidMarshal::ToNative(url))) > > >>>> { > > >>>> } > > >>>> > > >>>> Qpid Messaging DLL > > >>>> ================== > > >>>> > > >>>> qpid::messaging::Connection::Connection: > > >>>> > > >>>> 6264E580 push 0FFFFFFFFh > > >>>> 6264E582 push 626841EBh > > >>>> 6264E587 mov eax,dword ptr fs:[00000000h] > > >>>> 6264E58D push eax > > >>>> 6264E58E push ecx > > >>>> 6264E58F push esi > > >>>> 6264E590 mov eax,dword ptr [___security_cookie > > (626A92D0h)] > > >>>> 6264E595 xor eax,esp > > >>>> 6264E597 push eax > > >>>> 6264E598 lea eax,[esp+0Ch] > > >>>> 6264E59C mov dword ptr fs:[00000000h],eax<--- fails > > here > > >>>> 6264E5A2 mov esi,ecx > > >>>> 6264E5A4 push 1F8h > > >>>> 6264E5A9 mov dword ptr [esi],0 > > >>>> 6264E5AF call operator new (62682202h) > > >>>> > > >>>> > > --------------------------------------------------------------------- > > >>>> Apache Qpid - AMQP Messaging Implementation > > >>>> Project: http://qpid.apache.org > > >>>> Use/Interact: > > mailto:[email protected]<[email protected]> > > >>>> > > >>>> > > >>>> ======== > > >>>> > > >>>> > > >>>> On 10/01/2010 02:19 PM, qpid user 2 wrote: > > >>>> > > >>>> Sorry Ted but I cant seem to find the thread there. Do you mind > > pointing > > >>>> me to the discussion there? > > >>>> > > >>>> Thanks > > >>>> > > >>>> > > >>>> On Fri, Oct 1, 2010 at 1:27 PM, Ted Ross<[email protected]> > > wrote: > > >>>> > > >>>> > > >>>>> On 10/01/2010 01:10 PM, qpid user 2 wrote: > > >>>>> > > >>>>> > > >>>>>> Hi folks, > > >>>>>> > > >>>>>> I am having an issue with C# binding dll when trying to connect > > to the > > >>>>>> broker. This issue only happens in Release mode. I get an > > exception > > >>>>>> when > > >>>>>> trying to instantiate a Connection object and pass on a > > connection url > > >>>>>> to > > >>>>>> target the broker. the original exception is > > AccessViolationException: > > >>>>>> "Attempted to read or write protected memory. This is often an > > >>>>>> indication > > >>>>>> that other memory is corrupt.". and it happens in > > Connection.cpp when > > >>>>>> QpidMarshal::ToNative(url) returns. I am assuming that this > > function is > > >>>>>> responsible to convert managed strings into a native encoding. > > >>>>>> > > >>>>>> Can someone provide some help on this? Any help would be much > > >>>>>> appreciated. > > >>>>>> > > >>>>>> I can provide more detailed info if necessary. > > >>>>>> > > >>>>>> Thanks. > > >>>>>> Qpid.User.2! > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>> QU2, > > >>>>> > > >>>>> This has been seen before (see this thread on dev: > > >>>>> > > http://mail-archives.apache.org/mod_mbox/qpid-dev/201009.mbox/browser). > > >>>>> > > >>>>> -Ted > > >>>>> > > >>>>> > > >>>>> > > --------------------------------------------------------------------- > > >>>>> Apache Qpid - AMQP Messaging Implementation > > >>>>> Project: http://qpid.apache.org > > >>>>> Use/Interact: mailto:[email protected] > > >>>>> > > >>>>> > > >>>>> > > >>>> > > >>>> > > >>> > > >> > > > > > > > > > --------------------------------------------------------------------- > > Apache Qpid - AMQP Messaging Implementation > > Project: http://qpid.apache.org > > Use/Interact: mailto:[email protected] > > --------------------------------------------------------------------- > Apache Qpid - AMQP Messaging Implementation > Project: http://qpid.apache.org > Use/Interact: mailto:[email protected] > >
