[ 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-subscr...@qpid.apache.org