qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chuck Rolke (JIRA)" <qpid-...@incubator.apache.org>
Subject [jira] Updated: (QPID-2798) C++ Messaging Client .NET binding fails to clone managed objects correctly
Date Fri, 13 Aug 2010 19:00:20 GMT

     [ https://issues.apache.org/jira/browse/QPID-2798?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Chuck Rolke updated QPID-2798:
------------------------------

    Attachment: crash-double-free-02.patch

Based at qpid\cpp\bindings\qpid\dotnet, this patch creates managed objects in a more rational
way. 

Identified in comments as an 'unmanaged clone', a managed object constructor is given an unmanaged
object. The unmanaged object is copied and wrapped in a new managed object maintaining the
principle that now two managed objects reference the same unmanaged object.

Also:
  * csharp.map.sender and csharp.map.receiver get the target Address from a command line arg.
  * functions bool Receiver::Fetch(), and bool Receiver::Get() are temporarily removed.
  * Session copy constructor adds a missing copy of the parentConnection pointer.
  * Some stray debug code is deleted.

> C++ Messaging Client .NET binding fails to clone managed objects correctly
> --------------------------------------------------------------------------
>
>                 Key: QPID-2798
>                 URL: https://issues.apache.org/jira/browse/QPID-2798
>             Project: Qpid
>          Issue Type: Bug
>         Environment: A case where managed code asserts while creating a managed object.
>            Reporter: Chuck Rolke
>         Attachments: crash-double-free-02.patch
>
>
> The specific case that failed was 
>   request = receiver.fetch();
>   address = request.ReplyTo;
>   sender = session.CreateSender(address);
> The bug occurs during the cloning of the Address object from the request.ReplyTo. After
that line of code there are two managed objects that have pointers to the same unmanaged object.
When the CreateSender function asserts then the process will get an accvio during shutdown.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


Mime
View raw message