Re: Review Request: Re-add explicit flushes to store when execution.sync and sync flag in message.transfer received.

2011-05-11 Thread Gordon Sim

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/701/#review664
---

Ship it!


- Gordon


On 2011-05-10 21:25:11, Kenneth Giusti wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/701/
 ---
 
 (Updated 2011-05-10 21:25:11)
 
 
 Review request for qpid, Alan Conway, Gordon Sim, and Kim van der Riet.
 
 
 Summary
 ---
 
 Broker now issues an explicit flush for each received message that has the 
 sync flag set in the message.transfer command.
 Broker also tracks all messages received that do _not_ have the sync flag 
 set, and will flush these messages on receipt of an execution.sync.
 
 
 This addresses bug QPID-3252.
 https://issues.apache.org/jira/browse/QPID-3252
 
 
 Diffs
 -
 
   /trunk/qpid/cpp/src/qpid/broker/SessionState.h 1101542 
   /trunk/qpid/cpp/src/qpid/broker/SessionState.cpp 1101542 
 
 Diff: https://reviews.apache.org/r/701/diff
 
 
 Testing
 ---
 
 qpid unit  store unit
 
 
 Thanks,
 
 Kenneth
 




[jira] [Commented] (QPID-3252) Regression: broker no longer explicitly flushes messages to store on execution.sync or when sync command bit set.

2011-05-11 Thread jirapos...@reviews.apache.org (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-3252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13031598#comment-13031598
 ] 

jirapos...@reviews.apache.org commented on QPID-3252:
-


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/701/#review664
---

Ship it!


- Gordon


On 2011-05-10 21:25:11, Kenneth Giusti wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/701/
bq.  ---
bq.  
bq.  (Updated 2011-05-10 21:25:11)
bq.  
bq.  
bq.  Review request for qpid, Alan Conway, Gordon Sim, and Kim van der Riet.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Broker now issues an explicit flush for each received message that has the 
sync flag set in the message.transfer command.
bq.  Broker also tracks all messages received that do _not_ have the sync flag 
set, and will flush these messages on receipt of an execution.sync.
bq.  
bq.  
bq.  This addresses bug QPID-3252.
bq.  https://issues.apache.org/jira/browse/QPID-3252
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq./trunk/qpid/cpp/src/qpid/broker/SessionState.h 1101542 
bq./trunk/qpid/cpp/src/qpid/broker/SessionState.cpp 1101542 
bq.  
bq.  Diff: https://reviews.apache.org/r/701/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  qpid unit  store unit
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Kenneth
bq.  
bq.



 Regression: broker no longer explicitly flushes messages to store on 
 execution.sync or when sync command bit set.
 -

 Key: QPID-3252
 URL: https://issues.apache.org/jira/browse/QPID-3252
 Project: Qpid
  Issue Type: Bug
  Components: C++ Broker
Affects Versions: 0.10
Reporter: Ken Giusti
Assignee: Ken Giusti
 Fix For: 0.11


 In the previous release of the broker, an execution.sync command, or a 
 message.transfer command with a sync flag would cause the broker to 
 explicitly flush the message(s) and pend until the flushes complete.  In the 
 new asynchronous model, the broker does not initiate a flush under these 
 scenarios.  Without explicitly flushing, the completion of a 
 message.transfer/execution.sync may delay for an unacceptable amount of time 
 (ex. 1sec+) when used with store.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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



[jira] [Created] (QPID-3256) Application which uses Qpid (in my case Excel) hangs on shutdown

2011-05-11 Thread Eugene (JIRA)
Application which uses Qpid (in my case Excel) hangs on shutdown


 Key: QPID-3256
 URL: https://issues.apache.org/jira/browse/QPID-3256
 Project: Qpid
  Issue Type: Bug
 Environment: OS: Windows.
Qpid is assembled as DLL. 
Reporter: Eugene
 Fix For: 0.8


Hi All

I encountered with strange behavior on shutdown when using qpid 0-8. 

When I use qpid in standalone console-application everything is ok. But when I 
use qpid in DLL which is loaded into Excel (as RTD module), Excel hangs on 
shutdown. 

I found out that in standalone application on shutdown I have next stack:

qpidclientd.dll!qpid::client::`anonymous 
namespace'::IOThread::~IOThread()  Line 138C++
qpidclientd.dll!`qpid::client::`anonymous 
namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''()  + 0xd bytes  
C++
qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x6008, unsigned long 
dwReason=0, void * lpreserved=0x0001)  Line 449   C
qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x6008, 
unsigned long dwReason=0, void * lpreserved=0x0001)  Line 560 + 0x11 bytes  
  C
qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x6008, 
unsigned long dwReason=0, void * lpreserved=0x0001)  Line 510 + 0x11 bytes C
ntdll.dll!77b79960()
[Frames below may be incorrect and/or missing, no symbols loaded for 
ntdll.dll] 
ntdll.dll!77b9a516()
ntdll.dll!77b9a3b8()
kernel32.dll!77657363() 
msvcr90d.dll!__crtExitProcess(int status=0)  Line 732   C
msvcr90d.dll!doexit(int code=0, int quick=0, int retcaller=0)  Line 644 
+ 0x9 bytes C
msvcr90d.dll!exit(int code=0)  Line 412 + 0xd bytes C
Test.exe!__tmainCRTStartup()  Line 599  C
Test.exe!mainCRTStartup()  Line 403 C
kernel32.dll!77653677() 
ntdll.dll!77b79f02()
ntdll.dll!77b79ed5()

And in this state all threads of application are terminated. The only thread is:

1  21720   Main Thread Main Thread 
qpid::client::`anonymous namespace'::IOThread::~IOThreadNormal  0

so code from file ConnectionImpl.cpp works well:

~IOThread() {
std::vectorThread threads;
{
ScopedLockMutex l(threadLock);
if (poller_)
poller_-shutdown();
t.swap(threads);
}
for (std::vectorThread::iterator i = threads.begin(); i != 
threads.end(); ++i) {
i-join();
}
}


BUT in Excel I get stack:

qpidclientd.dll!qpid::client::`anonymous namespace'::IOThread::~IOThread()  
Line 130C++
qpidclientd.dll!`qpid::client::`anonymous 
namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''()  + 0xd bytes  
C++
qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x0770, unsigned long 
dwReason=0, void * lpreserved=0x)  Line 449   C
qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x0770, 
unsigned long dwReason=0, void * lpreserved=0x)  Line 560 + 0x11 bytes  
  C
qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x0770, 
unsigned long dwReason=0, void * lpreserved=0x)  Line 510 + 0x11 bytes C
ntdll.dll!77b79960()
[Frames below may be incorrect and/or missing, no symbols loaded for 
ntdll.dll] 
ntdll.dll!77ba1525()
ntdll.dll!77b81231()
KernelBase.dll!77281da7()   
ole32.dll!75bb9562()
ole32.dll!75bb9593()
ole32.dll!75bb95a7()
ole32.dll!75bb98bf()
ole32.dll!75bb9805()
ole32.dll!75bb9a8c()
EXCEL.EXE!2f3811e9()
EXCEL.EXE!2f6933e8()
EXCEL.EXE!2f32a5af()
EXCEL.EXE!2f34894a()
EXCEL.EXE!2f670001()
MSO.DLL!65bc6ed5()  
MSO.DLL!65c26a34()  
MSO.DLL!65c30305()  
MSO.DLL!65bc910c()  
MSO.DLL!65c4f420()  
MSO.DLL!65bbf161()  
comctl32.dll!7233463d() 
user32.dll!762971be()   
user32.dll!76297d31()   
user32.dll!76297dfa()   
EXCEL.EXE!2f324572()
EXCEL.EXE!2f324534()
EXCEL.EXE!2f324441()
MSO.DLL!65b78116()  
MSO.DLL!65ba1fd0()  
EXCEL.EXE!2f30424b()
msvcr90.dll!749936c5()  
msvcr90.dll!749938b3()  
msvcr90.dll!749938c5()  
msvcr90.dll!749ac40c()  
msvcr90.dll!749b028d()  
msvcr90.dll!749b04f3()  
EXCEL.EXE!2f303f0a()
kernel32.dll!77653677() 
ntdll.dll!77b79f02()
ntdll.dll!77b79ed5()

And threads:

0   24016   Worker Thread   _threadstartex  _threadstartex  Normal  0
0  22928   Main Thread 

[jira] [Updated] (QPID-3256) Application which uses Qpid (in my case Excel) hangs on shutdown

2011-05-11 Thread Eugene (JIRA)

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

Eugene updated QPID-3256:
-

Description: 
Hi All

I encountered with strange behavior on shutdown when using qpid 0-8. 

When I use qpid in standalone console-application everything is ok. But when I 
use qpid in DLL which is loaded into Excel (as RTD module), Excel hangs on 
shutdown. 

I found out that in standalone application on shutdown I have next stack:

qpidclientd.dll!qpid::client::`anonymous 
namespace'::IOThread::~IOThread()  Line 138C++
qpidclientd.dll!`qpid::client::`anonymous 
namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''()  + 0xd bytes  
C++
qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x6008, unsigned long 
dwReason=0, void * lpreserved=0x0001)  Line 449   C
qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x6008, 
unsigned long dwReason=0, void * lpreserved=0x0001)  Line 560 + 0x11 bytes  
  C
qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x6008, 
unsigned long dwReason=0, void * lpreserved=0x0001)  Line 510 + 0x11 bytes C
ntdll.dll!77b79960()
[Frames below may be incorrect and/or missing, no symbols loaded for 
ntdll.dll] 
ntdll.dll!77b9a516()
ntdll.dll!77b9a3b8()
kernel32.dll!77657363() 
msvcr90d.dll!__crtExitProcess(int status=0)  Line 732   C
msvcr90d.dll!doexit(int code=0, int quick=0, int retcaller=0)  Line 644 
+ 0x9 bytes C
msvcr90d.dll!exit(int code=0)  Line 412 + 0xd bytes C
Test.exe!__tmainCRTStartup()  Line 599  C
Test.exe!mainCRTStartup()  Line 403 C
kernel32.dll!77653677() 
ntdll.dll!77b79f02()
ntdll.dll!77b79ed5()

And in this state all threads of application have been already terminated. The 
only thread is:

1  21720   Main Thread Main Thread 
qpid::client::`anonymous namespace'::IOThread::~IOThreadNormal  0

so code from file ConnectionImpl.cpp works well:

~IOThread() {
std::vectorThread threads;
{
ScopedLockMutex l(threadLock);
if (poller_)
poller_-shutdown();
t.swap(threads);
}
for (std::vectorThread::iterator i = threads.begin(); i != 
threads.end(); ++i) {
i-join();
}
}


BUT in Excel I get stack:

qpidclientd.dll!qpid::client::`anonymous namespace'::IOThread::~IOThread()  
Line 130C++
qpidclientd.dll!`qpid::client::`anonymous 
namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''()  + 0xd bytes  
C++
qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x0770, unsigned long 
dwReason=0, void * lpreserved=0x)  Line 449   C
qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x0770, 
unsigned long dwReason=0, void * lpreserved=0x)  Line 560 + 0x11 bytes  
  C
qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x0770, 
unsigned long dwReason=0, void * lpreserved=0x)  Line 510 + 0x11 bytes C
ntdll.dll!77b79960()
[Frames below may be incorrect and/or missing, no symbols loaded for 
ntdll.dll] 
ntdll.dll!77ba1525()
ntdll.dll!77b81231()
KernelBase.dll!77281da7()   
ole32.dll!75bb9562()
ole32.dll!75bb9593()
ole32.dll!75bb95a7()
ole32.dll!75bb98bf()
ole32.dll!75bb9805()
ole32.dll!75bb9a8c()
EXCEL.EXE!2f3811e9()
EXCEL.EXE!2f6933e8()
EXCEL.EXE!2f32a5af()
EXCEL.EXE!2f34894a()
EXCEL.EXE!2f670001()
MSO.DLL!65bc6ed5()  
MSO.DLL!65c26a34()  
MSO.DLL!65c30305()  
MSO.DLL!65bc910c()  
MSO.DLL!65c4f420()  
MSO.DLL!65bbf161()  
comctl32.dll!7233463d() 
user32.dll!762971be()   
user32.dll!76297d31()   
user32.dll!76297dfa()   
EXCEL.EXE!2f324572()
EXCEL.EXE!2f324534()
EXCEL.EXE!2f324441()
MSO.DLL!65b78116()  
MSO.DLL!65ba1fd0()  
EXCEL.EXE!2f30424b()
msvcr90.dll!749936c5()  
msvcr90.dll!749938b3()  
msvcr90.dll!749938c5()  
msvcr90.dll!749ac40c()  
msvcr90.dll!749b028d()  
msvcr90.dll!749b04f3()  
EXCEL.EXE!2f303f0a()
kernel32.dll!77653677() 
ntdll.dll!77b79f02()
ntdll.dll!77b79ed5()

And threads:

0   24016   Worker Thread   _threadstartex  _threadstartex  Normal  0
0  22928   Main Thread Main Thread 
qpid::client::`anonymous namespace'::IOThread::~IOThreadNormal  0
0   20224   RPC Thread  RPC Callback Thread 77b5fd21
Normal  0
0 

new mailing list for CI output

2011-05-11 Thread Robbie Gemmell
Hi all,

I'd like to get a mailing list set up to direct to from the CI tasks
that Andrew Kennedy has set up Jenkins/Hudson. After looking through
the mail archives, the ASF naming convention for this type of mailing
list appears to be notifications@ so I propose that we should ask for
just that, notificati...@qpid.apache.org.

Unless anyone has particular objection, I intend to raise a request
with infra tomorrow to create the new list.

Robbie

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



Re: new mailing list for CI output

2011-05-11 Thread Rajith Attapattu
+1

Rajith

On Wed, May 11, 2011 at 7:26 AM, Robbie Gemmell
robbie.gemm...@gmail.com wrote:
 Hi all,

 I'd like to get a mailing list set up to direct to from the CI tasks
 that Andrew Kennedy has set up Jenkins/Hudson. After looking through
 the mail archives, the ASF naming convention for this type of mailing
 list appears to be notifications@ so I propose that we should ask for
 just that, notificati...@qpid.apache.org.

 Unless anyone has particular objection, I intend to raise a request
 with infra tomorrow to create the new list.

 Robbie

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



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



[jira] [Assigned] (QPID-3229) Test AMQConnectionTest#testPrefetchSystemProperty is broken

2011-05-11 Thread Robbie Gemmell (JIRA)

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

Robbie Gemmell reassigned QPID-3229:


Assignee: Rajith Attapattu  (was: Robbie Gemmell)

 Test AMQConnectionTest#testPrefetchSystemProperty is broken
 ---

 Key: QPID-3229
 URL: https://issues.apache.org/jira/browse/QPID-3229
 Project: Qpid
  Issue Type: Bug
  Components: Java Broker
Affects Versions: 0.11
Reporter: Alex Rudyy
Assignee: Rajith Attapattu
Priority: Minor

 Test AMQConnectionTest#testPrefetchSystemProperty is broken on trunk. It 
 looks like this test started to fail after committing patch in QPID-3207.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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



[jira] [Commented] (QPID-3207) AMQSession.java close() does not close the consumers with the correct arguments

2011-05-11 Thread Robbie Gemmell (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-3207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13031656#comment-13031656
 ] 

Robbie Gemmell commented on QPID-3207:
--

This also appears to have caused a couple of test failures on the default java 
profile.

https://builds.apache.org/hudson/view/M-R/view/Qpid/job/qpid-java-build/94/testReport/
 shows that the following 2 tests are failing.
org.apache.qpid.test.client.RollbackOrderTest.testOrderingAfterRollbackOnMessage
 
org.apache.qpid.test.unit.client.AMQConnectionTest.testPrefetchSystemProperty 

Clicking the age report leads to the following build, which only incorporated 
the change from this JIRA: 
https://builds.apache.org/hudson/view/M-R/view/Qpid/job/qpid-java-build/48/

One of the failures was also raised as QPID-3229

 AMQSession.java close() does not close the consumers with the correct 
 arguments
 ---

 Key: QPID-3207
 URL: https://issues.apache.org/jira/browse/QPID-3207
 Project: Qpid
  Issue Type: Bug
  Components: Java Client
Affects Versions: 0.10
Reporter: Rajith Attapattu
Assignee: Rajith Attapattu
 Fix For: 0.11


 When the AMQSession.java close() is invoked it will in turn call the private 
 void closeConsumers(Throwable error) throws JMSException  method.
 In this method if the error is null then the consumer.close method is called 
 with sendClose=false.
 I wonder if this is the correct setting. I suspect the intended value is 
 true.
 The boolean value is used in determining if we should send a message-cancel 
 or not.
 I am not sure why we are not going to send a message cancel in this case, as 
 we haven't encountered a session error and the session is active.
 Note the AMQSession.java closes the session only after the consumers and 
 producers are closed.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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



[jira] [Commented] (QPID-3229) Test AMQConnectionTest#testPrefetchSystemProperty is broken

2011-05-11 Thread Robbie Gemmell (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-3229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13031657#comment-13031657
 ] 

Robbie Gemmell commented on QPID-3229:
--

Hi Rajith, can you take a look please, it seems to be related to what you are 
working on? Thanks.

 Test AMQConnectionTest#testPrefetchSystemProperty is broken
 ---

 Key: QPID-3229
 URL: https://issues.apache.org/jira/browse/QPID-3229
 Project: Qpid
  Issue Type: Bug
  Components: Java Broker
Affects Versions: 0.11
Reporter: Alex Rudyy
Assignee: Rajith Attapattu
Priority: Minor

 Test AMQConnectionTest#testPrefetchSystemProperty is broken on trunk. It 
 looks like this test started to fail after committing patch in QPID-3207.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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



[jira] [Updated] (QPID-3256) Application which uses Qpid (in my case Excel) hangs on shutdown

2011-05-11 Thread Steve Huston (JIRA)

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

Steve Huston updated QPID-3256:
---

  Component/s: C++ Client
Affects Version/s: 0.8
Fix Version/s: (was: 0.8)

Qpid 0.10 was released recently. Could you please obtain 0.10 and retry your 
case with that?

 Application which uses Qpid (in my case Excel) hangs on shutdown
 

 Key: QPID-3256
 URL: https://issues.apache.org/jira/browse/QPID-3256
 Project: Qpid
  Issue Type: Bug
  Components: C++ Client
Affects Versions: 0.8
 Environment: OS: Windows.
 Qpid is assembled as DLL. 
Reporter: Eugene

 Hi All
 I encountered with strange behavior on shutdown when using qpid 0-8. 
 When I use qpid in standalone console-application everything is ok. But when 
 I use qpid in DLL which is loaded into Excel (as RTD module), Excel hangs on 
 shutdown. 
 I found out that in standalone application on shutdown I have next stack:
   qpidclientd.dll!qpid::client::`anonymous 
 namespace'::IOThread::~IOThread()  Line 138C++
   qpidclientd.dll!`qpid::client::`anonymous 
 namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''()  + 0xd bytes  
 C++
   qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x6008, unsigned long 
 dwReason=0, void * lpreserved=0x0001)  Line 449   C
   qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x6008, 
 unsigned long dwReason=0, void * lpreserved=0x0001)  Line 560 + 0x11 
 bytesC
   qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x6008, 
 unsigned long dwReason=0, void * lpreserved=0x0001)  Line 510 + 0x11 
 bytes C
   ntdll.dll!77b79960()
   [Frames below may be incorrect and/or missing, no symbols loaded for 
 ntdll.dll] 
   ntdll.dll!77b9a516()
   ntdll.dll!77b9a3b8()
   kernel32.dll!77657363() 
   msvcr90d.dll!__crtExitProcess(int status=0)  Line 732   C
   msvcr90d.dll!doexit(int code=0, int quick=0, int retcaller=0)  Line 644 
 + 0x9 bytes C
   msvcr90d.dll!exit(int code=0)  Line 412 + 0xd bytes C
   Test.exe!__tmainCRTStartup()  Line 599  C
   Test.exe!mainCRTStartup()  Line 403 C
   kernel32.dll!77653677() 
   ntdll.dll!77b79f02()
   ntdll.dll!77b79ed5()
 And in this state all threads of application have been already terminated. 
 The only thread is:
 121720   Main Thread Main Thread 
 qpid::client::`anonymous namespace'::IOThread::~IOThreadNormal  0
 so code from file ConnectionImpl.cpp works well:
 ~IOThread() {
 std::vectorThread threads;
 {
 ScopedLockMutex l(threadLock);
 if (poller_)
 poller_-shutdown();
 t.swap(threads);
 }
 for (std::vectorThread::iterator i = threads.begin(); i != 
 threads.end(); ++i) {
 i-join();
 }
 }
 BUT in Excel I get stack:
 qpidclientd.dll!qpid::client::`anonymous namespace'::IOThread::~IOThread()  
 Line 130  C++
   qpidclientd.dll!`qpid::client::`anonymous 
 namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''()  + 0xd bytes  
 C++
   qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x0770, unsigned long 
 dwReason=0, void * lpreserved=0x)  Line 449   C
   qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x0770, 
 unsigned long dwReason=0, void * lpreserved=0x)  Line 560 + 0x11 
 bytesC
   qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x0770, 
 unsigned long dwReason=0, void * lpreserved=0x)  Line 510 + 0x11 
 bytes C
   ntdll.dll!77b79960()
   [Frames below may be incorrect and/or missing, no symbols loaded for 
 ntdll.dll] 
   ntdll.dll!77ba1525()
   ntdll.dll!77b81231()
   KernelBase.dll!77281da7()   
   ole32.dll!75bb9562()
   ole32.dll!75bb9593()
   ole32.dll!75bb95a7()
   ole32.dll!75bb98bf()
   ole32.dll!75bb9805()
   ole32.dll!75bb9a8c()
   EXCEL.EXE!2f3811e9()
   EXCEL.EXE!2f6933e8()
   EXCEL.EXE!2f32a5af()
   EXCEL.EXE!2f34894a()
   EXCEL.EXE!2f670001()
   MSO.DLL!65bc6ed5()  
   MSO.DLL!65c26a34()  
   MSO.DLL!65c30305()  
   MSO.DLL!65bc910c()  
   MSO.DLL!65c4f420()  
   MSO.DLL!65bbf161()  
   comctl32.dll!7233463d() 
   user32.dll!762971be()   
   user32.dll!76297d31()   
   user32.dll!76297dfa()   
   EXCEL.EXE!2f324572()
   EXCEL.EXE!2f324534()
   EXCEL.EXE!2f324441()
   MSO.DLL!65b78116()  
   MSO.DLL!65ba1fd0()  
   EXCEL.EXE!2f30424b()
   msvcr90.dll!749936c5()  
   

[jira] [Commented] (QPID-3207) AMQSession.java close() does not close the consumers with the correct arguments

2011-05-11 Thread Keith Wall (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-3207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13031661#comment-13031661
 ] 

Keith Wall commented on QPID-3207:
--

In addition to the failures on the default profile Robbie has noted above, it 
appears that this commit has broken the following test on the *java.0.10* 
profile:

org.apache.qpid.test.client.destination.AddressBasedDestinationTest.testReliabilityOptions

Testcase: testReliabilityOptions took 2.131 sec
FAILED
expected:2 but was:0
junit.framework.AssertionFailedError: expected:2 but was:0
at 
org.apache.qpid.test.client.destination.AddressBasedDestinationTest.acceptModeTest(AddressBasedDestinationTest.java:978)
at 
org.apache.qpid.test.client.destination.AddressBasedDestinationTest.testReliabilityOptions(AddressBasedDestinationTest.java:920)
at 
org.apache.qpid.test.utils.QpidBrokerTestCase.runBare(QpidBrokerTestCase.java:234)
at org.apache.qpid.test.utils.QpidTestCase.run(QpidTestCase.java:120)




 AMQSession.java close() does not close the consumers with the correct 
 arguments
 ---

 Key: QPID-3207
 URL: https://issues.apache.org/jira/browse/QPID-3207
 Project: Qpid
  Issue Type: Bug
  Components: Java Client
Affects Versions: 0.10
Reporter: Rajith Attapattu
Assignee: Rajith Attapattu
 Fix For: 0.11


 When the AMQSession.java close() is invoked it will in turn call the private 
 void closeConsumers(Throwable error) throws JMSException  method.
 In this method if the error is null then the consumer.close method is called 
 with sendClose=false.
 I wonder if this is the correct setting. I suspect the intended value is 
 true.
 The boolean value is used in determining if we should send a message-cancel 
 or not.
 I am not sure why we are not going to send a message cancel in this case, as 
 we haven't encountered a session error and the session is active.
 Note the AMQSession.java closes the session only after the consumers and 
 producers are closed.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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



Re: new mailing list for CI output

2011-05-11 Thread Robert Godfrey
Sounds like a good plan to me!

Cheers,
Rob

On 11 May 2011 13:35, Rajith Attapattu rajit...@gmail.com wrote:

 +1

 Rajith

 On Wed, May 11, 2011 at 7:26 AM, Robbie Gemmell
 robbie.gemm...@gmail.com wrote:
  Hi all,
 
  I'd like to get a mailing list set up to direct to from the CI tasks
  that Andrew Kennedy has set up Jenkins/Hudson. After looking through
  the mail archives, the ASF naming convention for this type of mailing
  list appears to be notifications@ so I propose that we should ask for
  just that, notificati...@qpid.apache.org.
 
  Unless anyone has particular objection, I intend to raise a request
  with infra tomorrow to create the new list.
 
  Robbie
 
  -
  Apache Qpid - AMQP Messaging Implementation
  Project:  http://qpid.apache.org
  Use/Interact: mailto:dev-subscr...@qpid.apache.org
 
 

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




[jira] [Commented] (QPID-3207) AMQSession.java close() does not close the consumers with the correct arguments

2011-05-11 Thread Rajith Attapattu (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-3207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13031663#comment-13031663
 ] 

Rajith Attapattu commented on QPID-3207:


I think the best option is to rollback this change until we fix the deadlock.
That will allow us to get the builds back on track.
Meanwhile I will investigate the test failures to see if there is anything else 
affecting them other than the deadlock issue.

 AMQSession.java close() does not close the consumers with the correct 
 arguments
 ---

 Key: QPID-3207
 URL: https://issues.apache.org/jira/browse/QPID-3207
 Project: Qpid
  Issue Type: Bug
  Components: Java Client
Affects Versions: 0.10
Reporter: Rajith Attapattu
Assignee: Rajith Attapattu
 Fix For: 0.11


 When the AMQSession.java close() is invoked it will in turn call the private 
 void closeConsumers(Throwable error) throws JMSException  method.
 In this method if the error is null then the consumer.close method is called 
 with sendClose=false.
 I wonder if this is the correct setting. I suspect the intended value is 
 true.
 The boolean value is used in determining if we should send a message-cancel 
 or not.
 I am not sure why we are not going to send a message cancel in this case, as 
 we haven't encountered a session error and the session is active.
 Note the AMQSession.java closes the session only after the consumers and 
 producers are closed.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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



[jira] [Commented] (QPID-3207) AMQSession.java close() does not close the consumers with the correct arguments

2011-05-11 Thread Rajith Attapattu (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-3207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13031669#comment-13031669
 ] 

Rajith Attapattu commented on QPID-3207:


I have reversed the commit, all though we need to restore it at some point once 
we get through this deadlock issue.
IMO the original commit is the correct behaviour, so it would be interesting to 
see what other issues have popped up in addition to the deadlock problem.

 AMQSession.java close() does not close the consumers with the correct 
 arguments
 ---

 Key: QPID-3207
 URL: https://issues.apache.org/jira/browse/QPID-3207
 Project: Qpid
  Issue Type: Bug
  Components: Java Client
Affects Versions: 0.10
Reporter: Rajith Attapattu
Assignee: Rajith Attapattu
 Fix For: 0.11


 When the AMQSession.java close() is invoked it will in turn call the private 
 void closeConsumers(Throwable error) throws JMSException  method.
 In this method if the error is null then the consumer.close method is called 
 with sendClose=false.
 I wonder if this is the correct setting. I suspect the intended value is 
 true.
 The boolean value is used in determining if we should send a message-cancel 
 or not.
 I am not sure why we are not going to send a message cancel in this case, as 
 we haven't encountered a session error and the session is active.
 Note the AMQSession.java closes the session only after the consumers and 
 producers are closed.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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



[jira] [Commented] (QPID-3256) Application which uses Qpid (in my case Excel) hangs on shutdown

2011-05-11 Thread Eugene (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-3256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13031673#comment-13031673
 ] 

Eugene commented on QPID-3256:
--

Steve, I have reviewed src\qpid\client\ConnectionImpl.cpp for last version and 
don't find any changes(may be I'm wrong).
I think the main problem is in using static object:
 IOThread theIO() {
static IOThread io(SystemInfo::concurrency());
return io;
}
which is destroyed on shutdown and tries wait for thread completing in 
destructor.

 Application which uses Qpid (in my case Excel) hangs on shutdown
 

 Key: QPID-3256
 URL: https://issues.apache.org/jira/browse/QPID-3256
 Project: Qpid
  Issue Type: Bug
  Components: C++ Client
Affects Versions: 0.8
 Environment: OS: Windows.
 Qpid is assembled as DLL. 
Reporter: Eugene

 Hi All
 I encountered with strange behavior on shutdown when using qpid 0-8. 
 When I use qpid in standalone console-application everything is ok. But when 
 I use qpid in DLL which is loaded into Excel (as RTD module), Excel hangs on 
 shutdown. 
 I found out that in standalone application on shutdown I have next stack:
   qpidclientd.dll!qpid::client::`anonymous 
 namespace'::IOThread::~IOThread()  Line 138C++
   qpidclientd.dll!`qpid::client::`anonymous 
 namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''()  + 0xd bytes  
 C++
   qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x6008, unsigned long 
 dwReason=0, void * lpreserved=0x0001)  Line 449   C
   qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x6008, 
 unsigned long dwReason=0, void * lpreserved=0x0001)  Line 560 + 0x11 
 bytesC
   qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x6008, 
 unsigned long dwReason=0, void * lpreserved=0x0001)  Line 510 + 0x11 
 bytes C
   ntdll.dll!77b79960()
   [Frames below may be incorrect and/or missing, no symbols loaded for 
 ntdll.dll] 
   ntdll.dll!77b9a516()
   ntdll.dll!77b9a3b8()
   kernel32.dll!77657363() 
   msvcr90d.dll!__crtExitProcess(int status=0)  Line 732   C
   msvcr90d.dll!doexit(int code=0, int quick=0, int retcaller=0)  Line 644 
 + 0x9 bytes C
   msvcr90d.dll!exit(int code=0)  Line 412 + 0xd bytes C
   Test.exe!__tmainCRTStartup()  Line 599  C
   Test.exe!mainCRTStartup()  Line 403 C
   kernel32.dll!77653677() 
   ntdll.dll!77b79f02()
   ntdll.dll!77b79ed5()
 And in this state all threads of application have been already terminated. 
 The only thread is:
 121720   Main Thread Main Thread 
 qpid::client::`anonymous namespace'::IOThread::~IOThreadNormal  0
 so code from file ConnectionImpl.cpp works well:
 ~IOThread() {
 std::vectorThread threads;
 {
 ScopedLockMutex l(threadLock);
 if (poller_)
 poller_-shutdown();
 t.swap(threads);
 }
 for (std::vectorThread::iterator i = threads.begin(); i != 
 threads.end(); ++i) {
 i-join();
 }
 }
 BUT in Excel I get stack:
 qpidclientd.dll!qpid::client::`anonymous namespace'::IOThread::~IOThread()  
 Line 130  C++
   qpidclientd.dll!`qpid::client::`anonymous 
 namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''()  + 0xd bytes  
 C++
   qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x0770, unsigned long 
 dwReason=0, void * lpreserved=0x)  Line 449   C
   qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x0770, 
 unsigned long dwReason=0, void * lpreserved=0x)  Line 560 + 0x11 
 bytesC
   qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x0770, 
 unsigned long dwReason=0, void * lpreserved=0x)  Line 510 + 0x11 
 bytes C
   ntdll.dll!77b79960()
   [Frames below may be incorrect and/or missing, no symbols loaded for 
 ntdll.dll] 
   ntdll.dll!77ba1525()
   ntdll.dll!77b81231()
   KernelBase.dll!77281da7()   
   ole32.dll!75bb9562()
   ole32.dll!75bb9593()
   ole32.dll!75bb95a7()
   ole32.dll!75bb98bf()
   ole32.dll!75bb9805()
   ole32.dll!75bb9a8c()
   EXCEL.EXE!2f3811e9()
   EXCEL.EXE!2f6933e8()
   EXCEL.EXE!2f32a5af()
   EXCEL.EXE!2f34894a()
   EXCEL.EXE!2f670001()
   MSO.DLL!65bc6ed5()  
   MSO.DLL!65c26a34()  
   MSO.DLL!65c30305()  
   MSO.DLL!65bc910c()  
   MSO.DLL!65c4f420()  
   MSO.DLL!65bbf161()  
   comctl32.dll!7233463d() 
   user32.dll!762971be()   
   user32.dll!76297d31()   
   user32.dll!76297dfa()   
   EXCEL.EXE!2f324572()
   

[jira] [Created] (QPID-3257) Add doxygen comments to public api defined in QMF headers

2011-05-11 Thread Ken Giusti (JIRA)
Add doxygen comments to public api defined in QMF headers
-

 Key: QPID-3257
 URL: https://issues.apache.org/jira/browse/QPID-3257
 Project: Qpid
  Issue Type: Improvement
  Components: Qpid Managment Framework
Affects Versions: 0.10, 0.11
Reporter: Ken Giusti
Assignee: Ted Ross
Priority: Trivial
 Fix For: 0.11


Some of the public API defined in the QMF header files are missing doxygen 
comments (see ConsoleEvent.h for a good example).  Having good documentation of 
this API is necessary for the end users.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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



Re: matching async responses to async requests

2011-05-11 Thread Ken Giusti
Hi Angus,

Agreed, the doxygen comments are lacking.  I've created a jira to address that:

https://issues.apache.org/jira/browse/QPID-3257

The method call model is a request-response pattern that really only provides 
for a single response to the request.  As you suggested, you can use events to 
augment that pattern.   Specifically, the agent may start issuing events in 
response to the method call, either before or after the response is sent.  
Depending on your needs, you could have the equivalent of a Start 
Events/Stop Events method pair, or hold off the response until all events 
are doing being generated.

One minor point - the correlation id that is returned to the client is 
guaranteed to be unique only for the method call/response period.  Once the 
response is received, that id _may_ be recycled for future requests (very 
unlikely, but I wouldn't recommend counting on it).  So I would suggest that 
your method call take a unique identifier that your application provides.  All 
events that correlate to that method call could contain that identifier, so you 
don't rely on having the correlation id be unique over the lifetime of your 
application.

Does that make sense?

thanks,

-K

- Original Message -
 On Fri, May 06, 2011 at 01:48:08PM -0400, Ken Giusti wrote:
  Apologies for not getting back to you sooner...
 
  callMethodAsync() returns a unique 32 bit correlation id that
  corresponds to the request. The ConsoleEvent that contains the
  method response has a getCorrelator() method which returns the
  correlation id that will match the value returned by the initiating
  callMethodAsync().
 
 Cool, thanks. The function could do with a doxygen comment. I assumed
 it
 was an error status.
 
 Another question, can you send multiple responses for one request?
 Or would these need to be events?
 
 
 Thanks for the help.
 
 -Angus
 
 
 
  -K
 
  - Original Message -
   Hi
  
   We are trying to do multiple async requests on a single qmf
   function.
   Then we need to match the response to the request in the
   ConsoleEvent
   handler. Now we could add an In-Out parameter but it seems like
   this
   is something that should be handled by QMF. Since if you had a QMF
   function that you were calling with callMethod() then you changed
   to callMethodAsync() you would not have this IO parameter.
  
   Now if the server processes these in a non serial way (like we
   intend
   doing)
   the responses will comeback out of order and we will have no way
   of knowing which request the response was for.
  
   Is there a way to do this currently?
  
   Regards
   Angus Salkeld
  
  
   -
   Apache Qpid - AMQP Messaging Implementation
   Project: http://qpid.apache.org
   Use/Interact: mailto:dev-subscr...@qpid.apache.org
 
  -
  Apache Qpid - AMQP Messaging Implementation
  Project: http://qpid.apache.org
  Use/Interact: mailto:dev-subscr...@qpid.apache.org
 
 -
 Apache Qpid - AMQP Messaging Implementation
 Project: http://qpid.apache.org
 Use/Interact: mailto:dev-subscr...@qpid.apache.org

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



[jira] [Updated] (QPID-3249) Remove incomplete support for authentication at virtualhost level

2011-05-11 Thread Keith Wall (JIRA)

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

Keith Wall updated QPID-3249:
-

Status: Ready To Review  (was: In Progress)

 Remove incomplete support for authentication at virtualhost level 
 --

 Key: QPID-3249
 URL: https://issues.apache.org/jira/browse/QPID-3249
 Project: Qpid
  Issue Type: Improvement
  Components: Java Broker
Affects Versions: 0.10
Reporter: Keith Wall
Assignee: Keith Wall
Priority: Minor
 Attachments: 
 0001-QPID-3249-Remove-incomplete-support-for-authenticati.patch


 In addition to the principal db specified at the broker level, 
 VirtualHostImpl tries to support authentication at virtualhost level.  This 
 concept is flawed as in Qpid, username and password _must_ be considered, 
 before virtual host.
 i.e.
 {code}
 virtualhost
  namelocalhost/name
  localhost
 
security
  !-- Would need protocol changes to allow this--
  authentication
namepasswordfile/name
!-- Currently this can't be used as Vhost isn't specified at 
 connection start only connection open --
mechanismPLAIN/mechanism
  /authentication
 .
 {code}
 The redundant implementation in VirtualHostImpl should be removed.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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



[jira] [Assigned] (QPID-3249) Remove incomplete support for authentication at virtualhost level

2011-05-11 Thread Keith Wall (JIRA)

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

Keith Wall reassigned QPID-3249:


Assignee: Robbie Gemmell  (was: Keith Wall)

Hi Robbie - would you mind reviewing please?

 Remove incomplete support for authentication at virtualhost level 
 --

 Key: QPID-3249
 URL: https://issues.apache.org/jira/browse/QPID-3249
 Project: Qpid
  Issue Type: Improvement
  Components: Java Broker
Affects Versions: 0.10
Reporter: Keith Wall
Assignee: Robbie Gemmell
Priority: Minor
 Attachments: 
 0001-QPID-3249-Remove-incomplete-support-for-authenticati.patch


 In addition to the principal db specified at the broker level, 
 VirtualHostImpl tries to support authentication at virtualhost level.  This 
 concept is flawed as in Qpid, username and password _must_ be considered, 
 before virtual host.
 i.e.
 {code}
 virtualhost
  namelocalhost/name
  localhost
 
security
  !-- Would need protocol changes to allow this--
  authentication
namepasswordfile/name
!-- Currently this can't be used as Vhost isn't specified at 
 connection start only connection open --
mechanismPLAIN/mechanism
  /authentication
 .
 {code}
 The redundant implementation in VirtualHostImpl should be removed.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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



[jira] [Updated] (QPID-3249) Remove incomplete support for authentication at virtualhost level

2011-05-11 Thread Keith Wall (JIRA)

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

Keith Wall updated QPID-3249:
-

Attachment: 0001-QPID-3249-Remove-incomplete-support-for-authenticati.patch

Attached patch.   This patch refactors VirtualHostImpl to remove its dependency 
on PrincipalAuthenticationManager.  Added unit tests to 
PrincipalAuthenticationManager to support the change.

 Remove incomplete support for authentication at virtualhost level 
 --

 Key: QPID-3249
 URL: https://issues.apache.org/jira/browse/QPID-3249
 Project: Qpid
  Issue Type: Improvement
  Components: Java Broker
Affects Versions: 0.10
Reporter: Keith Wall
Assignee: Keith Wall
Priority: Minor
 Attachments: 
 0001-QPID-3249-Remove-incomplete-support-for-authenticati.patch


 In addition to the principal db specified at the broker level, 
 VirtualHostImpl tries to support authentication at virtualhost level.  This 
 concept is flawed as in Qpid, username and password _must_ be considered, 
 before virtual host.
 i.e.
 {code}
 virtualhost
  namelocalhost/name
  localhost
 
security
  !-- Would need protocol changes to allow this--
  authentication
namepasswordfile/name
!-- Currently this can't be used as Vhost isn't specified at 
 connection start only connection open --
mechanismPLAIN/mechanism
  /authentication
 .
 {code}
 The redundant implementation in VirtualHostImpl should be removed.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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



[jira] [Updated] (QPID-3256) Application which uses Qpid (in my case Excel) hangs on shutdown

2011-05-11 Thread Eugene (JIRA)

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

Eugene updated QPID-3256:
-

  Description: 
Hi All

I encountered with strange behavior on shutdown when using qpid 0-8 and 0-10. 

When I use qpid in standalone console-application everything is ok. But when I 
use qpid in DLL which is loaded into Excel (as RTD module), Excel hangs on 
shutdown. 

I found out that in standalone application on shutdown I have next stack:

qpidclientd.dll!qpid::client::`anonymous 
namespace'::IOThread::~IOThread()  Line 138C++
qpidclientd.dll!`qpid::client::`anonymous 
namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''()  + 0xd bytes  
C++
qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x6008, unsigned long 
dwReason=0, void * lpreserved=0x0001)  Line 449   C
qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x6008, 
unsigned long dwReason=0, void * lpreserved=0x0001)  Line 560 + 0x11 bytes  
  C
qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x6008, 
unsigned long dwReason=0, void * lpreserved=0x0001)  Line 510 + 0x11 bytes C
ntdll.dll!77b79960()
[Frames below may be incorrect and/or missing, no symbols loaded for 
ntdll.dll] 
ntdll.dll!77b9a516()
ntdll.dll!77b9a3b8()
kernel32.dll!77657363() 
msvcr90d.dll!__crtExitProcess(int status=0)  Line 732   C
msvcr90d.dll!doexit(int code=0, int quick=0, int retcaller=0)  Line 644 
+ 0x9 bytes C
msvcr90d.dll!exit(int code=0)  Line 412 + 0xd bytes C
Test.exe!__tmainCRTStartup()  Line 599  C
Test.exe!mainCRTStartup()  Line 403 C
kernel32.dll!77653677() 
ntdll.dll!77b79f02()
ntdll.dll!77b79ed5()

And in this state all threads of application have been already terminated. The 
only thread is:

1  21720   Main Thread Main Thread 
qpid::client::`anonymous namespace'::IOThread::~IOThreadNormal  0

so code from file ConnectionImpl.cpp works well:

~IOThread() {
std::vectorThread threads;
{
ScopedLockMutex l(threadLock);
if (poller_)
poller_-shutdown();
t.swap(threads);
}
for (std::vectorThread::iterator i = threads.begin(); i != 
threads.end(); ++i) {
i-join();
}
}


BUT in Excel I get stack:

qpidclientd.dll!qpid::client::`anonymous namespace'::IOThread::~IOThread()  
Line 130C++
qpidclientd.dll!`qpid::client::`anonymous 
namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''()  + 0xd bytes  
C++
qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x0770, unsigned long 
dwReason=0, void * lpreserved=0x)  Line 449   C
qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x0770, 
unsigned long dwReason=0, void * lpreserved=0x)  Line 560 + 0x11 bytes  
  C
qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x0770, 
unsigned long dwReason=0, void * lpreserved=0x)  Line 510 + 0x11 bytes C
ntdll.dll!77b79960()
[Frames below may be incorrect and/or missing, no symbols loaded for 
ntdll.dll] 
ntdll.dll!77ba1525()
ntdll.dll!77b81231()
KernelBase.dll!77281da7()   
ole32.dll!75bb9562()
ole32.dll!75bb9593()
ole32.dll!75bb95a7()
ole32.dll!75bb98bf()
ole32.dll!75bb9805()
ole32.dll!75bb9a8c()
EXCEL.EXE!2f3811e9()
EXCEL.EXE!2f6933e8()
EXCEL.EXE!2f32a5af()
EXCEL.EXE!2f34894a()
EXCEL.EXE!2f670001()
MSO.DLL!65bc6ed5()  
MSO.DLL!65c26a34()  
MSO.DLL!65c30305()  
MSO.DLL!65bc910c()  
MSO.DLL!65c4f420()  
MSO.DLL!65bbf161()  
comctl32.dll!7233463d() 
user32.dll!762971be()   
user32.dll!76297d31()   
user32.dll!76297dfa()   
EXCEL.EXE!2f324572()
EXCEL.EXE!2f324534()
EXCEL.EXE!2f324441()
MSO.DLL!65b78116()  
MSO.DLL!65ba1fd0()  
EXCEL.EXE!2f30424b()
msvcr90.dll!749936c5()  
msvcr90.dll!749938b3()  
msvcr90.dll!749938c5()  
msvcr90.dll!749ac40c()  
msvcr90.dll!749b028d()  
msvcr90.dll!749b04f3()  
EXCEL.EXE!2f303f0a()
kernel32.dll!77653677() 
ntdll.dll!77b79f02()
ntdll.dll!77b79ed5()

And threads:

0   24016   Worker Thread   _threadstartex  _threadstartex  Normal  0
0  22928   Main Thread Main Thread 
qpid::client::`anonymous namespace'::IOThread::~IOThreadNormal  0
0   20224   RPC Thread  RPC Callback Thread 77b5fd21

[jira] [Commented] (QPID-3256) Application which uses Qpid (in my case Excel) hangs on shutdown

2011-05-11 Thread Eugene (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-3256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13031829#comment-13031829
 ] 

Eugene commented on QPID-3256:
--

I check issue with qpid 0.10 and get the same problem.

 Application which uses Qpid (in my case Excel) hangs on shutdown
 

 Key: QPID-3256
 URL: https://issues.apache.org/jira/browse/QPID-3256
 Project: Qpid
  Issue Type: Bug
  Components: C++ Client
Affects Versions: 0.8, 0.10
 Environment: OS: Windows.
 Qpid is assembled as DLL. 
Reporter: Eugene

 Hi All
 I encountered with strange behavior on shutdown when using qpid 0-8 and 0-10. 
 When I use qpid in standalone console-application everything is ok. But when 
 I use qpid in DLL which is loaded into Excel (as RTD module), Excel hangs on 
 shutdown. 
 I found out that in standalone application on shutdown I have next stack:
   qpidclientd.dll!qpid::client::`anonymous 
 namespace'::IOThread::~IOThread()  Line 138C++
   qpidclientd.dll!`qpid::client::`anonymous 
 namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''()  + 0xd bytes  
 C++
   qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x6008, unsigned long 
 dwReason=0, void * lpreserved=0x0001)  Line 449   C
   qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x6008, 
 unsigned long dwReason=0, void * lpreserved=0x0001)  Line 560 + 0x11 
 bytesC
   qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x6008, 
 unsigned long dwReason=0, void * lpreserved=0x0001)  Line 510 + 0x11 
 bytes C
   ntdll.dll!77b79960()
   [Frames below may be incorrect and/or missing, no symbols loaded for 
 ntdll.dll] 
   ntdll.dll!77b9a516()
   ntdll.dll!77b9a3b8()
   kernel32.dll!77657363() 
   msvcr90d.dll!__crtExitProcess(int status=0)  Line 732   C
   msvcr90d.dll!doexit(int code=0, int quick=0, int retcaller=0)  Line 644 
 + 0x9 bytes C
   msvcr90d.dll!exit(int code=0)  Line 412 + 0xd bytes C
   Test.exe!__tmainCRTStartup()  Line 599  C
   Test.exe!mainCRTStartup()  Line 403 C
   kernel32.dll!77653677() 
   ntdll.dll!77b79f02()
   ntdll.dll!77b79ed5()
 And in this state all threads of application have been already terminated. 
 The only thread is:
 121720   Main Thread Main Thread 
 qpid::client::`anonymous namespace'::IOThread::~IOThreadNormal  0
 so code from file ConnectionImpl.cpp works well:
 ~IOThread() {
 std::vectorThread threads;
 {
 ScopedLockMutex l(threadLock);
 if (poller_)
 poller_-shutdown();
 t.swap(threads);
 }
 for (std::vectorThread::iterator i = threads.begin(); i != 
 threads.end(); ++i) {
 i-join();
 }
 }
 BUT in Excel I get stack:
 qpidclientd.dll!qpid::client::`anonymous namespace'::IOThread::~IOThread()  
 Line 130  C++
   qpidclientd.dll!`qpid::client::`anonymous 
 namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''()  + 0xd bytes  
 C++
   qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x0770, unsigned long 
 dwReason=0, void * lpreserved=0x)  Line 449   C
   qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x0770, 
 unsigned long dwReason=0, void * lpreserved=0x)  Line 560 + 0x11 
 bytesC
   qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x0770, 
 unsigned long dwReason=0, void * lpreserved=0x)  Line 510 + 0x11 
 bytes C
   ntdll.dll!77b79960()
   [Frames below may be incorrect and/or missing, no symbols loaded for 
 ntdll.dll] 
   ntdll.dll!77ba1525()
   ntdll.dll!77b81231()
   KernelBase.dll!77281da7()   
   ole32.dll!75bb9562()
   ole32.dll!75bb9593()
   ole32.dll!75bb95a7()
   ole32.dll!75bb98bf()
   ole32.dll!75bb9805()
   ole32.dll!75bb9a8c()
   EXCEL.EXE!2f3811e9()
   EXCEL.EXE!2f6933e8()
   EXCEL.EXE!2f32a5af()
   EXCEL.EXE!2f34894a()
   EXCEL.EXE!2f670001()
   MSO.DLL!65bc6ed5()  
   MSO.DLL!65c26a34()  
   MSO.DLL!65c30305()  
   MSO.DLL!65bc910c()  
   MSO.DLL!65c4f420()  
   MSO.DLL!65bbf161()  
   comctl32.dll!7233463d() 
   user32.dll!762971be()   
   user32.dll!76297d31()   
   user32.dll!76297dfa()   
   EXCEL.EXE!2f324572()
   EXCEL.EXE!2f324534()
   EXCEL.EXE!2f324441()
   MSO.DLL!65b78116()  
   MSO.DLL!65ba1fd0()  
   EXCEL.EXE!2f30424b()
   msvcr90.dll!749936c5()  
   msvcr90.dll!749938b3()  
   msvcr90.dll!749938c5()  
   msvcr90.dll!749ac40c()  
   

Re: new mailing list for CI output

2011-05-11 Thread Keith Wall
Excellent idea.
cheers
Keith.


Re: new mailing list for CI output

2011-05-11 Thread Keith Wall
Excellent idea.
cheers
Keith.


Re: matching async responses to async requests

2011-05-11 Thread Angus Salkeld
On Wed, May 11, 2011 at 10:15:27AM -0400, Ken Giusti wrote:
 Hi Angus,
 
 Agreed, the doxygen comments are lacking.  I've created a jira to address 
 that:
 
 https://issues.apache.org/jira/browse/QPID-3257

That will help, thanks.

 
 The method call model is a request-response pattern that really only provides 
 for a single response to the request.  As you suggested, you can use events 
 to augment that pattern.   Specifically, the agent may start issuing events 
 in response to the method call, either before or after the response is sent.  
 Depending on your needs, you could have the equivalent of a Start 
 Events/Stop Events method pair, or hold off the response until all events 
 are doing being generated.
 
 One minor point - the correlation id that is returned to the client is 
 guaranteed to be unique only for the method call/response period.  Once the 
 response is received, that id _may_ be recycled for future requests (very 
 unlikely, but I wouldn't recommend counting on it).  So I would suggest that 
 your method call take a unique identifier that your application provides.  
 All events that correlate to that method call could contain that identifier, 
 so you don't rely on having the correlation id be unique over the lifetime of 
 your application.
 
 Does that make sense?

Yes, thank you for your help.

 
 thanks,
 
 -K
 
 - Original Message -
  On Fri, May 06, 2011 at 01:48:08PM -0400, Ken Giusti wrote:
   Apologies for not getting back to you sooner...
  
   callMethodAsync() returns a unique 32 bit correlation id that
   corresponds to the request. The ConsoleEvent that contains the
   method response has a getCorrelator() method which returns the
   correlation id that will match the value returned by the initiating
   callMethodAsync().
  
  Cool, thanks. The function could do with a doxygen comment. I assumed
  it
  was an error status.
  
  Another question, can you send multiple responses for one request?
  Or would these need to be events?
  
  
  Thanks for the help.
  
  -Angus
  
  
  
   -K
  
   - Original Message -
Hi
   
We are trying to do multiple async requests on a single qmf
function.
Then we need to match the response to the request in the
ConsoleEvent
handler. Now we could add an In-Out parameter but it seems like
this
is something that should be handled by QMF. Since if you had a QMF
function that you were calling with callMethod() then you changed
to callMethodAsync() you would not have this IO parameter.
   
Now if the server processes these in a non serial way (like we
intend
doing)
the responses will comeback out of order and we will have no way
of knowing which request the response was for.
   
Is there a way to do this currently?
   
Regards
Angus Salkeld
   
   
-
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org
  
   -
   Apache Qpid - AMQP Messaging Implementation
   Project: http://qpid.apache.org
   Use/Interact: mailto:dev-subscr...@qpid.apache.org
  
  -
  Apache Qpid - AMQP Messaging Implementation
  Project: http://qpid.apache.org
  Use/Interact: mailto:dev-subscr...@qpid.apache.org
 
 -
 Apache Qpid - AMQP Messaging Implementation
 Project:  http://qpid.apache.org
 Use/Interact: mailto:dev-subscr...@qpid.apache.org

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