qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chuck Rolke <cro...@redhat.com>
Subject Help with Windows app design
Date Tue, 21 Sep 2010 16:00:06 GMT
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:dev-subscribe@qpid.apache.org


Mime
View raw message