[prev in list] [next in list] [prev in thread] [next in thread]
List: activemq-dev
Subject: [jira] Closed: (AMQCPP-59) Exception is thrown when destroying
From: "Nathan Mittler (JIRA)" <jira () apache ! org>
Date: 2007-01-29 12:20:03
Message-ID: 22816717.1170073203057.JavaMail.jira () brutus
[Download RAW message or body]
[ https://issues.apache.org/activemq/browse/AMQCPP-59?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel \
]
Nathan Mittler closed AMQCPP-59.
--------------------------------
Resolution: Fixed
Since it sounds like it's working now, I'm closing this issue.
> Exception is thrown when destroying consumer after connection failure
> ---------------------------------------------------------------------
>
> Key: AMQCPP-59
> URL: https://issues.apache.org/activemq/browse/AMQCPP-59
> Project: ActiveMQ C++ Client
> Issue Type: Bug
> Affects Versions: 2.0
> Reporter: Albert Strasheim
> Assigned To: Nathan Mittler
> Fix For: 2.0
>
>
> Brought over from AMQCPP-46.
> In a program that reconnects when it detects a connection failure using an \
> exception listener, there seem to be two different places where exceptions can \
> originate. In most cases when I shut down the broker and the exception listener \
> fires properly and I can clean up everything (without deletes throwing exceptions), \
> the stack trace that gets printed on the console looks like this: {noformat}
> WARNING: activemq::io::SocketInputStream::read - The connection is broken
> FILE: ..\src\main\activemq\network\SocketInputStream.cpp, LINE: 137
> FILE: ..\src\main\activemq\io\BufferedInputStream.cpp, LINE: 199
> FILE: ..\src\main\activemq\io\BufferedInputStream.cpp, LINE: 83
> FILE: ..\src\main\activemq\connector\stomp\StompCommandReader.cpp, LINE: 216
> FILE: ..\src\main\activemq\connector\stomp\StompCommandReader.cpp, LINE: 120
> FILE: ..\src\main\activemq\connector\stomp\StompCommandReader.cpp, LINE: 71
> FILE: ..\src\main\activemq\transport\IOTransport.cpp, LINE: 175
> {noformat}
> The message is printed twice with different tids, from the two threads that are \
> active. Sometimes when I shut down the broker and the exception handler fires and I \
> clean up everything but then the consumer's destructor throws an exception. In that \
> case, the stack trace that is printed looks like this: {noformat}
> WARNING: activemq::io::SocketInputStream::read - An existing connection was \
> forcibly closed by the remote host.
> FILE: ..\src\main\activemq\network\SocketInputStream.cpp, LINE: 145
> FILE: ..\src\main\activemq\io\BufferedInputStream.cpp, LINE: 199
> FILE: ..\src\main\activemq\io\BufferedInputStream.cpp, LINE: 83
> FILE: ..\src\main\activemq\connector\stomp\StompCommandReader.cpp, LINE: 216
> FILE: ..\src\main\activemq\connector\stomp\StompCommandReader.cpp, LINE: 120
> FILE: ..\src\main\activemq\connector\stomp\StompCommandReader.cpp, LINE: 71
> FILE: ..\src\main\activemq\transport\IOTransport.cpp, LINE: 175
> {noformat}
> Again I see this message from both threads. Note the slightly different line \
> numbers in SocketInputStream.cpp and the slighty different error message (this is \
> on Windows XP SP2). In this case the failure of the socket is probably being \
> detected in a slightly different place. If the socket failure happens in the second \
> way, it seems that destructors of consumers (and possibly producers and sessions) \
> don't properly catch the exception when being destroying, causing their destructors \
> to throw an exception, which isn't what we want.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic