[jira] Commented: (AMQCPP-60) message information is lost from stomp message to jms

2007-01-31 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-60?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_38443
 ] 

Nathan Mittler commented on AMQCPP-60:
--

I think I found it ... as you had indicated, we were sending the request-id 
with all messages (supposed to only send on connect message).  This is fixed in 
trunk.  Give it a shot.

 message information is lost from stomp message to jms
 -

 Key: AMQCPP-60
 URL: https://issues.apache.org/activemq/browse/AMQCPP-60
 Project: ActiveMQ C++ Client
  Issue Type: Bug
  Components: Stomp
Affects Versions: 1.1
 Environment: Using Windows XP SP2, JDK 1.6.0, Bea Weblogic Server 8.1 
 SP6, ActiveMQ-CPP 1.0, ActiveMQ 4.1 patched with Fix for AMQ-1110
Reporter: Kay Stanke
 Assigned To: Nathan Mittler
Priority: Critical
 Fix For: 2.0


 As my producer is a cpp server program i downloaded and compiled activemq-cpp 
 1.0. I managed to make activemq-cpp compile and link as shared lib / dll 
 under vc 7.1 (Visual Studio .NET 2003). My consumer is located on a bea wls 
 8.1 I use the jms to jms bridge to forward the messages. For other reasons 
 (see AMQ-1141) the forward fails. I can see in the dumped message:
 message: ActiveMQTextMessage {commandId = 3, responseRequired = false, 
 messageId = ID:KStanke-2844-1170064566619-5:0:-1:1:1, 
 originalDestination = null, 
 originalTransactionId = null, 
 producerId = ID:KStanke-2844-1170064566619-5:0:-1:1, 
 destination = queue://TEST.FOO, 
 transactionId = null, expiration = 0, 
 timestamp = 1170064774288, 
 arrival = 0, 
 correlationId = null, 
 replyTo = null, 
 persistent = false, 
 type = null, 
 priority = 4, 
 groupID = null, 
 groupSequence = 0, targetConsumerId = null, compressed = false, 
 userID = null, content = [EMAIL PROTECTED], 
 marshalledProperties = [EMAIL PROTECTED], dataStructure = null, 
 redeliveryCounter = 0, size = 0, properties = {request-id=2}, 
 readOnlyProperties = true, 
 readOnlyBody = true, droppable = false, text = null}
 i'm missing the persistence as i used pProducer-setDeliveryMode( 
 DeliveryMode::PERSISTANT ); As my message is a text message i'm missing the 
 message text as well. I created the message with: pMessage = 
 pSession-createTextMessage(messageText); with an nonempty string. 

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



[jira] Commented: (AMQCPP-62) Broken CLIENT_ACKNOWLEDGE

2007-01-31 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-62?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_38444
 ] 

Nathan Mittler commented on AMQCPP-62:
--

I've made a fix to the validation of received ack messages.  Give the latest 
trunk a whirl.

 Broken CLIENT_ACKNOWLEDGE
 -

 Key: AMQCPP-62
 URL: https://issues.apache.org/activemq/browse/AMQCPP-62
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.0, 1.1
 Environment: Windows XP SP2
 Visual C++ 8
Reporter: Manuel Vivo
 Assigned To: Nathan Mittler
 Fix For: 2.0

 Attachments: test-1-0.zip, test-1-1.zip


 We've been trying to use the CLIENT_ACKNOWLEDGE mode without success. As a 
 test, we've modified the example code in the distribution so it uses 
 CLIENT_ACKNOWLEDGE, and it gives an error. I'm attaching the modified C++ 
 code, and the output.
 We're using the release versions of ActiveMQ (4.1.0) and ActiveMQ CPP (1.0)
 We've tried also with the latest snapshot of ActiveMQ 
 (apache-activemq-4.2-incubator-20070120.082020-21.zip) and the version 1.1 of 
 ActiveMQ CPP, downloaded with
 svn co 
 https://svn.apache.org/repos/asf/incubator/activemq/activemq-cpp/tags/activemq-cpp-1.1
  
 It doesn't work either, but the error message is different. I'm attaching the 
 modified code and the related output also. 

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



[jira] Updated: (AMQCPP-64) Inconsistency in topic names when creating topics

2007-01-31 Thread Nathan Mittler (JIRA)

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

Nathan Mittler updated AMQCPP-64:
-

  Description: 
Hi 

I am using the activemq-cpp cms api 1.0 release. The problem I am facing is 
like this- 
My producer sends a message to the consumer and a message should be sent from 
the receiving end as a reply after this - consider a situation where a 
loginRequest message has been sent and now a loginReply message should be sent 
from the receiving end. 

Attached is a sample main that can reproduce the problem I am facing - I have 
modified the sample helloproducer helloconsumer code available at 
http://activemq.org/site/activemq-cpp-client.html  
to reproduce my problem so that its easier for you to see. Please see attached 
cpp file = DestProbs.cpp.

If you execute this piece of code you will see the output as in the attached 
image file (see attachments = DestinationProblem.JPG)

This is what the code does 
producer lets call it xxx sends a Hello world! from thread  to the 
consumer 
consumer lets call it yyy receives the message and displays it 
this is the normal behavior as given in the example on 
http://activemq.org/site/activemq-cpp-client.html 
Following extra needs to be done now 
from yyy a reply should go back to xxx ... for this i registered a producer at 
yyy by creating a topic using the message-getCMSReplyTo() and then replying 
back to that destination. 

The mismatch can be easily see by doing a bstat  when I created the 
consumer yyy initially it created a topic by name say ABCDEFGH (which is a 
random id) and later on when I used the message-getCMSReplyTo() to create a 
topic the topic was registered with the name /topic/ABCDEFGH . the 
additional /topic/ that has got added is doing a mess up here and the replies 
from yyy to xxx are not reaching xxx (getting enqueued and not dequeued) ... 

the /topic/ gets added due to the following statement in HelloWorldProducer - 
run method 
message-setCMSReplyTo(replyTopic-toProviderString()); 
here the toProviderString method adds it actually ... if you replace this 
method with just the toString() method ... you will get a stomp exception 
saying that destinations should start with either /topic/ or /queue/ 

Can somebody make this code work please. 

For every message sent by the producer to consumer Hello world! from thread 
 there should be a reply coming back as Thank you for Hello World !!! 

Please help me urgently here. 

Thank you in advance 

Lalit Nagpal 
CSA, SunGard 

  was:

Hi 

I am using the activemq-cpp cms api 1.0 release. The problem I am facing is 
like this- 
My producer sends a message to the consumer and a message should be sent from 
the receiving end as a reply after this - consider a situation where a 
loginRequest message has been sent and now a loginReply message should be sent 
from the receiving end. 

Attached is a sample main that can reproduce the problem I am facing - I have 
modified the sample helloproducer helloconsumer code available at 
http://activemq.org/site/activemq-cpp-client.html  
to reproduce my problem so that its easier for you to see. Please see attached 
cpp file = DestProbs.cpp.

If you execute this piece of code you will see the output as in the attached 
image file (see attachments = DestinationProblem.JPG)

This is what the code does 
producer lets call it xxx sends a Hello world! from thread  to the 
consumer 
consumer lets call it yyy receives the message and displays it 
this is the normal behavior as given in the example on 
http://activemq.org/site/activemq-cpp-client.html 
Following extra needs to be done now 
from yyy a reply should go back to xxx ... for this i registered a producer at 
yyy by creating a topic using the message-getCMSReplyTo() and then replying 
back to that destination. 

The mismatch can be easily see by doing a bstat  when I created the 
consumer yyy initially it created a topic by name say ABCDEFGH (which is a 
random id) and later on when I used the message-getCMSReplyTo() to create a 
topic the topic was registered with the name /topic/ABCDEFGH . the 
additional /topic/ that has got added is doing a mess up here and the replies 
from yyy to xxx are not reaching xxx (getting enqueued and not dequeued) ... 

the /topic/ gets added due to the following statement in HelloWorldProducer - 
run method 
message-setCMSReplyTo(replyTopic-toProviderString()); 
here the toProviderString method adds it actually ... if you replace this 
method with just the toString() method ... you will get a stomp exception 
saying that destinations should start with either /topic/ or /queue/ 

Can somebody make this code work please. 

For every message sent by the producer to consumer Hello world! from thread 
 there should be a reply coming back as Thank you for Hello World !!! 

Please help me urgently here. 

Thank you in advance 

Lalit 

[jira] Resolved: (AMQCPP-64) Inconsistency in topic names when creating topics

2007-01-31 Thread Nathan Mittler (JIRA)

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

Nathan Mittler resolved AMQCPP-64.
--

Resolution: Won't Fix

Looking closer at you sample code, it looks like the problem is how you're 
setting the CMSReplyTo.  The following line is incorrect:

message-setCMSReplyTo(replyTopic-toProviderString());

it should be:

message-setCMSReplyTo(replyTopic-toString());

I'm going to resolve this issue for now - if you still find problems with 
replyTo, we can always open this back up.

 Inconsistency in topic names when creating topics
 -

 Key: AMQCPP-64
 URL: https://issues.apache.org/activemq/browse/AMQCPP-64
 Project: ActiveMQ C++ Client
  Issue Type: Bug
  Components: CMS Impl, Stomp
Affects Versions: 1.0
 Environment: win / lin 
Reporter: Lalit Nagpal
 Assigned To: Nathan Mittler
 Fix For: 2.0

 Attachments: DestinationProblem.JPG, DestProbs.cpp


 Hi 
 I am using the activemq-cpp cms api 1.0 release. The problem I am facing is 
 like this- 
 My producer sends a message to the consumer and a message should be sent from 
 the receiving end as a reply after this - consider a situation where a 
 loginRequest message has been sent and now a loginReply message should be 
 sent from the receiving end. 
 Attached is a sample main that can reproduce the problem I am facing - I have 
 modified the sample helloproducer helloconsumer code available at 
 http://activemq.org/site/activemq-cpp-client.html  
 to reproduce my problem so that its easier for you to see. Please see 
 attached cpp file = DestProbs.cpp.
 If you execute this piece of code you will see the output as in the attached 
 image file (see attachments = DestinationProblem.JPG)
 This is what the code does 
 producer lets call it xxx sends a Hello world! from thread  to the 
 consumer 
 consumer lets call it yyy receives the message and displays it 
 this is the normal behavior as given in the example on 
 http://activemq.org/site/activemq-cpp-client.html 
 Following extra needs to be done now 
 from yyy a reply should go back to xxx ... for this i registered a producer 
 at yyy by creating a topic using the message-getCMSReplyTo() and then 
 replying back to that destination. 
 The mismatch can be easily see by doing a bstat  when I created the 
 consumer yyy initially it created a topic by name say ABCDEFGH (which is a 
 random id) and later on when I used the message-getCMSReplyTo() to create a 
 topic the topic was registered with the name /topic/ABCDEFGH . the 
 additional /topic/ that has got added is doing a mess up here and the replies 
 from yyy to xxx are not reaching xxx (getting enqueued and not dequeued) ... 
 the /topic/ gets added due to the following statement in HelloWorldProducer - 
 run method 
 message-setCMSReplyTo(replyTopic-toProviderString()); 
 here the toProviderString method adds it actually ... if you replace this 
 method with just the toString() method ... you will get a stomp exception 
 saying that destinations should start with either /topic/ or /queue/ 
 Can somebody make this code work please. 
 For every message sent by the producer to consumer Hello world! from thread 
  there should be a reply coming back as Thank you for Hello World !!! 
 Please help me urgently here. 
 Thank you in advance 
 Lalit Nagpal 
 CSA, SunGard 

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



[jira] Closed: (AMQCPP-61) CMSException::what returns c_str of temporary std::string

2007-01-29 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-61.


Resolution: Fixed

fixed in trunk

 CMSException::what returns c_str of temporary std::string
 -

 Key: AMQCPP-61
 URL: https://issues.apache.org/activemq/browse/AMQCPP-61
 Project: ActiveMQ C++ Client
  Issue Type: Bug
  Components: CMS Impl
Affects Versions: 2.0
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
Priority: Minor
 Fix For: 2.0


 In my debugging to figure out what's going on with AMQCPP-59, I'm sometimes 
 seeing invalid stuff getting printed out when I do printStackTrace on some 
 exceptions. I think this might be because CMSException::what returns 
 getMessage().c_str(), i.e. it seems to be returning the c_str of a 
 std::string that is allocated on the stack, since getMessage returns 
 std::string.
 An example of where what() is being called that seems to be causing problems 
 is on line 84 of ActiveMQConsumer.cpp. When I catch this exception later on 
 and print its stack trace or call its getMessage, I get garbage.

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



[jira] Commented: (AMQCPP-60) message information is lost from stomp message to jms

2007-01-29 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-60?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_38039
 ] 

Nathan Mittler commented on AMQCPP-60:
--

Many bugs have been fixed since 1.0 - I would recommend trying the latest trunk 
(or even the 1.1 tag).

 message information is lost from stomp message to jms
 -

 Key: AMQCPP-60
 URL: https://issues.apache.org/activemq/browse/AMQCPP-60
 Project: ActiveMQ C++ Client
  Issue Type: Bug
  Components: Stomp
Affects Versions: 1.1
 Environment: Using Windows XP SP2, JDK 1.6.0, Bea Weblogic Server 8.1 
 SP6, ActiveMQ-CPP 1.0, ActiveMQ 4.1 patched with Fix for AMQ-1110
Reporter: Kay Stanke
 Assigned To: Nathan Mittler
Priority: Critical
 Fix For: 2.0


 As my producer is a cpp server program i downloaded and compiled activemq-cpp 
 1.0. I managed to make activemq-cpp compile and link as shared lib / dll 
 under vc 7.1 (Visual Studio .NET 2003). My consumer is located on a bea wls 
 8.1 I use the jms to jms bridge to forward the messages. For other reasons 
 (see AMQ-1141) the forward fails. I can see in the dumped message:
 message: ActiveMQTextMessage {commandId = 3, responseRequired = false, 
 messageId = ID:KStanke-2844-1170064566619-5:0:-1:1:1, 
 originalDestination = null, 
 originalTransactionId = null, 
 producerId = ID:KStanke-2844-1170064566619-5:0:-1:1, 
 destination = queue://TEST.FOO, 
 transactionId = null, expiration = 0, 
 timestamp = 1170064774288, 
 arrival = 0, 
 correlationId = null, 
 replyTo = null, 
 persistent = false, 
 type = null, 
 priority = 4, 
 groupID = null, 
 groupSequence = 0, targetConsumerId = null, compressed = false, 
 userID = null, content = [EMAIL PROTECTED], 
 marshalledProperties = [EMAIL PROTECTED], dataStructure = null, 
 redeliveryCounter = 0, size = 0, properties = {request-id=2}, 
 readOnlyProperties = true, 
 readOnlyBody = true, droppable = false, text = null}
 i'm missing the persistence as i used pProducer-setDeliveryMode( 
 DeliveryMode::PERSISTANT ); As my message is a text message i'm missing the 
 message text as well. I created the message with: pMessage = 
 pSession-createTextMessage(messageText); with an nonempty string. 

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



[jira] Closed: (AMQCPP-59) Exception is thrown when destroying consumer after connection failure

2007-01-29 Thread Nathan Mittler (JIRA)

 [ 
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.



[jira] Commented: (AMQCPP-58) Possible memory leak when reestablishing connection

2007-01-27 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-58?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_38022
 ] 

Nathan Mittler commented on AMQCPP-58:
--

I've done a bit of clean up to catch various error conditions and clean up 
properly.  Try the latest trunk and see if that leak goes away.

 Possible memory leak when reestablishing connection
 ---

 Key: AMQCPP-58
 URL: https://issues.apache.org/activemq/browse/AMQCPP-58
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 2.0
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 2.0

 Attachments: leaker.cpp, purify-example.txt, socketleak1.diff


 Brought over from AMQCPP-46.
 There seems to be a memory leak when running the example program from 
 AMQCPP-46 which reconnects whenever the broker goes down.
 Valgrind says:
 {noformat}
 ==15493== 149,520 (89,712 direct, 59,808 indirect) bytes in 1,869 blocks are 
 definitely lost in loss record 55 of 55
 ==15493==at 0x4A19DE3: operator new(unsigned long) 
 (vg_replace_malloc.c:168)
 ==15493==by 0x45DEDD: 
 activemq::network::SocketFactory::createSocket(activemq::util::Properties 
 const) (SocketFactory.cpp:96)
 ==15493==by 0x458D0C: 
 activemq::transport::TcpTransport::TcpTransport(activemq::util::Properties 
 const, activemq::transport::Transport*, bool) (TcpTransport.cpp:42)
 ==15493==by 0x42B3EE: 
 activemq::transport::TcpTransportFactory::createTransport(activemq::util::Properties
  const) (TcpTransportFactory.cpp:55)
 ==15493==by 0x404CC0: 
 activemq::core::ActiveMQConnectionFactory::createConnection(std::string 
 const, std::string const, std::string const) 
 (ActiveMQConnectionFactory.cpp:130)
 ==15493==by 0x4042D5: 
 activemq::core::ActiveMQConnectionFactory::createConnection() 
 (ActiveMQConnectionFactory.cpp:69)
 ==15493==by 0x403D67: main (main.cpp:30)
 {noformat}
 Purify also seems to indicate that there is a link, along with with possibly 
 spurious leaks or leaks that might be related to the leak reported by 
 Valgrind.

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



[jira] Commented: (AMQCPP-59) Exception is thrown when destroying consumer after connection failure

2007-01-27 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-59?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_38024
 ] 

Nathan Mittler commented on AMQCPP-59:
--

Albert,
I think the issue was your main module.  It wasn't destroying the resources it 
allocated each time through the loop.  I've fixed this in the code below.  Give 
it a try and see if you're still having problems.

{code:title=main.cpp|borderStyle=solid}
#include activemq/core/ActiveMQConnectionFactory.h
#include cms/ExceptionListener.h
#include cms/Session.h
#include iostream

struct ExceptionListener : public cms::ExceptionListener {
bool error;

ExceptionListener() : error(false) {}

virtual ~ExceptionListener(void) {}
   
virtual void onException( const cms::CMSException ex ) {
std::cout  Got an exception in listener:   ex.getMessage()  
std::endl;
error = true;
}
};

ExceptionListener exListener;

activemq::core::ActiveMQConnectionFactory* connectionFactory = NULL;
cms::Connection* connection = NULL;
cms::Session* session = NULL;
cms::Destination* destination = NULL;
cms::MessageConsumer* consumer = NULL;

void cleanup(){
if( consumer != NULL ){
delete consumer;
consumer = NULL;
}
if( destination != NULL ){
delete destination;
destination = NULL;
}
if( session != NULL ){
delete session;
session = NULL;
}
if( connection != NULL ){
delete connection;
connection = NULL;
}
if( connectionFactory != NULL ){
delete connectionFactory;
connectionFactory = 0;
}
exListener.error = false;
}

int main(int argc, char* argv[]) {

while( true ) {
try {
activemq::core::ActiveMQConnectionFactory* connectionFactory =
new 
activemq::core::ActiveMQConnectionFactory(tcp://127.0.0.1:61613);
connection = connectionFactory-createConnection();
connection-setExceptionListener(exListener);
session = connection-createSession( cms::Session::AUTO_ACKNOWLEDGE 
);
destination = session-createTopic( TEST.FOO );
consumer = session-createConsumer( destination );
connection-start();
cms::Message* message = consumer-receive(1);
delete message;
message = 0;
cleanup();
} catch ( cms::CMSException ex ) {
std::cout  Got an exception:   ex.getMessage()  std::endl;
}
cleanup();
}

return 0;
}

{code}

 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: 

[jira] Commented: (AMQCPP-56) GCC warnings and possible SocketFactory bug on 64-bit Linux

2007-01-27 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-56?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_38021
 ] 

Nathan Mittler commented on AMQCPP-56:
--

Albert, I think you were trying out trunk while I was in the middle of changing 
things.  Specifically, the bit about the AMQCPP_UNUSED macro - I got rid of 
that in my last submittal.  Grab the latest trunk and try rebuilding - if 
you're still seeing warnings, we'll reopen.

 GCC warnings and possible SocketFactory bug on 64-bit Linux
 ---

 Key: AMQCPP-56
 URL: https://issues.apache.org/activemq/browse/AMQCPP-56
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 2.0
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
Priority: Minor
 Fix For: 2.0


 When compiling on 64-bit Linux with GCC 4.0.3, I see the following warnings:
 {noformat}
 activemq/concurrent/PooledThread.cpp:56: warning: 'task$first' may be used 
 uninitialized in this function
 activemq/concurrent/PooledThread.cpp:56: warning: 'task$second' may be used 
 uninitialized in this function
 activemq/network/SocketFactory.cpp:46: warning: comparison is always false 
 due to limited range of data type
 activemq/connector/openwire/marshal/v2/ConnectionControlMarshaller.cpp:82: 
 warning: unused variable 'info'
 activemq/connector/openwire/marshal/v2/IntegerResponseMarshaller.cpp:60: 
 warning: unused variable 'info'
 activemq/connector/openwire/marshal/v2/ReplayCommandMarshaller.cpp:61: 
 warning: unused variable 'info'
 activemq/connector/openwire/marshal/v2/ResponseMarshaller.cpp:60: warning: 
 unused variable 'info'
 {noformat}
 The first three warnings probably need to be looked at, especially the one in 
 SocketFactory.
 In my opinion, AMQCPP is using ints and unsigned ints in places where 
 std::size_t might be more appropriate. MSVC's warning level 3 catches many of 
 these issues, so we might consider upping the warning level and properly 
 dealing with the type conversion issues: mostly use std::size_t and 
 static_cast where we really intend to convert. I can prepare a few patches 
 along these lines if you think this is worthwhile.

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



[jira] Commented: (AMQCPP-46) ActiveMQConnection doesn't propagate exception listener to underlying connector

2007-01-26 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-46?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_38006
 ] 

Nathan Mittler commented on AMQCPP-46:
--

The destructor of the consumer should not throw an exception, if it is this is 
an error.  At this point, I think we've exhausted this issue. 

If you wouldn't mind, let's create two new issues:  

1) consumer detor throwing exception
2) valgrind/purify output

Thanks again for all your help!

 ActiveMQConnection doesn't propagate exception listener to underlying 
 connector
 ---

 Key: AMQCPP-46
 URL: https://issues.apache.org/activemq/browse/AMQCPP-46
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 2.0

 Attachments: amqconn-exlistener.diff, main.cpp, purify-example.txt


 My program is doing the following:
 # Create connection using ActiveMQConnectionFactory
 # Set a simple exception listener that sets a boolean flag
 # Block in receive on consumer
 If I then kill the broker, various exceptions happen, but they are never sent 
 to the exception listener, because the exception listener in StompConnector 
 is null. It seems to me that ActiveMQConnection should set and get its 
 exception listener on its underlying connector and probably doesn't have to 
 contain a pointer to the listener itself.
 If I change ActiveMQConnection as in the attached patch to also set the 
 exception listener on the underlying connector, my exception listener gets 
 called when the broker dies.
 Once I detect the failure, I delete the producer, consumer, session and 
 connection that failed. Looks like an uncaught exception is getting thrown 
 during the destruction of the producer (which is the first thing I delete 
 when cleaning up). The problem here is probably that the connection is trying 
 to close down a socket that is already broken and something goes awry. I'm 
 not quite sure how to fix this problem.
 Stack trace (with useless bits stripped out):
 {noformat}
   kernel32.dll!7c812a5b() 
   [Frames below may be incorrect and/or missing, no symbols loaded for 
 kernel32.dll]  
   kernel32.dll!7c812a5b() 
  
  myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   
  ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int  
  ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int 
  *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _First=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254),
   
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * _Last=(Bad Ptr,14297048), 
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _Ptr=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254))  
  Line 1105 + 0x18 bytes   C++
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int_Right={...})  Line 582 + 0x1d bytes C++
   0012b920()  
   myapp.exe!activemq::core::ActiveMQConsumer::close()  Line 84 + 0x34 
 bytes   C++
   msvcr80d.dll!102418b7() 
 ...   
   kernel32.dll!7c812a5b() 
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  
 ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int 
 *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int * _First=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Last=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Ptr=(Bad Ptr,1886220148))  Line 1105 + 0x18 bytes   C++
   
 myapp!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int_Right={...})  Line 582 + 0x1d bytes C++
   0012bf74()

[jira] Closed: (AMQCPP-46) ActiveMQConnection doesn't propagate exception listener to underlying connector

2007-01-26 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-46.


Resolution: Fixed

This has been fixed in trunk

 ActiveMQConnection doesn't propagate exception listener to underlying 
 connector
 ---

 Key: AMQCPP-46
 URL: https://issues.apache.org/activemq/browse/AMQCPP-46
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 2.0

 Attachments: amqconn-exlistener.diff, main.cpp, purify-example.txt


 My program is doing the following:
 # Create connection using ActiveMQConnectionFactory
 # Set a simple exception listener that sets a boolean flag
 # Block in receive on consumer
 If I then kill the broker, various exceptions happen, but they are never sent 
 to the exception listener, because the exception listener in StompConnector 
 is null. It seems to me that ActiveMQConnection should set and get its 
 exception listener on its underlying connector and probably doesn't have to 
 contain a pointer to the listener itself.
 If I change ActiveMQConnection as in the attached patch to also set the 
 exception listener on the underlying connector, my exception listener gets 
 called when the broker dies.
 Once I detect the failure, I delete the producer, consumer, session and 
 connection that failed. Looks like an uncaught exception is getting thrown 
 during the destruction of the producer (which is the first thing I delete 
 when cleaning up). The problem here is probably that the connection is trying 
 to close down a socket that is already broken and something goes awry. I'm 
 not quite sure how to fix this problem.
 Stack trace (with useless bits stripped out):
 {noformat}
   kernel32.dll!7c812a5b() 
   [Frames below may be incorrect and/or missing, no symbols loaded for 
 kernel32.dll]  
   kernel32.dll!7c812a5b() 
  
  myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   
  ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int  
  ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int 
  *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _First=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254),
   
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * _Last=(Bad Ptr,14297048), 
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _Ptr=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254))  
  Line 1105 + 0x18 bytes   C++
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int_Right={...})  Line 582 + 0x1d bytes C++
   0012b920()  
   myapp.exe!activemq::core::ActiveMQConsumer::close()  Line 84 + 0x34 
 bytes   C++
   msvcr80d.dll!102418b7() 
 ...   
   kernel32.dll!7c812a5b() 
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  
 ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int 
 *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int * _First=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Last=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Ptr=(Bad Ptr,1886220148))  Line 1105 + 0x18 bytes   C++
   
 myapp!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int_Right={...})  Line 582 + 0x1d bytes C++
   0012bf74()  
   
 myapp.exe!activemq::core::ActiveMQSession::onDestroySessionResource(activemq::core::ActiveMQSessionResource
  * resource=0x0001)  Line 558 + 0x37 bytes   C++
   msvcr80d.dll!10241a10() 
 ...   
   kernel32.dll!7c812a5b()   

[jira] Commented: (AMQCPP-57) Typo in names of delivery modes

2007-01-26 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-57?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_38009
 ] 

Nathan Mittler commented on AMQCPP-57:
--

Oops - good find :)

While changing it to -TENT would cause compatibility issues, I think it's an 
easy fix and I'd rather just make it right once and for all than have two 
versions that have same value.

 Typo in names of delivery modes
 ---

 Key: AMQCPP-57
 URL: https://issues.apache.org/activemq/browse/AMQCPP-57
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
  Components: CMS Impl
Affects Versions: 2.0
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
Priority: Trivial
 Fix For: 2.0


 The delivery mode enums are spelled incorrectly, i.e. they should be 
 PERSISTENT and NON_PERSISTENT, not PERSISTANT and NON_PERSISTANT.
 You might consider adding the -TENT versions in addition to the -TANT 
 versions to avoid break backward compatibility.

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



[jira] Closed: (AMQCPP-56) GCC warnings and possible SocketFactory bug on 64-bit Linux

2007-01-26 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-56.


Resolution: Fixed

fixed in trunk.  Tested in msvc with warning level at 3

 GCC warnings and possible SocketFactory bug on 64-bit Linux
 ---

 Key: AMQCPP-56
 URL: https://issues.apache.org/activemq/browse/AMQCPP-56
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 2.0
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
Priority: Minor
 Fix For: 2.0


 When compiling on 64-bit Linux with GCC 4.0.3, I see the following warnings:
 {noformat}
 activemq/concurrent/PooledThread.cpp:56: warning: 'task$first' may be used 
 uninitialized in this function
 activemq/concurrent/PooledThread.cpp:56: warning: 'task$second' may be used 
 uninitialized in this function
 activemq/network/SocketFactory.cpp:46: warning: comparison is always false 
 due to limited range of data type
 activemq/connector/openwire/marshal/v2/ConnectionControlMarshaller.cpp:82: 
 warning: unused variable 'info'
 activemq/connector/openwire/marshal/v2/IntegerResponseMarshaller.cpp:60: 
 warning: unused variable 'info'
 activemq/connector/openwire/marshal/v2/ReplayCommandMarshaller.cpp:61: 
 warning: unused variable 'info'
 activemq/connector/openwire/marshal/v2/ResponseMarshaller.cpp:60: warning: 
 unused variable 'info'
 {noformat}
 The first three warnings probably need to be looked at, especially the one in 
 SocketFactory.
 In my opinion, AMQCPP is using ints and unsigned ints in places where 
 std::size_t might be more appropriate. MSVC's warning level 3 catches many of 
 these issues, so we might consider upping the warning level and properly 
 dealing with the type conversion issues: mostly use std::size_t and 
 static_cast where we really intend to convert. I can prepare a few patches 
 along these lines if you think this is worthwhile.

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



[jira] Closed: (AMQCPP-57) Typo in names of delivery modes

2007-01-26 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-57.


Resolution: Fixed

fixed in trunk

 Typo in names of delivery modes
 ---

 Key: AMQCPP-57
 URL: https://issues.apache.org/activemq/browse/AMQCPP-57
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
  Components: CMS Impl
Affects Versions: 2.0
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
Priority: Trivial
 Fix For: 2.0


 The delivery mode enums are spelled incorrectly, i.e. they should be 
 PERSISTENT and NON_PERSISTENT, not PERSISTANT and NON_PERSISTANT.
 You might consider adding the -TENT versions in addition to the -TANT 
 versions to avoid break backward compatibility.

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



[jira] Reopened: (AMQCPP-56) GCC warnings and possible SocketFactory bug on 64-bit Linux

2007-01-26 Thread Nathan Mittler (JIRA)

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

Nathan Mittler reopened AMQCPP-56:
--


still a few issues on os x

 GCC warnings and possible SocketFactory bug on 64-bit Linux
 ---

 Key: AMQCPP-56
 URL: https://issues.apache.org/activemq/browse/AMQCPP-56
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 2.0
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
Priority: Minor
 Fix For: 2.0


 When compiling on 64-bit Linux with GCC 4.0.3, I see the following warnings:
 {noformat}
 activemq/concurrent/PooledThread.cpp:56: warning: 'task$first' may be used 
 uninitialized in this function
 activemq/concurrent/PooledThread.cpp:56: warning: 'task$second' may be used 
 uninitialized in this function
 activemq/network/SocketFactory.cpp:46: warning: comparison is always false 
 due to limited range of data type
 activemq/connector/openwire/marshal/v2/ConnectionControlMarshaller.cpp:82: 
 warning: unused variable 'info'
 activemq/connector/openwire/marshal/v2/IntegerResponseMarshaller.cpp:60: 
 warning: unused variable 'info'
 activemq/connector/openwire/marshal/v2/ReplayCommandMarshaller.cpp:61: 
 warning: unused variable 'info'
 activemq/connector/openwire/marshal/v2/ResponseMarshaller.cpp:60: warning: 
 unused variable 'info'
 {noformat}
 The first three warnings probably need to be looked at, especially the one in 
 SocketFactory.
 In my opinion, AMQCPP is using ints and unsigned ints in places where 
 std::size_t might be more appropriate. MSVC's warning level 3 catches many of 
 these issues, so we might consider upping the warning level and properly 
 dealing with the type conversion issues: mostly use std::size_t and 
 static_cast where we really intend to convert. I can prepare a few patches 
 along these lines if you think this is worthwhile.

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



[jira] Closed: (AMQCPP-56) GCC warnings and possible SocketFactory bug on 64-bit Linux

2007-01-26 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-56.


Resolution: Fixed

gcc problems fixed in trunk.

 GCC warnings and possible SocketFactory bug on 64-bit Linux
 ---

 Key: AMQCPP-56
 URL: https://issues.apache.org/activemq/browse/AMQCPP-56
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 2.0
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
Priority: Minor
 Fix For: 2.0


 When compiling on 64-bit Linux with GCC 4.0.3, I see the following warnings:
 {noformat}
 activemq/concurrent/PooledThread.cpp:56: warning: 'task$first' may be used 
 uninitialized in this function
 activemq/concurrent/PooledThread.cpp:56: warning: 'task$second' may be used 
 uninitialized in this function
 activemq/network/SocketFactory.cpp:46: warning: comparison is always false 
 due to limited range of data type
 activemq/connector/openwire/marshal/v2/ConnectionControlMarshaller.cpp:82: 
 warning: unused variable 'info'
 activemq/connector/openwire/marshal/v2/IntegerResponseMarshaller.cpp:60: 
 warning: unused variable 'info'
 activemq/connector/openwire/marshal/v2/ReplayCommandMarshaller.cpp:61: 
 warning: unused variable 'info'
 activemq/connector/openwire/marshal/v2/ResponseMarshaller.cpp:60: warning: 
 unused variable 'info'
 {noformat}
 The first three warnings probably need to be looked at, especially the one in 
 SocketFactory.
 In my opinion, AMQCPP is using ints and unsigned ints in places where 
 std::size_t might be more appropriate. MSVC's warning level 3 catches many of 
 these issues, so we might consider upping the warning level and properly 
 dealing with the type conversion issues: mostly use std::size_t and 
 static_cast where we really intend to convert. I can prepare a few patches 
 along these lines if you think this is worthwhile.

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



[jira] Commented: (AMQCPP-46) ActiveMQConnection doesn't propagate exception listener to underlying connector

2007-01-25 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-46?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37998
 ] 

Nathan Mittler commented on AMQCPP-46:
--

hm ... I'm not getting that same stack trace in msvc, but I did find one bug in 
the new code (for the propagation of close to child resources).  I recommend 
giving it a try again with the latest trunk.  Do a make clean all of amq-cpp 
just to make sure any bugs we find are really from the latest code.

Thanks!

 ActiveMQConnection doesn't propagate exception listener to underlying 
 connector
 ---

 Key: AMQCPP-46
 URL: https://issues.apache.org/activemq/browse/AMQCPP-46
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 2.0

 Attachments: amqconn-exlistener.diff, main.cpp


 My program is doing the following:
 # Create connection using ActiveMQConnectionFactory
 # Set a simple exception listener that sets a boolean flag
 # Block in receive on consumer
 If I then kill the broker, various exceptions happen, but they are never sent 
 to the exception listener, because the exception listener in StompConnector 
 is null. It seems to me that ActiveMQConnection should set and get its 
 exception listener on its underlying connector and probably doesn't have to 
 contain a pointer to the listener itself.
 If I change ActiveMQConnection as in the attached patch to also set the 
 exception listener on the underlying connector, my exception listener gets 
 called when the broker dies.
 Once I detect the failure, I delete the producer, consumer, session and 
 connection that failed. Looks like an uncaught exception is getting thrown 
 during the destruction of the producer (which is the first thing I delete 
 when cleaning up). The problem here is probably that the connection is trying 
 to close down a socket that is already broken and something goes awry. I'm 
 not quite sure how to fix this problem.
 Stack trace (with useless bits stripped out):
 {noformat}
   kernel32.dll!7c812a5b() 
   [Frames below may be incorrect and/or missing, no symbols loaded for 
 kernel32.dll]  
   kernel32.dll!7c812a5b() 
  
  myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   
  ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int  
  ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int 
  *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _First=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254),
   
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * _Last=(Bad Ptr,14297048), 
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _Ptr=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254))  
  Line 1105 + 0x18 bytes   C++
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int_Right={...})  Line 582 + 0x1d bytes C++
   0012b920()  
   myapp.exe!activemq::core::ActiveMQConsumer::close()  Line 84 + 0x34 
 bytes   C++
   msvcr80d.dll!102418b7() 
 ...   
   kernel32.dll!7c812a5b() 
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  
 ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int 
 *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int * _First=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Last=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Ptr=(Bad Ptr,1886220148))  Line 1105 + 0x18 bytes   C++
   
 myapp!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int_Right={...})  Line 582 + 0x1d bytes C++
   0012bf74()

[jira] Closed: (AMQCPP-55) Need close() to propagate to child resources

2007-01-25 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-55.


Resolution: Duplicate

This is being fixed along with issue AMQCPP-46

 Need close() to propagate to child resources
 

 Key: AMQCPP-55
 URL: https://issues.apache.org/activemq/browse/AMQCPP-55
 Project: ActiveMQ C++ Client
  Issue Type: Bug
  Components: CMS Impl
Affects Versions: 1.1
 Environment: All
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
Priority: Minor
 Fix For: 2.0


 Currently, the user is required to close CMS resources in the following order:
 consumer/producer
 session
 connection
 We should make this more like the JMS API which allows you to only close 
 parent resources.  For example, closing session should automatically close 
 all child producers and consumers.  Likewise, closing a connection should 
 close child sessions, and their consumers and producers.

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



[jira] Closed: (AMQCPP-53) Declaration of extern int errno after including errno.h doesn't compile

2007-01-24 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-53.


Resolution: Fixed

fixed in trunk

 Declaration of extern int errno after including errno.h doesn't compile
 ---

 Key: AMQCPP-53
 URL: https://issues.apache.org/activemq/browse/AMQCPP-53
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 2.0
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 2.0


 A few places in AMQCPP declare extern int errno after includes errno.h. This 
 fails to compile on Fedora Core 4 and Fedora Core 6 with the following error:
 {noformat}
 activemq/concurrent/Thread.cpp:23: error: declaration of 'int* 
 __errno_location()' throws different exceptions
 /usr/include/bits/errno.h:38: error: than previous declaration 'int* 
 __errno_location() throw ()'
 {noformat}
 As far as I know, including errno.h should be sufficient -- the extra 
 declaration of errno is unnecessary. However, maybe you know of some older 
 platforms where it has to be declared explicitly, even after the header has 
 been included?
 The places in the library where this issue crops up are:
 * src/main/activemq/concurrent/Thread.cpp
 * src/main/activemq/network/SocketError.cpp

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



[jira] Commented: (AMQCPP-49) Add -W -Wall compile options

2007-01-24 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-49?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37977
 ] 

Nathan Mittler commented on AMQCPP-49:
--

patches are always welcome :)

 Add -W -Wall compile options
 

 Key: AMQCPP-49
 URL: https://issues.apache.org/activemq/browse/AMQCPP-49
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
 Environment: gcc
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
Priority: Trivial
 Fix For: 2.0

 Attachments: vs2005-build.diff


 Add -W -Wall compile options and clean up resulting warnings

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



[jira] Commented: (AMQCPP-46) ActiveMQConnection doesn't propagate exception listener to underlying connector

2007-01-24 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-46?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37982
 ] 

Nathan Mittler commented on AMQCPP-46:
--

at first glance it looks like the problem is in your main ... the consumers 
should be closed (either explicitly or implicitly through the destructor) 
before closing the session.

 ActiveMQConnection doesn't propagate exception listener to underlying 
 connector
 ---

 Key: AMQCPP-46
 URL: https://issues.apache.org/activemq/browse/AMQCPP-46
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 2.0

 Attachments: amqconn-exlistener.diff, main.cpp


 My program is doing the following:
 # Create connection using ActiveMQConnectionFactory
 # Set a simple exception listener that sets a boolean flag
 # Block in receive on consumer
 If I then kill the broker, various exceptions happen, but they are never sent 
 to the exception listener, because the exception listener in StompConnector 
 is null. It seems to me that ActiveMQConnection should set and get its 
 exception listener on its underlying connector and probably doesn't have to 
 contain a pointer to the listener itself.
 If I change ActiveMQConnection as in the attached patch to also set the 
 exception listener on the underlying connector, my exception listener gets 
 called when the broker dies.
 Once I detect the failure, I delete the producer, consumer, session and 
 connection that failed. Looks like an uncaught exception is getting thrown 
 during the destruction of the producer (which is the first thing I delete 
 when cleaning up). The problem here is probably that the connection is trying 
 to close down a socket that is already broken and something goes awry. I'm 
 not quite sure how to fix this problem.
 Stack trace (with useless bits stripped out):
 {noformat}
   kernel32.dll!7c812a5b() 
   [Frames below may be incorrect and/or missing, no symbols loaded for 
 kernel32.dll]  
   kernel32.dll!7c812a5b() 
  
  myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   
  ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int  
  ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int 
  *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _First=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254),
   
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * _Last=(Bad Ptr,14297048), 
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _Ptr=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254))  
  Line 1105 + 0x18 bytes   C++
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int_Right={...})  Line 582 + 0x1d bytes C++
   0012b920()  
   myapp.exe!activemq::core::ActiveMQConsumer::close()  Line 84 + 0x34 
 bytes   C++
   msvcr80d.dll!102418b7() 
 ...   
   kernel32.dll!7c812a5b() 
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  
 ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int 
 *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int * _First=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Last=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Ptr=(Bad Ptr,1886220148))  Line 1105 + 0x18 bytes   C++
   
 myapp!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int_Right={...})  Line 582 + 0x1d bytes C++
   0012bf74()  
   
 myapp.exe!activemq::core::ActiveMQSession::onDestroySessionResource(activemq::core::ActiveMQSessionResource
  * 

[jira] Commented: (AMQCPP-46) ActiveMQConnection doesn't propagate exception listener to underlying connector

2007-01-24 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-46?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37983
 ] 

Nathan Mittler commented on AMQCPP-46:
--

I've cleaned up a couple of items that you might want to grab from trunk.

 ActiveMQConnection doesn't propagate exception listener to underlying 
 connector
 ---

 Key: AMQCPP-46
 URL: https://issues.apache.org/activemq/browse/AMQCPP-46
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 2.0

 Attachments: amqconn-exlistener.diff, main.cpp


 My program is doing the following:
 # Create connection using ActiveMQConnectionFactory
 # Set a simple exception listener that sets a boolean flag
 # Block in receive on consumer
 If I then kill the broker, various exceptions happen, but they are never sent 
 to the exception listener, because the exception listener in StompConnector 
 is null. It seems to me that ActiveMQConnection should set and get its 
 exception listener on its underlying connector and probably doesn't have to 
 contain a pointer to the listener itself.
 If I change ActiveMQConnection as in the attached patch to also set the 
 exception listener on the underlying connector, my exception listener gets 
 called when the broker dies.
 Once I detect the failure, I delete the producer, consumer, session and 
 connection that failed. Looks like an uncaught exception is getting thrown 
 during the destruction of the producer (which is the first thing I delete 
 when cleaning up). The problem here is probably that the connection is trying 
 to close down a socket that is already broken and something goes awry. I'm 
 not quite sure how to fix this problem.
 Stack trace (with useless bits stripped out):
 {noformat}
   kernel32.dll!7c812a5b() 
   [Frames below may be incorrect and/or missing, no symbols loaded for 
 kernel32.dll]  
   kernel32.dll!7c812a5b() 
  
  myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   
  ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int  
  ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int 
  *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _First=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254),
   
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * _Last=(Bad Ptr,14297048), 
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _Ptr=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254))  
  Line 1105 + 0x18 bytes   C++
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int_Right={...})  Line 582 + 0x1d bytes C++
   0012b920()  
   myapp.exe!activemq::core::ActiveMQConsumer::close()  Line 84 + 0x34 
 bytes   C++
   msvcr80d.dll!102418b7() 
 ...   
   kernel32.dll!7c812a5b() 
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  
 ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int 
 *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int * _First=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Last=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Ptr=(Bad Ptr,1886220148))  Line 1105 + 0x18 bytes   C++
   
 myapp!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int_Right={...})  Line 582 + 0x1d bytes C++
   0012bf74()  
   
 myapp.exe!activemq::core::ActiveMQSession::onDestroySessionResource(activemq::core::ActiveMQSessionResource
  * resource=0x0001)  Line 558 + 0x37 bytes   C++
   msvcr80d.dll!10241a10() 
 ...   
  

[jira] Commented: (AMQCPP-46) ActiveMQConnection doesn't propagate exception listener to underlying connector

2007-01-24 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-46?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37986
 ] 

Nathan Mittler commented on AMQCPP-46:
--

Albert - you are correct.  Looking at the JMS 1.1 spec, it specifically says in 
the documentation on Session.close:

There is no need to close the producers and consumers of a closed session.

This, however, sounds like a new issue to me.  Could you create one?

Also, could you indicate whether or not the current code works properly when 
explicitly closing consumers before closing the session?

Thanks!

 ActiveMQConnection doesn't propagate exception listener to underlying 
 connector
 ---

 Key: AMQCPP-46
 URL: https://issues.apache.org/activemq/browse/AMQCPP-46
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 2.0

 Attachments: amqconn-exlistener.diff, main.cpp


 My program is doing the following:
 # Create connection using ActiveMQConnectionFactory
 # Set a simple exception listener that sets a boolean flag
 # Block in receive on consumer
 If I then kill the broker, various exceptions happen, but they are never sent 
 to the exception listener, because the exception listener in StompConnector 
 is null. It seems to me that ActiveMQConnection should set and get its 
 exception listener on its underlying connector and probably doesn't have to 
 contain a pointer to the listener itself.
 If I change ActiveMQConnection as in the attached patch to also set the 
 exception listener on the underlying connector, my exception listener gets 
 called when the broker dies.
 Once I detect the failure, I delete the producer, consumer, session and 
 connection that failed. Looks like an uncaught exception is getting thrown 
 during the destruction of the producer (which is the first thing I delete 
 when cleaning up). The problem here is probably that the connection is trying 
 to close down a socket that is already broken and something goes awry. I'm 
 not quite sure how to fix this problem.
 Stack trace (with useless bits stripped out):
 {noformat}
   kernel32.dll!7c812a5b() 
   [Frames below may be incorrect and/or missing, no symbols loaded for 
 kernel32.dll]  
   kernel32.dll!7c812a5b() 
  
  myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   
  ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int  
  ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int 
  *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _First=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254),
   
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * _Last=(Bad Ptr,14297048), 
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _Ptr=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254))  
  Line 1105 + 0x18 bytes   C++
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int_Right={...})  Line 582 + 0x1d bytes C++
   0012b920()  
   myapp.exe!activemq::core::ActiveMQConsumer::close()  Line 84 + 0x34 
 bytes   C++
   msvcr80d.dll!102418b7() 
 ...   
   kernel32.dll!7c812a5b() 
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  
 ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int 
 *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int * _First=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Last=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Ptr=(Bad Ptr,1886220148))  Line 1105 + 0x18 bytes   C++
   
 myapp!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 

[jira] Commented: (AMQCPP-46) ActiveMQConnection doesn't propagate exception listener to underlying connector

2007-01-24 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-46?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37989
 ] 

Nathan Mittler commented on AMQCPP-46:
--

Albert,
I've made some updates to trunk to do the automatic closing of comsumers and 
producers when you close the session.  Could you give that a try?

 ActiveMQConnection doesn't propagate exception listener to underlying 
 connector
 ---

 Key: AMQCPP-46
 URL: https://issues.apache.org/activemq/browse/AMQCPP-46
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 2.0

 Attachments: amqconn-exlistener.diff, main.cpp


 My program is doing the following:
 # Create connection using ActiveMQConnectionFactory
 # Set a simple exception listener that sets a boolean flag
 # Block in receive on consumer
 If I then kill the broker, various exceptions happen, but they are never sent 
 to the exception listener, because the exception listener in StompConnector 
 is null. It seems to me that ActiveMQConnection should set and get its 
 exception listener on its underlying connector and probably doesn't have to 
 contain a pointer to the listener itself.
 If I change ActiveMQConnection as in the attached patch to also set the 
 exception listener on the underlying connector, my exception listener gets 
 called when the broker dies.
 Once I detect the failure, I delete the producer, consumer, session and 
 connection that failed. Looks like an uncaught exception is getting thrown 
 during the destruction of the producer (which is the first thing I delete 
 when cleaning up). The problem here is probably that the connection is trying 
 to close down a socket that is already broken and something goes awry. I'm 
 not quite sure how to fix this problem.
 Stack trace (with useless bits stripped out):
 {noformat}
   kernel32.dll!7c812a5b() 
   [Frames below may be incorrect and/or missing, no symbols loaded for 
 kernel32.dll]  
   kernel32.dll!7c812a5b() 
  
  myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   
  ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int  
  ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int 
  *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _First=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254),
   
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * _Last=(Bad Ptr,14297048), 
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _Ptr=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254))  
  Line 1105 + 0x18 bytes   C++
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int_Right={...})  Line 582 + 0x1d bytes C++
   0012b920()  
   myapp.exe!activemq::core::ActiveMQConsumer::close()  Line 84 + 0x34 
 bytes   C++
   msvcr80d.dll!102418b7() 
 ...   
   kernel32.dll!7c812a5b() 
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  
 ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int 
 *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int * _First=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Last=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Ptr=(Bad Ptr,1886220148))  Line 1105 + 0x18 bytes   C++
   
 myapp!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int_Right={...})  Line 582 + 0x1d bytes C++
   0012bf74()  
   
 myapp.exe!activemq::core::ActiveMQSession::onDestroySessionResource(activemq::core::ActiveMQSessionResource
  * resource=0x0001)  Line 558 + 0x37 

[jira] Updated: (AMQCPP-54) Build broken due to autoconf problem?

2007-01-24 Thread Nathan Mittler (JIRA)

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

Nathan Mittler updated AMQCPP-54:
-

 Priority: Trivial  (was: Major)
Fix Version/s: 2.0

 Build broken due to autoconf problem?
 -

 Key: AMQCPP-54
 URL: https://issues.apache.org/activemq/browse/AMQCPP-54
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 2.0
 Environment: Ubuntu Linux 2.6.17-10-386 #2 Tue Dec 5 22:26:18 UTC 2006
Reporter: Wilfred Springer
 Assigned To: Nathan Mittler
Priority: Trivial
 Fix For: 2.0


 Running autogen.sh gives:
 src/test-integration/Makefile.am:34: `CXXFLAGS' is a user variable, you 
 should not override it;
 src/test-integration/Makefile.am:34: use `AM_CXXFLAGS' instead.
 src/test/Makefile.am:88: `CXXFLAGS' is a user variable, you should not 
 override it;
 src/test/Makefile.am:88: use `AM_CXXFLAGS' instead.

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



[jira] Commented: (AMQCPP-54) Build broken due to autoconf problem?

2007-01-24 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-54?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37993
 ] 

Nathan Mittler commented on AMQCPP-54:
--

The build is not broken ... it's just a warning from autogen.sh.   You can 
still run ./configure and build just fine.

We had to override CXXFLAGS in the test/test-integration Makefile.am files 
because we couldn't figure out a better way to get test-specific CXXFLAGS to 
work.  If you know of a better way to do this, we would very much appreciate a 
patch!

 Build broken due to autoconf problem?
 -

 Key: AMQCPP-54
 URL: https://issues.apache.org/activemq/browse/AMQCPP-54
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 2.0
 Environment: Ubuntu Linux 2.6.17-10-386 #2 Tue Dec 5 22:26:18 UTC 2006
Reporter: Wilfred Springer
 Assigned To: Nathan Mittler
Priority: Trivial
 Fix For: 2.0


 Running autogen.sh gives:
 src/test-integration/Makefile.am:34: `CXXFLAGS' is a user variable, you 
 should not override it;
 src/test-integration/Makefile.am:34: use `AM_CXXFLAGS' instead.
 src/test/Makefile.am:88: `CXXFLAGS' is a user variable, you should not 
 override it;
 src/test/Makefile.am:88: use `AM_CXXFLAGS' instead.

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



[jira] Commented: (AMQCPP-46) ActiveMQConnection doesn't propagate exception listener to underlying connector

2007-01-24 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-46?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37994
 ] 

Nathan Mittler commented on AMQCPP-46:
--

sure thing - grab trunk!

 ActiveMQConnection doesn't propagate exception listener to underlying 
 connector
 ---

 Key: AMQCPP-46
 URL: https://issues.apache.org/activemq/browse/AMQCPP-46
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 2.0

 Attachments: amqconn-exlistener.diff, main.cpp


 My program is doing the following:
 # Create connection using ActiveMQConnectionFactory
 # Set a simple exception listener that sets a boolean flag
 # Block in receive on consumer
 If I then kill the broker, various exceptions happen, but they are never sent 
 to the exception listener, because the exception listener in StompConnector 
 is null. It seems to me that ActiveMQConnection should set and get its 
 exception listener on its underlying connector and probably doesn't have to 
 contain a pointer to the listener itself.
 If I change ActiveMQConnection as in the attached patch to also set the 
 exception listener on the underlying connector, my exception listener gets 
 called when the broker dies.
 Once I detect the failure, I delete the producer, consumer, session and 
 connection that failed. Looks like an uncaught exception is getting thrown 
 during the destruction of the producer (which is the first thing I delete 
 when cleaning up). The problem here is probably that the connection is trying 
 to close down a socket that is already broken and something goes awry. I'm 
 not quite sure how to fix this problem.
 Stack trace (with useless bits stripped out):
 {noformat}
   kernel32.dll!7c812a5b() 
   [Frames below may be incorrect and/or missing, no symbols loaded for 
 kernel32.dll]  
   kernel32.dll!7c812a5b() 
  
  myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   
  ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int  
  ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int 
  *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _First=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254),
   
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * _Last=(Bad Ptr,14297048), 
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _Ptr=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254))  
  Line 1105 + 0x18 bytes   C++
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int_Right={...})  Line 582 + 0x1d bytes C++
   0012b920()  
   myapp.exe!activemq::core::ActiveMQConsumer::close()  Line 84 + 0x34 
 bytes   C++
   msvcr80d.dll!102418b7() 
 ...   
   kernel32.dll!7c812a5b() 
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  
 ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int 
 *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int * _First=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Last=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Ptr=(Bad Ptr,1886220148))  Line 1105 + 0x18 bytes   C++
   
 myapp!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int_Right={...})  Line 582 + 0x1d bytes C++
   0012bf74()  
   
 myapp.exe!activemq::core::ActiveMQSession::onDestroySessionResource(activemq::core::ActiveMQSessionResource
  * resource=0x0001)  Line 558 + 0x37 bytes   C++
   msvcr80d.dll!10241a10() 
 ...   
   kernel32.dll!7c812a5b() 
   
 

[jira] Closed: (AMQCPP-54) Build broken due to autoconf problem?

2007-01-24 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-54.


Resolution: Fixed

Since the build works, I'm considering it fixed.

 Build broken due to autoconf problem?
 -

 Key: AMQCPP-54
 URL: https://issues.apache.org/activemq/browse/AMQCPP-54
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 2.0
 Environment: Ubuntu Linux 2.6.17-10-386 #2 Tue Dec 5 22:26:18 UTC 2006
Reporter: Wilfred Springer
 Assigned To: Nathan Mittler
Priority: Trivial
 Fix For: 2.0


 Running autogen.sh gives:
 src/test-integration/Makefile.am:34: `CXXFLAGS' is a user variable, you 
 should not override it;
 src/test-integration/Makefile.am:34: use `AM_CXXFLAGS' instead.
 src/test/Makefile.am:88: `CXXFLAGS' is a user variable, you should not 
 override it;
 src/test/Makefile.am:88: use `AM_CXXFLAGS' instead.

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



[jira] Closed: (AMQCPP-46) ActiveMQConnection doesn't propagate exception listener to underlying connector

2007-01-24 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-46.


Resolution: Fixed

The example seems to be working fine now on OS X.

 ActiveMQConnection doesn't propagate exception listener to underlying 
 connector
 ---

 Key: AMQCPP-46
 URL: https://issues.apache.org/activemq/browse/AMQCPP-46
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 2.0

 Attachments: amqconn-exlistener.diff, main.cpp


 My program is doing the following:
 # Create connection using ActiveMQConnectionFactory
 # Set a simple exception listener that sets a boolean flag
 # Block in receive on consumer
 If I then kill the broker, various exceptions happen, but they are never sent 
 to the exception listener, because the exception listener in StompConnector 
 is null. It seems to me that ActiveMQConnection should set and get its 
 exception listener on its underlying connector and probably doesn't have to 
 contain a pointer to the listener itself.
 If I change ActiveMQConnection as in the attached patch to also set the 
 exception listener on the underlying connector, my exception listener gets 
 called when the broker dies.
 Once I detect the failure, I delete the producer, consumer, session and 
 connection that failed. Looks like an uncaught exception is getting thrown 
 during the destruction of the producer (which is the first thing I delete 
 when cleaning up). The problem here is probably that the connection is trying 
 to close down a socket that is already broken and something goes awry. I'm 
 not quite sure how to fix this problem.
 Stack trace (with useless bits stripped out):
 {noformat}
   kernel32.dll!7c812a5b() 
   [Frames below may be incorrect and/or missing, no symbols loaded for 
 kernel32.dll]  
   kernel32.dll!7c812a5b() 
  
  myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   
  ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int  
  ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int 
  *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _First=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254),
   
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * _Last=(Bad Ptr,14297048), 
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _Ptr=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254))  
  Line 1105 + 0x18 bytes   C++
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int_Right={...})  Line 582 + 0x1d bytes C++
   0012b920()  
   myapp.exe!activemq::core::ActiveMQConsumer::close()  Line 84 + 0x34 
 bytes   C++
   msvcr80d.dll!102418b7() 
 ...   
   kernel32.dll!7c812a5b() 
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  
 ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int 
 *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int * _First=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Last=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Ptr=(Bad Ptr,1886220148))  Line 1105 + 0x18 bytes   C++
   
 myapp!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int_Right={...})  Line 582 + 0x1d bytes C++
   0012bf74()  
   
 myapp.exe!activemq::core::ActiveMQSession::onDestroySessionResource(activemq::core::ActiveMQSessionResource
  * resource=0x0001)  Line 558 + 0x37 bytes   C++
   msvcr80d.dll!10241a10() 
 ...   
   kernel32.dll!7c812a5b()  

[jira] Created: (AMQCPP-55) Need close() to propagate to child resources

2007-01-24 Thread Nathan Mittler (JIRA)
Need close() to propagate to child resources


 Key: AMQCPP-55
 URL: https://issues.apache.org/activemq/browse/AMQCPP-55
 Project: ActiveMQ C++ Client
  Issue Type: Bug
  Components: CMS Impl
Affects Versions: 1.1
 Environment: All
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
Priority: Minor
 Fix For: 2.0


Currently, the user is required to close CMS resources in the following order:

consumer/producer
session
connection

We should make this more like the JMS API which allows you to only close parent 
resources.  For example, closing session should automatically close all child 
producers and consumers.  Likewise, closing a connection should close child 
sessions, and their consumers and producers.

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



[jira] Work started: (AMQCPP-55) Need close() to propagate to child resources

2007-01-24 Thread Nathan Mittler (JIRA)

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

Work on AMQCPP-55 started by Nathan Mittler.

 Need close() to propagate to child resources
 

 Key: AMQCPP-55
 URL: https://issues.apache.org/activemq/browse/AMQCPP-55
 Project: ActiveMQ C++ Client
  Issue Type: Bug
  Components: CMS Impl
Affects Versions: 1.1
 Environment: All
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
Priority: Minor
 Fix For: 2.0


 Currently, the user is required to close CMS resources in the following order:
 consumer/producer
 session
 connection
 We should make this more like the JMS API which allows you to only close 
 parent resources.  For example, closing session should automatically close 
 all child producers and consumers.  Likewise, closing a connection should 
 close child sessions, and their consumers and producers.

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



[jira] Updated: (AMQCPP-51) Autoconf is not properly setting CXXFLAGS on Linux

2007-01-23 Thread Nathan Mittler (JIRA)

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

Nathan Mittler updated AMQCPP-51:
-

Fix Version/s: 2.0

 Autoconf is not properly setting CXXFLAGS on Linux
 --

 Key: AMQCPP-51
 URL: https://issues.apache.org/activemq/browse/AMQCPP-51
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 2.0
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 2.0


 I'm running Fedora Core 6 with autoconf 2.59 and automake 1.9.6.
 It seems the CXXFLAGS stuff in configure.ac isn't actually setting CXXFLAGS 
 used to compile.
 If you check the generated src/main/Makefile, you'll only see:
 {noformat}
 CXXFLAGS = -D HAVE_ACTIVEMQ_CONFIG
 {noformat}
 and when running make you get
 {noformat}
 make  all-recursive
 make[1]: Entering directory `/home/albert/work/activemq-cpp'
 Making all in src/main
 make[2]: Entering directory `/home/albert/work/activemq-cpp/src/main'
 if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -D HAVE_ACTIVEMQ_CONFIG -MT 
 ActiveMQConsumer.o -MD -MP -MF .deps/ActiveMQConsumer.Tpo -c -o 
 ActiveMQConsumer.o `test -f 'activemq/core/ActiveMQConsumer.cpp' || echo 
 './'`activemq/core/ActiveMQConsumer.cpp; \
 then mv -f .deps/ActiveMQConsumer.Tpo .deps/ActiveMQConsumer.Po; 
 else rm -f .deps/ActiveMQConsumer.Tpo; exit 1; fi
 {noformat}
 which is missing all the options specified in configure.ac.
 By the way, you might consider adding -g and -O2.

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



[jira] Closed: (AMQCPP-51) Autoconf is not properly setting CXXFLAGS on Linux

2007-01-23 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-51.


Resolution: Duplicate

This is a duplicate of AMQCPP-49.  I have re-opened that issue to address this. 
 

 Autoconf is not properly setting CXXFLAGS on Linux
 --

 Key: AMQCPP-51
 URL: https://issues.apache.org/activemq/browse/AMQCPP-51
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 2.0
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 2.0


 I'm running Fedora Core 6 with autoconf 2.59 and automake 1.9.6.
 It seems the CXXFLAGS stuff in configure.ac isn't actually setting CXXFLAGS 
 used to compile.
 If you check the generated src/main/Makefile, you'll only see:
 {noformat}
 CXXFLAGS = -D HAVE_ACTIVEMQ_CONFIG
 {noformat}
 and when running make you get
 {noformat}
 make  all-recursive
 make[1]: Entering directory `/home/albert/work/activemq-cpp'
 Making all in src/main
 make[2]: Entering directory `/home/albert/work/activemq-cpp/src/main'
 if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -D HAVE_ACTIVEMQ_CONFIG -MT 
 ActiveMQConsumer.o -MD -MP -MF .deps/ActiveMQConsumer.Tpo -c -o 
 ActiveMQConsumer.o `test -f 'activemq/core/ActiveMQConsumer.cpp' || echo 
 './'`activemq/core/ActiveMQConsumer.cpp; \
 then mv -f .deps/ActiveMQConsumer.Tpo .deps/ActiveMQConsumer.Po; 
 else rm -f .deps/ActiveMQConsumer.Tpo; exit 1; fi
 {noformat}
 which is missing all the options specified in configure.ac.
 By the way, you might consider adding -g and -O2.

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



[jira] Assigned: (AMQCPP-30) Add support to activemq-cpp to support the openwire protocol

2007-01-23 Thread Nathan Mittler (JIRA)

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

Nathan Mittler reassigned AMQCPP-30:


Assignee: Timothy Bish  (was: Nathan Mittler)

 Add support to activemq-cpp to support the openwire protocol
 

 Key: AMQCPP-30
 URL: https://issues.apache.org/activemq/browse/AMQCPP-30
 Project: ActiveMQ C++ Client
  Issue Type: New Feature
  Components: Openwire
 Environment: All
Reporter: Nathan Mittler
 Assigned To: Timothy Bish
Priority: Critical
 Fix For: 2.0

   Original Estimate: 8 weeks
  Remaining Estimate: 8 weeks

 Need to complete the first cut at the implementation of the openwire transport

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



[jira] Closed: (AMQCPP-49) Add -W -Wall compile options

2007-01-23 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-49.


Resolution: Fixed

The compiler options are working correctly now.  Due to some problems with the 
cppunit header files, I had to use different CXXFLAGS when building test and 
test-integration.  As a result, running ./autogen.sh now gives a couple of 
warnings about overriding CXXFLAGS.

 Add -W -Wall compile options
 

 Key: AMQCPP-49
 URL: https://issues.apache.org/activemq/browse/AMQCPP-49
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
 Environment: gcc
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
Priority: Trivial
 Fix For: 2.0

 Attachments: vs2005-build.diff


 Add -W -Wall compile options and clean up resulting warnings

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



[jira] Closed: (AMQCPP-38) Async error on broker when running integration tests

2007-01-22 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-38.


Resolution: Fixed

I believe this to be a broker side issue captured in AMQ-1077

 Async error on broker when running integration tests
 

 Key: AMQCPP-38
 URL: https://issues.apache.org/activemq/browse/AMQCPP-38
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 2.0


 Brought over from the comments in AMQCPP-28.
 Sometimes when running the integration tests against the AMQ broker from 
 trunk, ones sees the following message from the broker:
 ERROR Service - Async error occurred:
 java.lang.IllegalStateException: Cannot remove a consumer that had not been 
 registered: ID:xxx-36153-1166305227288-5:16:-1:1
 at 
 org.apache.activemq.broker.TransportConnection.processRemoveConsumer(TransportConnection.java:593)
 at org.apache.activemq.command.RemoveInfo.visit(RemoveInfo.java:64)
 at 
 org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:287)
 at 
 org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
 at 
 org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
 at 
 org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122)
 at 
 org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:74)
 at 
 org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:119)
 at 
 org.apache.activemq.transport.stomp.ProtocolConverter.onStompUnsubscribe(ProtocolConverter.java:379)
 at 
 org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommad(ProtocolConverter.java:151)
 at 
 org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:64)
 at 
 org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
 at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:137)
 at java.lang.Thread.run(Thread.java:595)
 Using the default activemq.xml, I can reproduce the IllegalStateException 
 quite reliabily:
 1. Start a fresh copy of the broker (4.2 from yesterday's trunk)
 2. Run the integration test under Valgrind
 3. IllegalStateException happens at the end of 
 integration::durable::DurableTester::test or at the start of 
 integration::expiration::ExpirationTest::testExpired.
 Subsequent test runs don't yield the error, until the broker is restarted. I 
 don't know if this issue could be time-dependent - if it is, it could explain 
 why I only see it when running under Valgrind.
 On Linux, I also just got the following test failure for the first time (not 
 running under Valgrind):
 1) test: integration::durable::DurableTester::test (E)
 uncaught exception of unknown type

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



[jira] Reopened: (AMQCPP-49) Add -W -Wall compile options

2007-01-22 Thread Nathan Mittler (JIRA)

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

Nathan Mittler reopened AMQCPP-49:
--


Accidentally disabled -W -Wall

 Add -W -Wall compile options
 

 Key: AMQCPP-49
 URL: https://issues.apache.org/activemq/browse/AMQCPP-49
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
 Environment: gcc
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
Priority: Trivial
 Fix For: 2.0

 Attachments: vs2005-build.diff


 Add -W -Wall compile options and clean up resulting warnings

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



[jira] Closed: (AMQCPP-40) A few stray unix and sun defines

2007-01-22 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-40.


Resolution: Fixed

fixed in trunk

 A few stray unix and sun defines
 

 Key: AMQCPP-40
 URL: https://issues.apache.org/activemq/browse/AMQCPP-40
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
Affects Versions: 2.0
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
Priority: Minor
 Fix For: 2.0


 The AMQCPP code still contains a few references to the unix and sun defines.
 {noformat}
 ./src/main/activemq/concurrent/Mutex.h:#if (defined(__unix__) || 
 defined(unix) || defined(MACOSX))  !defined(USG)
 ./src/main/activemq/concurrent/Thread.h:#if (defined(__unix__) || 
 defined(unix) || defined(MACOSX) || defined(__APPLE__))  !defined(USG)
 ./src/main/activemq/util/Guid.h:#if defined( unix ) || 
 defined(__APPLE__)
 ./src/main/activemq/util/Config.h:  // used by unix like systems 
 (including cygwin)
 ./src/main/activemq/util/Config.h:  #elif defined( unix )
 ./src/main/activemq/util/Endian.h:#if defined( unix ) || defined(__APPLE__)
 ./src/main/activemq/util/Endian.h:# if defined( unix ) || defined(__APPLE__)
 ./src/main/activemq/network/ServerSocket.h:  #if !defined( unix ) || 
 defined( __CYGWIN__ )
 ./src/main/activemq/network/SocketOutputStream.cpp:#elif defined( unix )  
 !defined( __CYGWIN__ )  !defined( sun )
 {noformat}
 These should probably be replaced by some kind of AMQ_ variant. It would nice 
 if one could define a single AMQ_something per platform, akin to Windows's 
 _WIN32 define.

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



[jira] Closed: (AMQCPP-50) Derive cms::CMSException from std::exception

2007-01-22 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-50.


Resolution: Fixed

Applied to trunk

 Derive cms::CMSException from std::exception
 

 Key: AMQCPP-50
 URL: https://issues.apache.org/activemq/browse/AMQCPP-50
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
  Components: CMS Impl
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
Priority: Minor
 Fix For: 2.0


 It would be nice if cms::CMSException were derived from std::exception. 
 std::exception's what can just call through to cms::CMSException's getMessage.
 Having this inheritance would be useful to people who already have logging 
 functions or other bits and pieces in place in their programs that understand 
 std::exceptions.

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



[jira] Commented: (AMQCPP-44) Reason for socket errors not reported correctly on Windows

2007-01-22 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-44?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37963
 ] 

Nathan Mittler commented on AMQCPP-44:
--

I've updated trunk to log all socket errors as is appropriate for the platform. 
 Please take a look and see if this solves your problem.

 Reason for socket errors not reported correctly on Windows
 --

 Key: AMQCPP-44
 URL: https://issues.apache.org/activemq/browse/AMQCPP-44
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 2.0


 Socket errors aren't reported correctly on Windows. When the broker is down 
 and the TcpTransport fails to connect, I get an exception saying 
 Socket::connect - No error. strerror of errno might not be the right way to 
 get the error description for socket errors on Windows. Maybe one needs to 
 look at what WSAGetLastError returns, but I'm not sure.

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



[jira] Closed: (AMQCPP-49) Add -W -Wall compile options

2007-01-21 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-49.


Resolution: Fixed

Finally got cygwin happy.  Removed use of -ansi -pedantic on cygwin, as well as 
a couple of other -Wno-XXX options.

 Add -W -Wall compile options
 

 Key: AMQCPP-49
 URL: https://issues.apache.org/activemq/browse/AMQCPP-49
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
 Environment: gcc
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
Priority: Trivial
 Fix For: 2.0

 Attachments: vs2005-build.diff


 Add -W -Wall compile options and clean up resulting warnings

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Closed: (AMQCPP-48) Fix compilation with Visual Studio .NET 2003

2007-01-21 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-48.


Resolution: Fixed

Patch applied to trunk

 Fix compilation with Visual Studio .NET 2003
 

 Key: AMQCPP-48
 URL: https://issues.apache.org/activemq/browse/AMQCPP-48
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
Affects Versions: 2.0
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
Priority: Trivial
 Fix For: 2.0

 Attachments: amqcpp-vs2003.diff


 The attached patch contains a few minor changes to make the AMQCPP library 
 compile with Visual Studio .NET 2003.
 This will be very useful for the [Python 
 wrapper|http://code.google.com/p/pyactivemq/] I'm working on, since Python 
 2.4 and Python 2.5 still need their extension modules compiled with VS .NET 
 2003.
 If you're interested, I can also submit project files for VS .NET 2003.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Closed: (AMQCPP-47) MapMessage getters should be const

2007-01-21 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-47.


Resolution: Fixed

Patch applied to trunk

 MapMessage getters should be const
 --

 Key: AMQCPP-47
 URL: https://issues.apache.org/activemq/browse/AMQCPP-47
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
  Components: CMS Impl
Affects Versions: 2.0
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
Priority: Minor
 Fix For: 2.0


 It looks to me like the cms::MapMessage getter functions can all be const?
 I'm guessing there isn't a MapMessage implementation yet, but I'm guessing 
 it'll probably be implemented on top of a C++ STL map?
 Having the getters const will mean that people won't have to clone a 
 MapMessage in a MessageListener if they want to read its fields.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-49) Add -W -Wall compile options

2007-01-20 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-49?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37940
 ] 

Nathan Mittler commented on AMQCPP-49:
--

Unfortunately, without it - many warnings that are important don't show up in 
gcc ... such as problems with const-ness.  And since users would be including 
our headers, making sure they are clean is important.

 Add -W -Wall compile options
 

 Key: AMQCPP-49
 URL: https://issues.apache.org/activemq/browse/AMQCPP-49
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
 Environment: gcc
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
Priority: Trivial
 Fix For: 2.0


 Add -W -Wall compile options and clean up resulting warnings

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-49) Add -W -Wall compile options

2007-01-20 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-49?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37942
 ] 

Nathan Mittler commented on AMQCPP-49:
--

I'd rather not have to get that specific.  Looking at the output from -Wall, it 
doesn't seem to be that fussy.  I've already got most of the changes locally.

 Add -W -Wall compile options
 

 Key: AMQCPP-49
 URL: https://issues.apache.org/activemq/browse/AMQCPP-49
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
 Environment: gcc
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
Priority: Trivial
 Fix For: 2.0


 Add -W -Wall compile options and clean up resulting warnings

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-49) Add -W -Wall compile options

2007-01-20 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-49?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37943
 ] 

Nathan Mittler commented on AMQCPP-49:
--

Also, I'd prefer to go with the approach of exposing all the warnings and then 
selectively disabling the ones we choose to ignore.  That way, we're fully 
aware of what we're ignoring.  The opposite is risky.

 Add -W -Wall compile options
 

 Key: AMQCPP-49
 URL: https://issues.apache.org/activemq/browse/AMQCPP-49
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
 Environment: gcc
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
Priority: Trivial
 Fix For: 2.0


 Add -W -Wall compile options and clean up resulting warnings

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Closed: (AMQCPP-49) Add -W -Wall compile options

2007-01-20 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-49.


Resolution: Fixed

Made changes throughout the source to support -W -Wall


 Add -W -Wall compile options
 

 Key: AMQCPP-49
 URL: https://issues.apache.org/activemq/browse/AMQCPP-49
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
 Environment: gcc
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
Priority: Trivial
 Fix For: 2.0


 Add -W -Wall compile options and clean up resulting warnings

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-49) Add -W -Wall compile options

2007-01-20 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-49?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37946
 ] 

Nathan Mittler commented on AMQCPP-49:
--

You need to grab the latest makefile.am for main.

Please provide a sample of the warnings that you're getting with msvc

 Add -W -Wall compile options
 

 Key: AMQCPP-49
 URL: https://issues.apache.org/activemq/browse/AMQCPP-49
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
 Environment: gcc
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
Priority: Trivial
 Fix For: 2.0


 Add -W -Wall compile options and clean up resulting warnings

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Created: (AMQCPP-49) Add -W -Wall compile options

2007-01-20 Thread Nathan Mittler (JIRA)
Add -W -Wall compile options


 Key: AMQCPP-49
 URL: https://issues.apache.org/activemq/browse/AMQCPP-49
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
 Environment: gcc
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
Priority: Trivial
 Fix For: 2.0


Add -W -Wall compile options and clean up resulting warnings

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-46) ActiveMQConnection doesn't propagate exception listener to underlying connector

2007-01-17 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-46?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37932
 ] 

Nathan Mittler commented on AMQCPP-46:
--

Committed a fix for the exception listener to trunk and added unit tests to 
verify.  Will look into the producer destruction next.

 ActiveMQConnection doesn't propagate exception listener to underlying 
 connector
 ---

 Key: AMQCPP-46
 URL: https://issues.apache.org/activemq/browse/AMQCPP-46
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 2.0

 Attachments: amqconn-exlistener.diff


 My program is doing the following:
 # Create connection using ActiveMQConnectionFactory
 # Set a simple exception listener that sets a boolean flag
 # Block in receive on consumer
 If I then kill the broker, various exceptions happen, but they are never sent 
 to the exception listener, because the exception listener in StompConnector 
 is null. It seems to me that ActiveMQConnection should set and get its 
 exception listener on its underlying connector and probably doesn't have to 
 contain a pointer to the listener itself.
 If I change ActiveMQConnection as in the attached patch to also set the 
 exception listener on the underlying connector, my exception listener gets 
 called when the broker dies.
 Once I detect the failure, I delete the producer, consumer, session and 
 connection that failed. Looks like an uncaught exception is getting thrown 
 during the destruction of the producer (which is the first thing I delete 
 when cleaning up). The problem here is probably that the connection is trying 
 to close down a socket that is already broken and something goes awry. I'm 
 not quite sure how to fix this problem.
 Stack trace (with useless bits stripped out):
 {noformat}
   kernel32.dll!7c812a5b() 
   [Frames below may be incorrect and/or missing, no symbols loaded for 
 kernel32.dll]  
   kernel32.dll!7c812a5b() 
  
  myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   
  ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int  
  ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int 
  *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _First=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254),
   
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * _Last=(Bad Ptr,14297048), 
  std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
   ,int * 
  _Ptr=(..\src\main\activemq\connector\stomp\StompSessionManager.cpp,254))  
  Line 1105 + 0x18 bytes   C++
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int_Right={...})  Line 582 + 0x1d bytes C++
   0012b920()  
   myapp.exe!activemq::core::ActiveMQConsumer::close()  Line 84 + 0x34 
 bytes   C++
   msvcr80d.dll!102418b7() 
 ...   
   kernel32.dll!7c812a5b() 
   
 myapp.exe!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  
 ::_Ucopystd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int 
 *(std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int * _First=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Last=(Bad Ptr,-17891602), 
 std::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar 
 ,int * _Ptr=(Bad Ptr,1886220148))  Line 1105 + 0x18 bytes   C++
   
 myapp!std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int  ::operator=(const 
 std::vectorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  
 ,int,std::allocatorstd::pairstd::basic_stringchar,std::char_traitschar,std::allocatorchar
  ,int_Right={...})  Line 582 + 0x1d bytes C++
   0012bf74()  
   
 myapp.exe!activemq::core::ActiveMQSession::onDestroySessionResource(activemq::core::ActiveMQSessionResource
  * resource=0x0001)  Line 558 + 0x37 bytes   C++
   

[jira] Commented: (AMQCPP-25) Bus error on Solaris OS from DataInput and DataOutput streams

2007-01-11 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-25?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37883
 ] 

Nathan Mittler commented on AMQCPP-25:
--

Hi Albert,
Great work!  Looks like you might be onto something here.  Just out of 
curiosity, where did you get the idea for your patch (char c = new char, delete 
c) - I didn't see that solution called out in the links you posted.  Perhaps I 
just missed it.

Thanks!

 Bus error on Solaris OS from DataInput and DataOutput streams
 -

 Key: AMQCPP-25
 URL: https://issues.apache.org/activemq/browse/AMQCPP-25
 Project: ActiveMQ C++ Client
  Issue Type: Bug
  Components: CMS Impl
Affects Versions: 1.1
 Environment: Solaris 10 OS
Reporter: Timothy Bish
 Assigned To: Timothy Bish
Priority: Minor
 Fix For: 1.1

 Attachments: optobug.cpp


 Due to misaligned memory reads, there is a bus error that can occur in using 
 the new DataInputStream and DataOutputStream classes.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-25) Bus error on Solaris OS from DataInput and DataOutput streams

2007-01-11 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-25?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37884
 ] 

Nathan Mittler commented on AMQCPP-25:
--

As indicated in the links Albert provided, we should add the following compiler 
flags:

-fstrict-aliasing
-Wstrict-aliasing


 Bus error on Solaris OS from DataInput and DataOutput streams
 -

 Key: AMQCPP-25
 URL: https://issues.apache.org/activemq/browse/AMQCPP-25
 Project: ActiveMQ C++ Client
  Issue Type: Bug
  Components: CMS Impl
Affects Versions: 1.1
 Environment: Solaris 10 OS
Reporter: Timothy Bish
 Assigned To: Timothy Bish
Priority: Minor
 Fix For: 1.1

 Attachments: optobug.cpp


 Due to misaligned memory reads, there is a bus error that can occur in using 
 the new DataInputStream and DataOutputStream classes.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Updated: (AMQCPP-38) Async error on broker when running integration tests

2007-01-11 Thread Nathan Mittler (JIRA)

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

Nathan Mittler updated AMQCPP-38:
-

Fix Version/s: (was: 1.1)
   2.0

Moving to release 2.0 - the current thought is that this may be an issue with 
the broker.

 Async error on broker when running integration tests
 

 Key: AMQCPP-38
 URL: https://issues.apache.org/activemq/browse/AMQCPP-38
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 2.0


 Brought over from the comments in AMQCPP-28.
 Sometimes when running the integration tests against the AMQ broker from 
 trunk, ones sees the following message from the broker:
 ERROR Service - Async error occurred:
 java.lang.IllegalStateException: Cannot remove a consumer that had not been 
 registered: ID:xxx-36153-1166305227288-5:16:-1:1
 at 
 org.apache.activemq.broker.TransportConnection.processRemoveConsumer(TransportConnection.java:593)
 at org.apache.activemq.command.RemoveInfo.visit(RemoveInfo.java:64)
 at 
 org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:287)
 at 
 org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
 at 
 org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
 at 
 org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122)
 at 
 org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:74)
 at 
 org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:119)
 at 
 org.apache.activemq.transport.stomp.ProtocolConverter.onStompUnsubscribe(ProtocolConverter.java:379)
 at 
 org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommad(ProtocolConverter.java:151)
 at 
 org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:64)
 at 
 org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
 at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:137)
 at java.lang.Thread.run(Thread.java:595)
 Using the default activemq.xml, I can reproduce the IllegalStateException 
 quite reliabily:
 1. Start a fresh copy of the broker (4.2 from yesterday's trunk)
 2. Run the integration test under Valgrind
 3. IllegalStateException happens at the end of 
 integration::durable::DurableTester::test or at the start of 
 integration::expiration::ExpirationTest::testExpired.
 Subsequent test runs don't yield the error, until the broker is restarted. I 
 don't know if this issue could be time-dependent - if it is, it could explain 
 why I only see it when running under Valgrind.
 On Linux, I also just got the following test failure for the first time (not 
 running under Valgrind):
 1) test: integration::durable::DurableTester::test (E)
 uncaught exception of unknown type

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Updated: (AMQCPP-42) A few more strict aliasing warnings

2007-01-11 Thread Nathan Mittler (JIRA)

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

Nathan Mittler updated AMQCPP-42:
-

Fix Version/s: (was: 2.0)
   1.1

 A few more strict aliasing warnings
 ---

 Key: AMQCPP-42
 URL: https://issues.apache.org/activemq/browse/AMQCPP-42
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Timothy Bish
Priority: Minor
 Fix For: 1.1


 Brought over from AMQCPP-25.
 We might consider using -Wstrict-aliasing=2. Warns in more cases, with some 
 chance of false positives.
 I still get the following warnings with GCC 4.1.1 on FC6 with revision 495335:
 {noformat}
 activemq/network/ServerSocket.cpp: In member function 'virtual void 
 activemq::network::ServerSocket::bind(const char*, int, int)':
 activemq/network/ServerSocket.cpp:162: warning: dereferencing type-punned 
 pointer might break strict-aliasing rules
 activemq/network/ServerSocket.cpp: In member function 'virtual 
 activemq::network::Socket* activemq::network::ServerSocket::accept()':
 activemq/network/ServerSocket.cpp:208: warning: dereferencing type-punned 
 pointer might break strict-aliasing rules
 activemq/io/DataInputStreamTest.h:85: warning: dereferencing type-punned 
 pointer will break strict-aliasing rules
 activemq/io/DataInputStreamTest.h:86: warning: dereferencing type-punned 
 pointer will break strict-aliasing rules
 {noformat}
 I noticed you used a memcpys to fix this issue. Did you consider trying a 
 union? Without knowing for certain (maybe we'll do some benchmarks tomorrow), 
 a union might be faster than a call to memcpy.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Closed: (AMQCPP-42) A few more strict aliasing warnings

2007-01-11 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-42.


Resolution: Fixed
  Assignee: Nathan Mittler  (was: Timothy Bish)

Patches have been applied.  Running on FC4 with gcc 4.0.1, I do not see any 
warnings.  Unit tests run fine as well.

 A few more strict aliasing warnings
 ---

 Key: AMQCPP-42
 URL: https://issues.apache.org/activemq/browse/AMQCPP-42
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
Priority: Minor
 Fix For: 1.1


 Brought over from AMQCPP-25.
 We might consider using -Wstrict-aliasing=2. Warns in more cases, with some 
 chance of false positives.
 I still get the following warnings with GCC 4.1.1 on FC6 with revision 495335:
 {noformat}
 activemq/network/ServerSocket.cpp: In member function 'virtual void 
 activemq::network::ServerSocket::bind(const char*, int, int)':
 activemq/network/ServerSocket.cpp:162: warning: dereferencing type-punned 
 pointer might break strict-aliasing rules
 activemq/network/ServerSocket.cpp: In member function 'virtual 
 activemq::network::Socket* activemq::network::ServerSocket::accept()':
 activemq/network/ServerSocket.cpp:208: warning: dereferencing type-punned 
 pointer might break strict-aliasing rules
 activemq/io/DataInputStreamTest.h:85: warning: dereferencing type-punned 
 pointer will break strict-aliasing rules
 activemq/io/DataInputStreamTest.h:86: warning: dereferencing type-punned 
 pointer will break strict-aliasing rules
 {noformat}
 I noticed you used a memcpys to fix this issue. Did you consider trying a 
 union? Without knowing for certain (maybe we'll do some benchmarks tomorrow), 
 a union might be faster than a call to memcpy.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Closed: (AMQCPP-32) Stomp messages don't preserve property types: please document this behaviour

2007-01-08 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-32.


Resolution: Fixed

I have documented the behavior here 
http://www.activemq.org/site/activemq-cpp-stomp.html

 Stomp messages don't preserve property types: please document this behaviour
 

 Key: AMQCPP-32
 URL: https://issues.apache.org/activemq/browse/AMQCPP-32
 Project: ActiveMQ C++ Client
  Issue Type: Wish
  Components: Stomp
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
Priority: Trivial
 Fix For: 1.1


 I am producing messages from Java and C++ using ActiveMQ and AMQCPP, 
 respectively. Messages I produce have an int property set on them which I 
 want to select on, again in Java or C++.
 As far as I can tell from the [Stomp Protocol 
 specification|http://stomp.codehaus.org/Protocol] there is no way to specify 
 the types of message headers. As a result, all the messages end up with 
 String properties as can be be seen in the unmarshal method of 
 [org.apache.activemq.transport.stomp|http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/stomp/StompWireFormat.java?revision=470398view=markup].
 I can work around this problem by selecting on id=123||id='123' in both Java 
 and C++, but it seems a bit suboptimal.
 At least, this issue should be documented somewhere in 
 activemq::connector::stomp::commands::StompMessage to help other people who 
 can't figure out why their selectors don't work.
 We could consider adding a function that allows the user to specify that 
 Stomp message properties should be sent in a type safe manner, and then 
 prepend some kind of string to the property name to indicate the type. 
 StompWireFormat on the Java side could check for this case and set the typed 
 properties accordingly. This is probably too much of a hack -- people who 
 want typed properties to work right can use Openwire in the (hopefully) near 
 future.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-32) Stomp messages don't preserve property types: please document this behaviour

2007-01-08 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-32?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37832
 ] 

Nathan Mittler commented on AMQCPP-32:
--

I agree with Tim - this really should be commented on the wiki page.  The user 
isn't going to be looking into the code comments - rather, they should only be 
looking at the CMS API.  The CMS API isn't going to tell them the specific 
quirks of a particular implementation.  I'll take this issue and will update 
the wiki page accordingly.

 Stomp messages don't preserve property types: please document this behaviour
 

 Key: AMQCPP-32
 URL: https://issues.apache.org/activemq/browse/AMQCPP-32
 Project: ActiveMQ C++ Client
  Issue Type: Wish
  Components: Stomp
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
Priority: Trivial
 Fix For: 1.1


 I am producing messages from Java and C++ using ActiveMQ and AMQCPP, 
 respectively. Messages I produce have an int property set on them which I 
 want to select on, again in Java or C++.
 As far as I can tell from the [Stomp Protocol 
 specification|http://stomp.codehaus.org/Protocol] there is no way to specify 
 the types of message headers. As a result, all the messages end up with 
 String properties as can be be seen in the unmarshal method of 
 [org.apache.activemq.transport.stomp|http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/stomp/StompWireFormat.java?revision=470398view=markup].
 I can work around this problem by selecting on id=123||id='123' in both Java 
 and C++, but it seems a bit suboptimal.
 At least, this issue should be documented somewhere in 
 activemq::connector::stomp::commands::StompMessage to help other people who 
 can't figure out why their selectors don't work.
 We could consider adding a function that allows the user to specify that 
 Stomp message properties should be sent in a type safe manner, and then 
 prepend some kind of string to the property name to indicate the type. 
 StompWireFormat on the Java side could check for this case and set the typed 
 properties accordingly. This is probably too much of a hack -- people who 
 want typed properties to work right can use Openwire in the (hopefully) near 
 future.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Updated: (AMQCPP-38) Async error on broker when running integration tests

2007-01-07 Thread Nathan Mittler (JIRA)

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

Nathan Mittler updated AMQCPP-38:
-

Fix Version/s: 1.1

 Async error on broker when running integration tests
 

 Key: AMQCPP-38
 URL: https://issues.apache.org/activemq/browse/AMQCPP-38
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 1.1


 Brought over from the comments in AMQCPP-28.
 Sometimes when running the integration tests against the AMQ broker from 
 trunk, ones sees the following message from the broker:
 ERROR Service - Async error occurred:
 java.lang.IllegalStateException: Cannot remove a consumer that had not been 
 registered: ID:xxx-36153-1166305227288-5:16:-1:1
 at 
 org.apache.activemq.broker.TransportConnection.processRemoveConsumer(TransportConnection.java:593)
 at org.apache.activemq.command.RemoveInfo.visit(RemoveInfo.java:64)
 at 
 org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:287)
 at 
 org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
 at 
 org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
 at 
 org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122)
 at 
 org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:74)
 at 
 org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:119)
 at 
 org.apache.activemq.transport.stomp.ProtocolConverter.onStompUnsubscribe(ProtocolConverter.java:379)
 at 
 org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommad(ProtocolConverter.java:151)
 at 
 org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:64)
 at 
 org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
 at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:137)
 at java.lang.Thread.run(Thread.java:595)
 Using the default activemq.xml, I can reproduce the IllegalStateException 
 quite reliabily:
 1. Start a fresh copy of the broker (4.2 from yesterday's trunk)
 2. Run the integration test under Valgrind
 3. IllegalStateException happens at the end of 
 integration::durable::DurableTester::test or at the start of 
 integration::expiration::ExpirationTest::testExpired.
 Subsequent test runs don't yield the error, until the broker is restarted. I 
 don't know if this issue could be time-dependent - if it is, it could explain 
 why I only see it when running under Valgrind.
 On Linux, I also just got the following test failure for the first time (not 
 running under Valgrind):
 1) test: integration::durable::DurableTester::test (E)
 uncaught exception of unknown type

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Updated: (AMQCPP-32) Stomp messages don't preserve property types: please document this behaviour

2007-01-07 Thread Nathan Mittler (JIRA)

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

Nathan Mittler updated AMQCPP-32:
-

Fix Version/s: 1.1

 Stomp messages don't preserve property types: please document this behaviour
 

 Key: AMQCPP-32
 URL: https://issues.apache.org/activemq/browse/AMQCPP-32
 Project: ActiveMQ C++ Client
  Issue Type: Wish
  Components: Stomp
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
Priority: Trivial
 Fix For: 1.1


 I am producing messages from Java and C++ using ActiveMQ and AMQCPP, 
 respectively. Messages I produce have an int property set on them which I 
 want to select on, again in Java or C++.
 As far as I can tell from the [Stomp Protocol 
 specification|http://stomp.codehaus.org/Protocol] there is no way to specify 
 the types of message headers. As a result, all the messages end up with 
 String properties as can be be seen in the unmarshal method of 
 [org.apache.activemq.transport.stomp|http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/stomp/StompWireFormat.java?revision=470398view=markup].
 I can work around this problem by selecting on id=123||id='123' in both Java 
 and C++, but it seems a bit suboptimal.
 At least, this issue should be documented somewhere in 
 activemq::connector::stomp::commands::StompMessage to help other people who 
 can't figure out why their selectors don't work.
 We could consider adding a function that allows the user to specify that 
 Stomp message properties should be sent in a type safe manner, and then 
 prepend some kind of string to the property name to indicate the type. 
 StompWireFormat on the Java side could check for this case and set the typed 
 properties accordingly. This is probably too much of a hack -- people who 
 want typed properties to work right can use Openwire in the (hopefully) near 
 future.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Closed: (AMQCPP-27) Issues reported by Valgrind when running unit tests

2007-01-07 Thread Nathan Mittler (JIRA)

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

Nathan Mittler closed AMQCPP-27.


Resolution: Fixed

If the leaks shown by valgrind end up being real leaks or if more leaks pop 
up - we'll just open a new issue.

 Issues reported by Valgrind when running unit tests
 ---

 Key: AMQCPP-27
 URL: https://issues.apache.org/activemq/browse/AMQCPP-27
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 1.1

 Attachments: activemq-cpp-deletes.diff, activemq-cpp-valgrind.log


 Valgrind 3.2.1 reported a few issues when running the ActiveMQ C++ unit tests.
 Some of them were simple cases of mismatched new[] and delete[] (patch 
 attached).
 Valgrind also reports a few memory leaks, some probably the same as found by 
 Rational Purify.
 Complete Valgrind log attached (after I fixed the deletes). I ran Valgrind as 
 follows:
 valgrind \
 --tool=memcheck \
 --leak-check=yes \
 --error-limit=no \
 --num-callers=20 \
 --freelist-vol=536870912 \
 -v \
 ./activemq-test

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-38) Async error on broker when running integration tests

2007-01-07 Thread Nathan Mittler (JIRA)

[ 
https://issues.apache.org/activemq/browse/AMQCPP-38?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37827
 ] 

Nathan Mittler commented on AMQCPP-38:
--

Running the integration tests several times in a row against the latest trunk 
of the broker (everything co-located on the same OS X machine), I do not get 
this error.  Could you please provide your environment? 

Also, try running against the broker's latest trunk and see if you still have 
problems.

 Async error on broker when running integration tests
 

 Key: AMQCPP-38
 URL: https://issues.apache.org/activemq/browse/AMQCPP-38
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 1.1


 Brought over from the comments in AMQCPP-28.
 Sometimes when running the integration tests against the AMQ broker from 
 trunk, ones sees the following message from the broker:
 ERROR Service - Async error occurred:
 java.lang.IllegalStateException: Cannot remove a consumer that had not been 
 registered: ID:xxx-36153-1166305227288-5:16:-1:1
 at 
 org.apache.activemq.broker.TransportConnection.processRemoveConsumer(TransportConnection.java:593)
 at org.apache.activemq.command.RemoveInfo.visit(RemoveInfo.java:64)
 at 
 org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:287)
 at 
 org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
 at 
 org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
 at 
 org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122)
 at 
 org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:74)
 at 
 org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:119)
 at 
 org.apache.activemq.transport.stomp.ProtocolConverter.onStompUnsubscribe(ProtocolConverter.java:379)
 at 
 org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommad(ProtocolConverter.java:151)
 at 
 org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:64)
 at 
 org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
 at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:137)
 at java.lang.Thread.run(Thread.java:595)
 Using the default activemq.xml, I can reproduce the IllegalStateException 
 quite reliabily:
 1. Start a fresh copy of the broker (4.2 from yesterday's trunk)
 2. Run the integration test under Valgrind
 3. IllegalStateException happens at the end of 
 integration::durable::DurableTester::test or at the start of 
 integration::expiration::ExpirationTest::testExpired.
 Subsequent test runs don't yield the error, until the broker is restarted. I 
 don't know if this issue could be time-dependent - if it is, it could explain 
 why I only see it when running under Valgrind.
 On Linux, I also just got the following test failure for the first time (not 
 running under Valgrind):
 1) test: integration::durable::DurableTester::test (E)
 uncaught exception of unknown type

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-27) Issues reported by Valgrind when running unit tests

2006-12-22 Thread Nathan Mittler (JIRA)
[ 
https://issues.apache.org/activemq/browse/AMQCPP-27?page=comments#action_37753 
] 

Nathan Mittler commented on AMQCPP-27:
--

I haven't heard back - was this resolved by my latest changes? 

 Issues reported by Valgrind when running unit tests
 ---

 Key: AMQCPP-27
 URL: https://issues.apache.org/activemq/browse/AMQCPP-27
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 1.1

 Attachments: activemq-cpp-deletes.diff, activemq-cpp-valgrind.log


 Valgrind 3.2.1 reported a few issues when running the ActiveMQ C++ unit tests.
 Some of them were simple cases of mismatched new[] and delete[] (patch 
 attached).
 Valgrind also reports a few memory leaks, some probably the same as found by 
 Rational Purify.
 Complete Valgrind log attached (after I fixed the deletes). I ran Valgrind as 
 follows:
 valgrind \
 --tool=memcheck \
 --leak-check=yes \
 --error-limit=no \
 --num-callers=20 \
 --freelist-vol=536870912 \
 -v \
 ./activemq-test

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Updated: (AMQCPP-31) Consider giving the unix #define a more unique name

2006-12-22 Thread Nathan Mittler (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQCPP-31?page=all ]

Nathan Mittler updated AMQCPP-31:
-

Fix Version/s: 1.1

 Consider giving the unix #define a more unique name
 ---

 Key: AMQCPP-31
 URL: https://issues.apache.org/activemq/browse/AMQCPP-31
 Project: ActiveMQ C++ Client
  Issue Type: Wish
Affects Versions: 1.0, 1.1
Reporter: Albert Strasheim
 Assigned To: Timothy Bish
 Fix For: 1.1


 src\main\activemq\concurrent\Mutex.h and 
 src\main\activemq\concurrent\Thread.cpp check if unix is defined to enable 
 UNIX-specific functionality.
 From what I've seen in other projects, it's considered a good practice to 
 scope your defines, i.e. unix should rather be something like 
 ACTIVEMQ_CPP_UNIX. This virtually eliminates problems when integrating 
 multiple libraries, where defines like unix might mean different things to 
 different libraries, meaning the user will have to do some messy preprocessor 
 gymnastics when trying to include headers from multiple libraries in the same 
 file.
 This also provides an obvious naming convention for other defines. Need, 
 e.g., OpenBSD-specific code? Use ACTIVEMQ_CPP_OPENBSD. On Unix systems, 
 autoconf can probably take care of this kind of thing.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-27) Issues reported by Valgrind when running unit tests

2006-12-17 Thread Nathan Mittler (JIRA)
[ 
https://issues.apache.org/activemq/browse/AMQCPP-27?page=comments#action_37706 
] 

Nathan Mittler commented on AMQCPP-27:
--

Ok, I think I got it.  Grab the latest activemq/concurrent/Thread.cpp and give 
that a try.

 Issues reported by Valgrind when running unit tests
 ---

 Key: AMQCPP-27
 URL: https://issues.apache.org/activemq/browse/AMQCPP-27
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Attachments: activemq-cpp-deletes.diff, activemq-cpp-valgrind.log


 Valgrind 3.2.1 reported a few issues when running the ActiveMQ C++ unit tests.
 Some of them were simple cases of mismatched new[] and delete[] (patch 
 attached).
 Valgrind also reports a few memory leaks, some probably the same as found by 
 Rational Purify.
 Complete Valgrind log attached (after I fixed the deletes). I ran Valgrind as 
 follows:
 valgrind \
 --tool=memcheck \
 --leak-check=yes \
 --error-limit=no \
 --num-callers=20 \
 --freelist-vol=536870912 \
 -v \
 ./activemq-test

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-28) Purify and Valgrind warnings when running integration tests

2006-12-17 Thread Nathan Mittler (JIRA)
[ 
https://issues.apache.org/activemq/browse/AMQCPP-28?page=comments#action_37708 
] 

Nathan Mittler commented on AMQCPP-28:
--

... also, what version of the broker are you running against?

 Purify and Valgrind warnings when running integration tests
 ---

 Key: AMQCPP-28
 URL: https://issues.apache.org/activemq/browse/AMQCPP-28
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Attachments: activemq-cpp-test-integration-valgrind.log, 
 vc2005-activemq-integration-tests-purify.txt, 
 vc2005-activemq-integration-tests-r487924.txt


 Warnings from Purify when running the integration test (latest from trunk) 
 against latest trunk of the broker.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Resolved: (AMQ-517) Create a C++ client for ActiveMQ that can work with STOMP and OpenWire

2006-12-17 Thread Nathan Mittler (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-517?page=all ]

Nathan Mittler resolved AMQ-517.


Resolution: Fixed

Since activemq-cpp can support both stomp and openwire, I think it's safe to 
say this issue has been resolved.  I will open another issue under AMQCPP to 
address adding support for openwire (which is already underway).

 Create a C++ client for ActiveMQ that can work with STOMP and OpenWire
 --

 Key: AMQ-517
 URL: https://issues.apache.org/activemq/browse/AMQ-517
 Project: ActiveMQ
  Issue Type: Improvement
  Components: JMS client
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
Priority: Minor
 Attachments: cms.tar.gz, cms_v2.tar.gz, cms_v3.tar.gz


 I've created this issue to post my code.
 Attached is my first cut at CMS (C++ Message Service) with a Stomp client.  
 The idea is that CMS is the API (like JMS) and any messaging protocol can be 
 used behind it (Stomp, OpenWire, etc).  The docs folder contains the 
 doxygen html for the source as well as a pdf document that gives a high-level 
 overview.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Created: (AMQCPP-30) Add support to activemq-cpp to support the openwire protocol

2006-12-17 Thread Nathan Mittler (JIRA)
Add support to activemq-cpp to support the openwire protocol


 Key: AMQCPP-30
 URL: https://issues.apache.org/activemq/browse/AMQCPP-30
 Project: ActiveMQ C++ Client
  Issue Type: New Feature
  Components: Openwire
 Environment: All
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
Priority: Critical
 Fix For: 2.0


Need to complete the first cut at the implementation of the openwire transport

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-28) Purify and Valgrind warnings when running integration tests

2006-12-17 Thread Nathan Mittler (JIRA)
[ 
https://issues.apache.org/activemq/browse/AMQCPP-28?page=comments#action_37715 
] 

Nathan Mittler commented on AMQCPP-28:
--

We've just recently discovered this same problem.  It seems that the 
integration tests work fine against 4.0.2, but not the latest trunk.  Since 
this isn't related to the memory leaks, would you mind opening a new JIRA issue 
for this?

 Purify and Valgrind warnings when running integration tests
 ---

 Key: AMQCPP-28
 URL: https://issues.apache.org/activemq/browse/AMQCPP-28
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 1.1

 Attachments: activemq-cpp-test-integration-valgrind.log, 
 vc2005-activemq-integration-tests-purify.txt, 
 vc2005-activemq-integration-tests-r487924.txt


 Warnings from Purify when running the integration test (latest from trunk) 
 against latest trunk of the broker.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Assigned: (AMQCPP-29) Projects in MSVC build building on top of one another

2006-12-17 Thread Nathan Mittler (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQCPP-29?page=all ]

Nathan Mittler reassigned AMQCPP-29:


Assignee: Timothy Bish  (was: Nathan Mittler)

 Projects in MSVC build building on top of one another
 -

 Key: AMQCPP-29
 URL: https://issues.apache.org/activemq/browse/AMQCPP-29
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Timothy Bish
Priority: Minor
 Fix For: 1.1

 Attachments: activemq-cpp-winbuild.diff


 After I've done a complete Debug build on Windows with MSVC 2005, building 
 the solution again still yields the following each time I build:
 1-- Build started: Project: vs2005-activemq-example, Configuration: 
 Debug Win32 --
 1Linking...
 1Embedding manifest...
 1Build log was saved at 
 file://c:\home\albert\work5\activemq-cpp\Debug\BuildLog.htm
 1vs2005-activemq-example - 0 error(s), 0 warning(s)
 == Build: 1 succeeded, 0 failed, 3 up-to-date, 0 skipped ==
 I think this relinking might have something to do with the tests and 
 activemq-example all containing a main.cpp with is built as main.obj in the 
 Debug directory.
 You might consider setting up the Windows builds as follows (idea borrowed 
 from many other projects I've looked at):
 top level of project
\win_build
\win_build\solution.sln
\win_build\project1.sln
\win_build\project2.sln
\win_build\Debug (output directory)
\win_build\Release (output directory)
\win_build\project1\Debug (intermediate directory)
\win_build\project1\Release (intermediate directory)
\win_build\project2\Debug (intermediate directory)
\win_build\project2\Release (intermediate directory)
 To achieve this, each project's output directory for each build is set to 
 (SolutionDir)$(ConfigurationName)  and the intermediate directory is set to 
 $(SolutionDir)$(ProjectName)\$(ConfigurationName) (note the extra \).
 This setup keeps all the Windows output out of the top level directory, and 
 prevents projects from building on top of one another.
 With this setup, you need to refer to src\main as ..\src\main, etc.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Closed: (AMQCPP-16) CMS API needs updates to more closely follow JMS API

2006-12-17 Thread Nathan Mittler (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQCPP-16?page=all ]

Nathan Mittler closed AMQCPP-16.


Resolution: Fixed
  Assignee: Nathan Mittler  (was: Timothy Bish)

At this point, we have implemented 3 of the 4 changes.  We're going to push out 
the implementation of the recover method for now.  If someone really wants that 
functionality, we can create another issue in the future.

 CMS API needs updates to more closely follow JMS API
 

 Key: AMQCPP-16
 URL: https://issues.apache.org/activemq/browse/AMQCPP-16
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
  Components: CMS Impl
Affects Versions: 1.1, 2.0
Reporter: Timothy Bish
 Assigned To: Nathan Mittler
Priority: Minor
 Fix For: 1.1


 The CMS API interfaces need updates so that they more closely follow the JMS 
 API:
 1.  Change longs to long long types.
 2.  The ReplyTo accessors should handle cms::Destination pointers, not strings

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-29) Projects in MSVC build building on top of one another

2006-12-17 Thread Nathan Mittler (JIRA)
[ 
https://issues.apache.org/activemq/browse/AMQCPP-29?page=comments#action_37710 
] 

Nathan Mittler commented on AMQCPP-29:
--

It sounds like you know what needs to be done - would you fancy providing us 
with a patch?

 Projects in MSVC build building on top of one another
 -

 Key: AMQCPP-29
 URL: https://issues.apache.org/activemq/browse/AMQCPP-29
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
Priority: Minor

 After I've done a complete Debug build on Windows with MSVC 2005, building 
 the solution again still yields the following each time I build:
 1-- Build started: Project: vs2005-activemq-example, Configuration: 
 Debug Win32 --
 1Linking...
 1Embedding manifest...
 1Build log was saved at 
 file://c:\home\albert\work5\activemq-cpp\Debug\BuildLog.htm
 1vs2005-activemq-example - 0 error(s), 0 warning(s)
 == Build: 1 succeeded, 0 failed, 3 up-to-date, 0 skipped ==
 I think this relinking might have something to do with the tests and 
 activemq-example all containing a main.cpp with is built as main.obj in the 
 Debug directory.
 You might consider setting up the Windows builds as follows (idea borrowed 
 from many other projects I've looked at):
 top level of project
\win_build
\win_build\solution.sln
\win_build\project1.sln
\win_build\project2.sln
\win_build\Debug (output directory)
\win_build\Release (output directory)
\win_build\project1\Debug (intermediate directory)
\win_build\project1\Release (intermediate directory)
\win_build\project2\Debug (intermediate directory)
\win_build\project2\Release (intermediate directory)
 To achieve this, each project's output directory for each build is set to 
 (SolutionDir)$(ConfigurationName)  and the intermediate directory is set to 
 $(SolutionDir)$(ProjectName)\$(ConfigurationName) (note the extra \).
 This setup keeps all the Windows output out of the top level directory, and 
 prevents projects from building on top of one another.
 With this setup, you need to refer to src\main as ..\src\main, etc.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Updated: (AMQCPP-27) Issues reported by Valgrind when running unit tests

2006-12-17 Thread Nathan Mittler (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQCPP-27?page=all ]

Nathan Mittler updated AMQCPP-27:
-

Fix Version/s: 1.1

 Issues reported by Valgrind when running unit tests
 ---

 Key: AMQCPP-27
 URL: https://issues.apache.org/activemq/browse/AMQCPP-27
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 1.1

 Attachments: activemq-cpp-deletes.diff, activemq-cpp-valgrind.log


 Valgrind 3.2.1 reported a few issues when running the ActiveMQ C++ unit tests.
 Some of them were simple cases of mismatched new[] and delete[] (patch 
 attached).
 Valgrind also reports a few memory leaks, some probably the same as found by 
 Rational Purify.
 Complete Valgrind log attached (after I fixed the deletes). I ran Valgrind as 
 follows:
 valgrind \
 --tool=memcheck \
 --leak-check=yes \
 --error-limit=no \
 --num-callers=20 \
 --freelist-vol=536870912 \
 -v \
 ./activemq-test

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Updated: (AMQCPP-28) Purify and Valgrind warnings when running integration tests

2006-12-17 Thread Nathan Mittler (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQCPP-28?page=all ]

Nathan Mittler updated AMQCPP-28:
-

Fix Version/s: 1.1

 Purify and Valgrind warnings when running integration tests
 ---

 Key: AMQCPP-28
 URL: https://issues.apache.org/activemq/browse/AMQCPP-28
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 1.1

 Attachments: activemq-cpp-test-integration-valgrind.log, 
 vc2005-activemq-integration-tests-purify.txt, 
 vc2005-activemq-integration-tests-r487924.txt


 Warnings from Purify when running the integration test (latest from trunk) 
 against latest trunk of the broker.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Updated: (AMQCPP-29) Projects in MSVC build building on top of one another

2006-12-17 Thread Nathan Mittler (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQCPP-29?page=all ]

Nathan Mittler updated AMQCPP-29:
-

Fix Version/s: 1.1

 Projects in MSVC build building on top of one another
 -

 Key: AMQCPP-29
 URL: https://issues.apache.org/activemq/browse/AMQCPP-29
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
Priority: Minor
 Fix For: 1.1


 After I've done a complete Debug build on Windows with MSVC 2005, building 
 the solution again still yields the following each time I build:
 1-- Build started: Project: vs2005-activemq-example, Configuration: 
 Debug Win32 --
 1Linking...
 1Embedding manifest...
 1Build log was saved at 
 file://c:\home\albert\work5\activemq-cpp\Debug\BuildLog.htm
 1vs2005-activemq-example - 0 error(s), 0 warning(s)
 == Build: 1 succeeded, 0 failed, 3 up-to-date, 0 skipped ==
 I think this relinking might have something to do with the tests and 
 activemq-example all containing a main.cpp with is built as main.obj in the 
 Debug directory.
 You might consider setting up the Windows builds as follows (idea borrowed 
 from many other projects I've looked at):
 top level of project
\win_build
\win_build\solution.sln
\win_build\project1.sln
\win_build\project2.sln
\win_build\Debug (output directory)
\win_build\Release (output directory)
\win_build\project1\Debug (intermediate directory)
\win_build\project1\Release (intermediate directory)
\win_build\project2\Debug (intermediate directory)
\win_build\project2\Release (intermediate directory)
 To achieve this, each project's output directory for each build is set to 
 (SolutionDir)$(ConfigurationName)  and the intermediate directory is set to 
 $(SolutionDir)$(ProjectName)\$(ConfigurationName) (note the extra \).
 This setup keeps all the Windows output out of the top level directory, and 
 prevents projects from building on top of one another.
 With this setup, you need to refer to src\main as ..\src\main, etc.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-28) Purify and Valgrind warnings when running integration tests

2006-12-17 Thread Nathan Mittler (JIRA)
[ 
https://issues.apache.org/activemq/browse/AMQCPP-28?page=comments#action_37718 
] 

Nathan Mittler commented on AMQCPP-28:
--

For now, let's stick this under AMQCPP until we are sure that it's not a bug on 
the client side.  If we determine it really is a broker issue later, we can 
move it over.

 Purify and Valgrind warnings when running integration tests
 ---

 Key: AMQCPP-28
 URL: https://issues.apache.org/activemq/browse/AMQCPP-28
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Fix For: 1.1

 Attachments: activemq-cpp-test-integration-valgrind.log, 
 vc2005-activemq-integration-tests-purify.txt, 
 vc2005-activemq-integration-tests-r487924.txt


 Warnings from Purify when running the integration test (latest from trunk) 
 against latest trunk of the broker.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-27) Issues reported by Valgrind when running unit tests

2006-12-16 Thread Nathan Mittler (JIRA)
[ 
https://issues.apache.org/activemq/browse/AMQCPP-27?page=comments#action_37702 
] 

Nathan Mittler commented on AMQCPP-27:
--

I've added a couple of tweaks to trunk.  If this doesn't work I think Valgrind 
is giving us a phantom memory leak.  There really isn't anything in that 
particular chunk of code that can leak memory.

 Issues reported by Valgrind when running unit tests
 ---

 Key: AMQCPP-27
 URL: https://issues.apache.org/activemq/browse/AMQCPP-27
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Attachments: activemq-cpp-deletes.diff, activemq-cpp-valgrind.log


 Valgrind 3.2.1 reported a few issues when running the ActiveMQ C++ unit tests.
 Some of them were simple cases of mismatched new[] and delete[] (patch 
 attached).
 Valgrind also reports a few memory leaks, some probably the same as found by 
 Rational Purify.
 Complete Valgrind log attached (after I fixed the deletes). I ran Valgrind as 
 follows:
 valgrind \
 --tool=memcheck \
 --leak-check=yes \
 --error-limit=no \
 --num-callers=20 \
 --freelist-vol=536870912 \
 -v \
 ./activemq-test

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-27) Issues reported by Valgrind when running unit tests

2006-12-16 Thread Nathan Mittler (JIRA)
[ 
https://issues.apache.org/activemq/browse/AMQCPP-27?page=comments#action_37694 
] 

Nathan Mittler commented on AMQCPP-27:
--

Patch applied to trunk - Thanks!

I will look at the Valgrind output a bit later.

 Issues reported by Valgrind when running unit tests
 ---

 Key: AMQCPP-27
 URL: https://issues.apache.org/activemq/browse/AMQCPP-27
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Attachments: activemq-cpp-deletes.diff, activemq-cpp-valgrind.log


 Valgrind 3.2.1 reported a few issues when running the ActiveMQ C++ unit tests.
 Some of them were simple cases of mismatched new[] and delete[] (patch 
 attached).
 Valgrind also reports a few memory leaks, some probably the same as found by 
 Rational Purify.
 Complete Valgrind log attached (after I fixed the deletes). I ran Valgrind as 
 follows:
 valgrind \
 --tool=memcheck \
 --leak-check=yes \
 --error-limit=no \
 --num-callers=20 \
 --freelist-vol=536870912 \
 -v \
 ./activemq-test

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-26) Memory leaks reported by Rational Purify when running unit tests

2006-12-16 Thread Nathan Mittler (JIRA)
[ 
https://issues.apache.org/activemq/browse/AMQCPP-26?page=comments#action_37695 
] 

Nathan Mittler commented on AMQCPP-26:
--

I've made some changes in trunk that I'd like you to try when you get a chance. 
 

Thanks for the help!

 Memory leaks reported by Rational Purify when running unit tests
 

 Key: AMQCPP-26
 URL: https://issues.apache.org/activemq/browse/AMQCPP-26
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Attachments: vc2005-activemq-unittests-purify.txt


 Rational Purify reports two potential memory leaks in the latest ActiveMQ C++ 
 code from SVN. I've attached the complete Purfiy output.
 Look for the following:
 MPK: Potential memory leak of 116 bytes from 1 block allocated in 
 activemq::core::ActiveMQConnectionFactory::createConnection(basic_stringchar,char_traitschar::std,allocatorchar::std::std
  const,basic_stringchar,char_traitschar::std,allocatorchar::std::std 
 const,basic_stringchar,char_traitschar::std,allocatorchar::std::std 
 const) [vc2005-activemq-unittests.exe]
 Potential memory leak of 116 bytes from 1 block allocated in 
 activemq::core::ActiveMQConnectionFactory::createConnection(basic_stringchar,char_traitschar::std,allocatorchar::std::std
  const,basic_stringchar,char_traitschar::std,allocatorchar::std::std 
 const,basic_stringchar,char_traitschar::std,allocatorchar::std::std 
 const) [vc2005-activemq-unittests.exe]
 I think the createConnection leak has also been reported on the mailing list.
 Complete Purify output attached.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-27) Issues reported by Valgrind when running unit tests

2006-12-16 Thread Nathan Mittler (JIRA)
[ 
https://issues.apache.org/activemq/browse/AMQCPP-27?page=comments#action_37697 
] 

Nathan Mittler commented on AMQCPP-27:
--

I think I may have located the last leak listed in the file ... but it will 
only occur on win32 - I'm assuming this is your platform?

I don't have access to a windows box - could you give the latest trunk a try?  
I haven't built it on win32 but it was just a 1-line change ... so cross your 
fingers :)

Thanks again for your help - it is much appreciated!

 Issues reported by Valgrind when running unit tests
 ---

 Key: AMQCPP-27
 URL: https://issues.apache.org/activemq/browse/AMQCPP-27
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Attachments: activemq-cpp-deletes.diff, activemq-cpp-valgrind.log


 Valgrind 3.2.1 reported a few issues when running the ActiveMQ C++ unit tests.
 Some of them were simple cases of mismatched new[] and delete[] (patch 
 attached).
 Valgrind also reports a few memory leaks, some probably the same as found by 
 Rational Purify.
 Complete Valgrind log attached (after I fixed the deletes). I ran Valgrind as 
 follows:
 valgrind \
 --tool=memcheck \
 --leak-check=yes \
 --error-limit=no \
 --num-callers=20 \
 --freelist-vol=536870912 \
 -v \
 ./activemq-test

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-27) Issues reported by Valgrind when running unit tests

2006-12-16 Thread Nathan Mittler (JIRA)
[ 
https://issues.apache.org/activemq/browse/AMQCPP-27?page=comments#action_37698 
] 

Nathan Mittler commented on AMQCPP-27:
--

I've fixed a couple other leaks that I've found related to the leak in 
activemq::connector::stomp::StompConnectorTest::testCommand().

 Issues reported by Valgrind when running unit tests
 ---

 Key: AMQCPP-27
 URL: https://issues.apache.org/activemq/browse/AMQCPP-27
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Attachments: activemq-cpp-deletes.diff, activemq-cpp-valgrind.log


 Valgrind 3.2.1 reported a few issues when running the ActiveMQ C++ unit tests.
 Some of them were simple cases of mismatched new[] and delete[] (patch 
 attached).
 Valgrind also reports a few memory leaks, some probably the same as found by 
 Rational Purify.
 Complete Valgrind log attached (after I fixed the deletes). I ran Valgrind as 
 follows:
 valgrind \
 --tool=memcheck \
 --leak-check=yes \
 --error-limit=no \
 --num-callers=20 \
 --freelist-vol=536870912 \
 -v \
 ./activemq-test

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-28) Purify and Valgrind warnings when running integration tests

2006-12-16 Thread Nathan Mittler (JIRA)
[ 
https://issues.apache.org/activemq/browse/AMQCPP-28?page=comments#action_37700 
] 

Nathan Mittler commented on AMQCPP-28:
--

please reuse the issues when they're all related to the same problem (e.g. 
memory leaks).  At this point, let's keep it at two: this one for leaks related 
to integ tests, and AMQCPP-27 for leaks related to unit tests.

 Purify and Valgrind warnings when running integration tests
 ---

 Key: AMQCPP-28
 URL: https://issues.apache.org/activemq/browse/AMQCPP-28
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Attachments: activemq-cpp-test-integration-valgrind.log, 
 vc2005-activemq-integration-tests-purify.txt


 Warnings from Purify when running the integration test (latest from trunk) 
 against latest trunk of the broker.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-28) Purify and Valgrind warnings when running integration tests

2006-12-16 Thread Nathan Mittler (JIRA)
[ 
https://issues.apache.org/activemq/browse/AMQCPP-28?page=comments#action_37701 
] 

Nathan Mittler commented on AMQCPP-28:
--

Updates have been applied to trunk.

 Purify and Valgrind warnings when running integration tests
 ---

 Key: AMQCPP-28
 URL: https://issues.apache.org/activemq/browse/AMQCPP-28
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.1
Reporter: Albert Strasheim
 Assigned To: Nathan Mittler
 Attachments: activemq-cpp-test-integration-valgrind.log, 
 vc2005-activemq-integration-tests-purify.txt


 Warnings from Purify when running the integration test (latest from trunk) 
 against latest trunk of the broker.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-16) CMS API needs updates to more closely follow JMS API

2006-12-14 Thread Nathan Mittler (JIRA)
[ 
https://issues.apache.org/activemq/browse/AMQCPP-16?page=comments#action_37685 
] 

Nathan Mittler commented on AMQCPP-16:
--

1) has been implemented in trunk.  This required changes to 
DataInput/OutputStreams and ByteArrayInput/OuptutStreams to facilitate the new 
BytesMessage API.

I also update the InputStream and OutputStream APIs to remove const where not 
necessary.

Tim, give this a try in windows (regarding the const changes) ... gcc is very 
giving on this particular issue :)

Also, could you comment on any of the others that you have implemented in 
trunk?  Thanks.

 CMS API needs updates to more closely follow JMS API
 

 Key: AMQCPP-16
 URL: https://issues.apache.org/activemq/browse/AMQCPP-16
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
  Components: CMS Impl
Affects Versions: 1.1, 2.0
Reporter: Timothy Bish
 Assigned To: Timothy Bish
Priority: Minor
 Fix For: 1.1


 The CMS API interfaces need updates so that they more closely follow the JMS 
 API:
 1.  Change longs to long long types.
 2.  The ReplyTo accessors should handle cms::Destination pointers, not strings

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Created: (AMQCPP-20) Deadlock when in stomp connector close

2006-12-01 Thread Nathan Mittler (JIRA)
Deadlock when in stomp connector close
--

 Key: AMQCPP-20
 URL: https://issues.apache.org/activemq/browse/AMQCPP-20
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.0
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
 Fix For: 1.1


When a broken socket occurs, the stomp connector attempts to asynchronously 
close itself.  This can cause a deadlock if the main thread is in the close 
method and is performing a join on the transport thread.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Closed: (AMQCPP-20) Deadlock when in stomp connector close

2006-12-01 Thread Nathan Mittler (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQCPP-20?page=all ]

Nathan Mittler closed AMQCPP-20.


Resolution: Fixed

Fixed in trunk

Removed the call to close from the asynchronous thread.  The user will 
eventually close it anyway ... that's the more natural point to do a close.

 Deadlock when in stomp connector close
 --

 Key: AMQCPP-20
 URL: https://issues.apache.org/activemq/browse/AMQCPP-20
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.0
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
 Fix For: 1.1


 When a broken socket occurs, the stomp connector attempts to asynchronously 
 close itself.  This can cause a deadlock if the main thread is in the close 
 method and is performing a join on the transport thread.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Reopened: (AMQCPP-20) Deadlock when in stomp connector close

2006-12-01 Thread Nathan Mittler (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQCPP-20?page=all ]

Nathan Mittler reopened AMQCPP-20:
--

 
Need to add better handling of close, so that we don't log an error or notify 
the client if the broken socket was due to the sending of the stomp disconnect 
message (server-initiated socket disconnect).

 Deadlock when in stomp connector close
 --

 Key: AMQCPP-20
 URL: https://issues.apache.org/activemq/browse/AMQCPP-20
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.0
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
 Fix For: 1.1


 When a broken socket occurs, the stomp connector attempts to asynchronously 
 close itself.  This can cause a deadlock if the main thread is in the close 
 method and is performing a join on the transport thread.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Closed: (AMQCPP-20) Deadlock when in stomp connector close

2006-12-01 Thread Nathan Mittler (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQCPP-20?page=all ]

Nathan Mittler closed AMQCPP-20.


Resolution: Fixed

fixed in trunk

 Deadlock when in stomp connector close
 --

 Key: AMQCPP-20
 URL: https://issues.apache.org/activemq/browse/AMQCPP-20
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.0
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
 Fix For: 1.1


 When a broken socket occurs, the stomp connector attempts to asynchronously 
 close itself.  This can cause a deadlock if the main thread is in the close 
 method and is performing a join on the transport thread.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Created: (AMQCPP-18) ActiveMQConnection.close() causes app to crash

2006-11-30 Thread Nathan Mittler (JIRA)
ActiveMQConnection.close() causes app to crash
--

 Key: AMQCPP-18
 URL: https://issues.apache.org/activemq/browse/AMQCPP-18
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.0
 Environment: All platforms
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
 Fix For: 1.1


We currently have a flawed exception handling model in StompCommandReader.  It 
propagates different exceptions than the ones that are advertised, which causes 
the exception to slip through and crash the application.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Resolved: (AMQCPP-18) ActiveMQConnection.close() causes app to crash

2006-11-30 Thread Nathan Mittler (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQCPP-18?page=all ]

Nathan Mittler resolved AMQCPP-18.
--

Resolution: Fixed

Fixed in trunk

 ActiveMQConnection.close() causes app to crash
 --

 Key: AMQCPP-18
 URL: https://issues.apache.org/activemq/browse/AMQCPP-18
 Project: ActiveMQ C++ Client
  Issue Type: Bug
Affects Versions: 1.0
 Environment: All platforms
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
 Fix For: 1.1


 We currently have a flawed exception handling model in StompCommandReader.  
 It propagates different exceptions than the ones that are advertised, which 
 causes the exception to slip through and crash the application.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQCPP-14) CMSExpiration not handled properly in ActiveMQProducer

2006-11-28 Thread Nathan Mittler (JIRA)
[ 
https://issues.apache.org/activemq/browse/AMQCPP-14?page=comments#action_37573 
] 

Nathan Mittler commented on AMQCPP-14:
--

Another issue was found in that the MessageConsumer's receive() method does not 
seem to take message expiration into account before returning it.  After a 
quick inspection, it appears the .NET client may have the same issue.

An example of what should be done is shown in ActiveMQMessageConsumer's dequeue 
method:

https://svn.apache.org/repos/asf/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java


 CMSExpiration not handled properly in ActiveMQProducer
 --

 Key: AMQCPP-14
 URL: https://issues.apache.org/activemq/browse/AMQCPP-14
 Project: ActiveMQ C++ Client
  Issue Type: Bug
  Components: CMS Impl
Affects Versions: 1.0
 Environment: All
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
Priority: Minor
 Fix For: 1.1

   Original Estimate: 1 day
  Remaining Estimate: 1 day

 ActiveMQProducer.send method is overwriting the CMSExpiration in the message 
 with its default timeToLive value.  This is incorrect - it should set the 
 expiry to (expiry + timeToLive).  An example of this is in ActiveMQ's 
 ActiveMQSession:
 https://svn.apache.org/repos/asf/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQSession.java
 A work-around is to specify the timeToLive value in the producer. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Closed: (AMQCPP-15) Add other versions of send method to CMS MessageProducer

2006-11-26 Thread Nathan Mittler (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQCPP-15?page=all ]

Nathan Mittler closed AMQCPP-15.


Resolution: Duplicate

This issue is being handled by AMQ-CPP-16

 Add other versions of send method to CMS MessageProducer
 

 Key: AMQCPP-15
 URL: https://issues.apache.org/activemq/browse/AMQCPP-15
 Project: ActiveMQ C++ Client
  Issue Type: New Feature
  Components: CMS Impl
Affects Versions: 1.0
 Environment: All
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
Priority: Minor
 Fix For: 1.1

   Original Estimate: 1 day
  Remaining Estimate: 1 day

 There are two versions of the send method in JMS that are not currently part 
 of the CMS API.
 send(Destination destination, Message message, int deliveryMode, int 
 priority, long timeToLive) 
 send(Message message, int deliveryMode, int priority, long timeToLive) 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Created: (AMQCPP-14) CMSExpiration not handled properly in ActiveMQProducer

2006-11-26 Thread Nathan Mittler (JIRA)
CMSExpiration not handled properly in ActiveMQProducer
--

 Key: AMQCPP-14
 URL: https://issues.apache.org/activemq/browse/AMQCPP-14
 Project: ActiveMQ C++ Client
  Issue Type: Bug
  Components: CMS Impl
Affects Versions: 1.0
 Environment: All
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
Priority: Minor
 Fix For: 1.1


ActiveMQProducer.send method is overwriting the CMSExpiration in the message 
with its default timeToLive value.  This is incorrect - it should set the 
expiry to (expiry + timeToLive).  An example of this is in ActiveMQ's 
ActiveMQSession:

https://svn.apache.org/repos/asf/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQSession.java

A work-around is to specify the timeToLive value in the producer. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (AMQ-1017) Build of current trunk with Maven2 fails

2006-11-16 Thread Nathan Mittler (JIRA)
[ 
https://issues.apache.org/activemq/browse/AMQ-1017?page=comments#action_37465 ] 

Nathan Mittler commented on AMQ-1017:
-

I was having a similar problem at work on my windows box, but it looks like we 
have a solution ... Thanks to Tim Bish!

It comes down to a proxy issue for https.  We had to set the environment 
variables https.proxyHost and https.proxyPort. The proxy configuration in 
the maven settings.xml only seems to work for http, not https.

Once we defined those, it built just fine.

Hope this helps.

 Build of current trunk with Maven2 fails
 

 Key: AMQ-1017
 URL: https://issues.apache.org/activemq/browse/AMQ-1017
 Project: ActiveMQ
  Issue Type: Bug
Affects Versions: 4.1.0
 Environment: Windows XP, Maven 2.0.4, Java 1.5.0_06
Reporter: Bernhard Wellhöfer
Priority: Critical
 Attachments: mvn-472933.log, mvn.log, mvn.log, mvn.log


 A build of a fresh checkout from 
 https://svn.apache.org/repos/asf/incubator/activemq/trunk with Maven2 fails. 
 See the attached log of the build.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Moved: (AMQCPP-1) host_os env variable is empty in configure.ac

2006-11-16 Thread Nathan Mittler (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQCPP-1?page=all ]

Nathan Mittler moved AMQ-1025 to AMQCPP-1:
--

Project: ActiveMQ C++ Client  (was: ActiveMQ)
Key: AMQCPP-1  (was: AMQ-1025)
Component/s: (was: CMS (C++ client))

 host_os env variable is empty in configure.ac
 -

 Key: AMQCPP-1
 URL: https://issues.apache.org/activemq/browse/AMQCPP-1
 Project: ActiveMQ C++ Client
  Issue Type: Bug
 Environment: building on linux, solaris, and cygwin
Reporter: Nathan Mittler
Priority: Minor
   Original Estimate: 15 minutes
  Remaining Estimate: 15 minutes

 The host_os environment variable is undefined when executing the configure.ac 
 file.  As a result, the switch on os_host doesn't execute properly.  This 
 seems to be fixed (at least on linux) by adding AC_CANONICAL_HOST at the top 
 of the file.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Moved: (AMQCPP-2) Release build of ActiveMQ-CPP from trunk with Visual Studio 2005 fails due to Windows headers include order issue

2006-11-16 Thread Nathan Mittler (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQCPP-2?page=all ]

Nathan Mittler moved AMQ-1021 to AMQCPP-2:
--

  Project: ActiveMQ C++ Client  (was: ActiveMQ)
  Key: AMQCPP-2  (was: AMQ-1021)
  Component/s: (was: CMS (C++ client))
Affects Version/s: (was: 4.0.1)

 Release build of ActiveMQ-CPP from trunk with Visual Studio 2005 fails due to 
 Windows headers include order issue
 -

 Key: AMQCPP-2
 URL: https://issues.apache.org/activemq/browse/AMQCPP-2
 Project: ActiveMQ C++ Client
  Issue Type: Bug
 Environment: Windows
Reporter: Albert Strasheim
 Assigned To: Timothy Bish

 Doing a release build of ActiveMQ-CPP from trunk with Visual Studio 2005 
 results in the following error when compiling DataInputStreamTest.cpp:
 {quote}
 1-- Build started: Project: vc2005-activemq-unittests, Configuration: 
 Release Win32 --
 1Compiling...
 1DataInputStreamTest.cpp
 1f:\activemq-cpp\src\main\activemq/io/ByteArrayInputStream.h(142) : warning 
 C4244: 'return' : conversion from '__w64 int' to 'int', possible loss of data
 1C:\Program Files\Microsoft Platform SDK\Include\Winsock2.h(112) : error 
 C2011: 'fd_set' : 'struct' type redefinition
 1C:\Program Files\Microsoft Platform SDK\Include\winsock.h(54) : see 
 declaration of 'fd_set'
 1C:\Program Files\Microsoft Platform SDK\Include\Winsock2.h(147) : warning 
 C4005: 'FD_SET' : macro redefinition
 1C:\Program Files\Microsoft Platform SDK\Include\winsock.h(88) : see 
 previous definition of 'FD_SET'
 1C:\Program Files\Microsoft Platform SDK\Include\Winsock2.h(156) : error 
 C2011: 'timeval' : 'struct' type redefinition
 1C:\Program Files\Microsoft Platform SDK\Include\winsock.h(97) : see 
 declaration of 'timeval'
 ...
 {quote}
 This error happens when some combination of winsock.h, winsock2.h and 
 windows.h is included in the wrong order. The following change fixes the 
 problem and might provide some clue as to what is going on.
 {quote}
 Index: DataInputStreamTest.h
 ===
 --- DataInputStreamTest.h   (revision 470321)
 +++ DataInputStreamTest.h   (working copy)
 @@ -21,10 +21,10 @@
  #include cppunit/TestFixture.h
  #include cppunit/extensions/HelperMacros.h
 +#include activemq/util/Endian.h
  #include activemq/exceptions/ActiveMQException.h
  #include activemq/io/BufferedInputStream.h
  #include activemq/io/ByteArrayInputStream.h
 -#include activemq/util/Endian.h
  #include activemq/io/DataInputStream.h
  #ifdef min
 {quote}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Moved: (AMQCPP-3) Receiving a BytesMessage sent from Java using CMS listener causes exception thrown in class BufferedInputStream

2006-11-16 Thread Nathan Mittler (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQCPP-3?page=all ]

Nathan Mittler moved AMQ-1012 to AMQCPP-3:
--

  Project: ActiveMQ C++ Client  (was: ActiveMQ)
  Key: AMQCPP-3  (was: AMQ-1012)
  Component/s: (was: CMS (C++ client))
Fix Version/s: (was: 4.0.3)
Affects Version/s: (was: 4.0.2)

 Receiving a  BytesMessage sent from Java using CMS listener causes exception 
 thrown in class BufferedInputStream
 

 Key: AMQCPP-3
 URL: https://issues.apache.org/activemq/browse/AMQCPP-3
 Project: ActiveMQ C++ Client
  Issue Type: Bug
 Environment: Ubuntu Linux 6.06 LTS, ActiveMQ 4.0.2, CMS version 0.0.2 
 with STOMP
Reporter: Mark Silberbauer
   Original Estimate: 1 day
  Remaining Estimate: 1 day

 1) Setup a MessageListener to listen for messages on Topic X using CMS.
 2) Send a BytesMessage from ActiveMQ java JMS interface to Topic X
 3) An exception is thrown from BufferedInputStream::bufferData() with 
 description failed reading bytes from stream
 int bytesRead = stream-read( buffer+tail, bufferSize-tail );
 if( bytesRead == 0 ){
 throw IOException( __FILE__, __LINE__, 
 BufferedInputStream::read() - failed reading bytes from stream);
 }
 4) The operation of the CMS interface is broken thereafter.
 Note:
 This only occurs when sending a BytesMessage from Java to C++
 Sending a BytesMessage from C++ to Java or  C++ to C++ works perfectly.
 Sending messages of Type TextMessage also works perfectly.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Moved: (AMQCPP-4) Compilation warning under windows for activemq-cpp

2006-11-16 Thread Nathan Mittler (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQCPP-4?page=all ]

Nathan Mittler moved AMQ-1011 to AMQCPP-4:
--

Project: ActiveMQ C++ Client  (was: ActiveMQ)
Key: AMQCPP-4  (was: AMQ-1011)
Component/s: (was: CMS (C++ client))

 Compilation warning under windows for activemq-cpp
 --

 Key: AMQCPP-4
 URL: https://issues.apache.org/activemq/browse/AMQCPP-4
 Project: ActiveMQ C++ Client
  Issue Type: Bug
 Environment: windows
Reporter: Nathan Mittler
 Assigned To: Nathan Mittler
Priority: Trivial
   Original Estimate: 1 hour
  Remaining Estimate: 1 hour

 Under Windows, the following warning gets printed out:
 c:\ActiveMQ\activemq\connector\stomp\commands\AckCommand.h(102) : warning
 C4390: ';' : empty controlled statement found;

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Moved: (AMQCPP-6) add createDurableSubscriber() methods to Session.h

2006-11-16 Thread Nathan Mittler (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQCPP-6?page=all ]

Nathan Mittler moved AMQ-779 to AMQCPP-6:
-

Project: ActiveMQ C++ Client  (was: ActiveMQ)
Key: AMQCPP-6  (was: AMQ-779)
Component/s: CMS Impl
 (was: CMS (C++ client))

 add createDurableSubscriber() methods to Session.h
 --

 Key: AMQCPP-6
 URL: https://issues.apache.org/activemq/browse/AMQCPP-6
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
  Components: CMS Impl
Reporter: james strachan
 Assigned To: Timothy Bish

 e.g.
 http://java.sun.com/j2ee/1.4/docs/api/javax/jms/Session.html#createDurableSubscriber(javax.jms.Topic,%20java.lang.String)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Moved: (AMQCPP-5) Make Session.h more polymorphic like JMS 1.1 with createProducer/createConsumer methods on Session.h

2006-11-16 Thread Nathan Mittler (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQCPP-5?page=all ]

Nathan Mittler moved AMQ-778 to AMQCPP-5:
-

Project: ActiveMQ C++ Client  (was: ActiveMQ)
Key: AMQCPP-5  (was: AMQ-778)
Component/s: CMS Impl
 (was: CMS (C++ client))

 Make Session.h more polymorphic like JMS 1.1 with 
 createProducer/createConsumer methods on Session.h
 

 Key: AMQCPP-5
 URL: https://issues.apache.org/activemq/browse/AMQCPP-5
 Project: ActiveMQ C++ Client
  Issue Type: Improvement
  Components: CMS Impl
Reporter: james strachan
 Assigned To: Nathan Mittler



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




  1   2   >