[jira] [Assigned] (PROTON-1615) c++: container leaks if exception thrown by handler.
[ https://issues.apache.org/jira/browse/PROTON-1615?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alan Conway reassigned PROTON-1615: --- Assignee: (was: Alan Conway) > c++: container leaks if exception thrown by handler. > > > Key: PROTON-1615 > URL: https://issues.apache.org/jira/browse/PROTON-1615 > Project: Qpid Proton > Issue Type: Bug > Components: cpp-binding >Reporter: Alan Conway >Priority: Major > Labels: leak > > An exception throw by a handler is re-thrown out of container.run() as > expected, however > the container does not shut down cleanly and many leaks are reported by > valgrind or asan. The container should be exception-safe. > To demonstrate the problem apply this small patch to the helloworld_direct > example. > examples/cpp/helloworld_direct.cpp | 1 + > modified examples/cpp/helloworld_direct.cpp > @@ -53,6 +53,7 @@ class hello_world_direct : public proton::messaging_handler > { > > // Receive one message and stop listener > void on_message(proton::delivery &, proton::message &m) OVERRIDE { > +throw std::runtime_error("thrown from on_message"); > std::cout << m.body() << std::endl; > listener.stop(); > } -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Assigned] (PROTON-1615) c++: container leaks if exception thrown by handler.
[ https://issues.apache.org/jira/browse/PROTON-1615?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Justin Ross reassigned PROTON-1615: --- Assignee: Alan Conway (was: Andrew Stitcher) > c++: container leaks if exception thrown by handler. > > > Key: PROTON-1615 > URL: https://issues.apache.org/jira/browse/PROTON-1615 > Project: Qpid Proton > Issue Type: Bug > Components: cpp-binding >Reporter: Alan Conway >Assignee: Alan Conway > Labels: leak > Fix For: proton-c-0.19.0 > > > An exception throw by a handler is re-thrown out of container.run() as > expected, however > the container does not shut down cleanly and many leaks are reported by > valgrind or asan. The container should be exception-safe. > To demonstrate the problem apply this small patch to the helloworld_direct > example. > examples/cpp/helloworld_direct.cpp | 1 + > modified examples/cpp/helloworld_direct.cpp > @@ -53,6 +53,7 @@ class hello_world_direct : public proton::messaging_handler > { > > // Receive one message and stop listener > void on_message(proton::delivery &, proton::message &m) OVERRIDE { > +throw std::runtime_error("thrown from on_message"); > std::cout << m.body() << std::endl; > listener.stop(); > } -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Assigned] (PROTON-1615) c++: container leaks if exception thrown by handler.
[ https://issues.apache.org/jira/browse/PROTON-1615?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Stitcher reassigned PROTON-1615: --- Assignee: Andrew Stitcher > c++: container leaks if exception thrown by handler. > > > Key: PROTON-1615 > URL: https://issues.apache.org/jira/browse/PROTON-1615 > Project: Qpid Proton > Issue Type: Bug > Components: cpp-binding >Reporter: Alan Conway >Assignee: Andrew Stitcher > Labels: leak > Fix For: proton-c-0.19.0 > > > An exception throw by a handler is re-thrown out of container.run() as > expected, however > the container does not shut down cleanly and many leaks are reported by > valgrind or asan. The container should be exception-safe. > To demonstrate the problem apply this small patch to the helloworld_direct > example. > examples/cpp/helloworld_direct.cpp | 1 + > modified examples/cpp/helloworld_direct.cpp > @@ -53,6 +53,7 @@ class hello_world_direct : public proton::messaging_handler > { > > // Receive one message and stop listener > void on_message(proton::delivery &, proton::message &m) OVERRIDE { > +throw std::runtime_error("thrown from on_message"); > std::cout << m.body() << std::endl; > listener.stop(); > } -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org