[jira] [Commented] (PROTON-610) proton-c: messenger doesn't honour an advertised remote idle timeout

2014-06-30 Thread Robert Nicholson (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-610?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14047440#comment-14047440
 ] 

Robert Nicholson commented on PROTON-610:
-

This issue prevents standard messenger clients from working correctly with IBM 
MQ Light which uses AMQP. The issue seems to be relatively simple - non 
compliance with the spec and Dom has provided a patch. It would be great if one 
of the project committers can have a look at the patch and either commit it or 
provide feedback on the patch. Thanks. 

> proton-c: messenger doesn't honour an advertised remote idle timeout
> 
>
> Key: PROTON-610
> URL: https://issues.apache.org/jira/browse/PROTON-610
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Affects Versions: 0.7
>Reporter: Dominic Evans
> Attachments: 0001-ensure-messenger-honours-remote-idle-timeout.patch
>
>
> The changes under PROTON-111 added support to the underlying proton engine 
> for honouring a remote idle timeout (as per the AMQP 1.0 spec) and sending 
> empty null frames on a heartbeat interval to prevent the idle timeout 
> expiring (and hence causing the client to be disconnect), However, the 
> Messenger API doesn't currently drive the same behaviour and so will be 
> disconnected from any broker that has implemented such a timeout.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (PROTON-576) proton-j: codec support for UTF-8 encoding and decoding appears broken?

2014-06-30 Thread Dominic Evans (JIRA)

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

Dominic Evans updated PROTON-576:
-

Attachment: (was: benchmark-src.zip)

> proton-j: codec support for UTF-8 encoding and decoding appears broken?
> ---
>
> Key: PROTON-576
> URL: https://issues.apache.org/jira/browse/PROTON-576
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-j
>Affects Versions: 0.7
>Reporter: Dominic Evans
>
> It seems like Proton-J has its own custom UTF-8 encoder, but relies on Java 
> String's built-in UTF-8 decoder. However, the code doesn't seem quite right 
> and complex double byte UTF-8 like emoji ('📔🚢🍛🍴🍹🏊🏄') can quite easily fail to 
> parse:
> |   |   Cause:1   :-  java.lang.IllegalArgumentException: Cannot parse 
> String
> |   |   Message:1 :-  Cannot parse String
> |   |   StackTrace:1  :-  java.lang.IllegalArgumentException: Cannot parse 
> String
> |   | at 
> org.apache.qpid.proton.codec.StringType$1.decode(StringType.java:48)
> |   | at 
> org.apache.qpid.proton.codec.StringType$1.decode(StringType.java:36)
> |   | at 
> org.apache.qpid.proton.codec.DecoderImpl.readRaw(DecoderImpl.java:945)
> |   | at 
> org.apache.qpid.proton.codec.StringType$AllStringEncoding.readValue(StringType.java:172)
> |   | at 
> org.apache.qpid.proton.codec.StringType$AllStringEncoding.readValue(StringType.java:124)
> |   | at 
> org.apache.qpid.proton.codec.DynamicTypeConstructor.readValue(DynamicTypeConstructor.java:39)
> |   | at 
> org.apache.qpid.proton.codec.DecoderImpl.readObject(DecoderImpl.java:885)
> |   | at 
> org.apache.qpid.proton.message.impl.MessageImpl.decode(MessageImpl.java:629)



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (PROTON-576) proton-j: codec support for UTF-8 encoding and decoding appears broken?

2014-06-30 Thread Dominic Evans (JIRA)

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

Dominic Evans updated PROTON-576:
-

Attachment: (was: 02_fix_stringtype_encode_decode.patch)

> proton-j: codec support for UTF-8 encoding and decoding appears broken?
> ---
>
> Key: PROTON-576
> URL: https://issues.apache.org/jira/browse/PROTON-576
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-j
>Affects Versions: 0.7
>Reporter: Dominic Evans
>
> It seems like Proton-J has its own custom UTF-8 encoder, but relies on Java 
> String's built-in UTF-8 decoder. However, the code doesn't seem quite right 
> and complex double byte UTF-8 like emoji ('📔🚢🍛🍴🍹🏊🏄') can quite easily fail to 
> parse:
> |   |   Cause:1   :-  java.lang.IllegalArgumentException: Cannot parse 
> String
> |   |   Message:1 :-  Cannot parse String
> |   |   StackTrace:1  :-  java.lang.IllegalArgumentException: Cannot parse 
> String
> |   | at 
> org.apache.qpid.proton.codec.StringType$1.decode(StringType.java:48)
> |   | at 
> org.apache.qpid.proton.codec.StringType$1.decode(StringType.java:36)
> |   | at 
> org.apache.qpid.proton.codec.DecoderImpl.readRaw(DecoderImpl.java:945)
> |   | at 
> org.apache.qpid.proton.codec.StringType$AllStringEncoding.readValue(StringType.java:172)
> |   | at 
> org.apache.qpid.proton.codec.StringType$AllStringEncoding.readValue(StringType.java:124)
> |   | at 
> org.apache.qpid.proton.codec.DynamicTypeConstructor.readValue(DynamicTypeConstructor.java:39)
> |   | at 
> org.apache.qpid.proton.codec.DecoderImpl.readObject(DecoderImpl.java:885)
> |   | at 
> org.apache.qpid.proton.message.impl.MessageImpl.decode(MessageImpl.java:629)



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (PROTON-576) proton-j: codec support for UTF-8 encoding and decoding appears broken?

2014-06-30 Thread Dominic Evans (JIRA)

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

Dominic Evans updated PROTON-576:
-

Attachment: (was: Utf8Samples.txt)

> proton-j: codec support for UTF-8 encoding and decoding appears broken?
> ---
>
> Key: PROTON-576
> URL: https://issues.apache.org/jira/browse/PROTON-576
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-j
>Affects Versions: 0.7
>Reporter: Dominic Evans
>
> It seems like Proton-J has its own custom UTF-8 encoder, but relies on Java 
> String's built-in UTF-8 decoder. However, the code doesn't seem quite right 
> and complex double byte UTF-8 like emoji ('📔🚢🍛🍴🍹🏊🏄') can quite easily fail to 
> parse:
> |   |   Cause:1   :-  java.lang.IllegalArgumentException: Cannot parse 
> String
> |   |   Message:1 :-  Cannot parse String
> |   |   StackTrace:1  :-  java.lang.IllegalArgumentException: Cannot parse 
> String
> |   | at 
> org.apache.qpid.proton.codec.StringType$1.decode(StringType.java:48)
> |   | at 
> org.apache.qpid.proton.codec.StringType$1.decode(StringType.java:36)
> |   | at 
> org.apache.qpid.proton.codec.DecoderImpl.readRaw(DecoderImpl.java:945)
> |   | at 
> org.apache.qpid.proton.codec.StringType$AllStringEncoding.readValue(StringType.java:172)
> |   | at 
> org.apache.qpid.proton.codec.StringType$AllStringEncoding.readValue(StringType.java:124)
> |   | at 
> org.apache.qpid.proton.codec.DynamicTypeConstructor.readValue(DynamicTypeConstructor.java:39)
> |   | at 
> org.apache.qpid.proton.codec.DecoderImpl.readObject(DecoderImpl.java:885)
> |   | at 
> org.apache.qpid.proton.message.impl.MessageImpl.decode(MessageImpl.java:629)



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (PROTON-576) proton-j: codec support for UTF-8 encoding and decoding appears broken?

2014-06-30 Thread Dominic Evans (JIRA)

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

Dominic Evans updated PROTON-576:
-

Attachment: (was: benchmark.jar)

> proton-j: codec support for UTF-8 encoding and decoding appears broken?
> ---
>
> Key: PROTON-576
> URL: https://issues.apache.org/jira/browse/PROTON-576
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-j
>Affects Versions: 0.7
>Reporter: Dominic Evans
>
> It seems like Proton-J has its own custom UTF-8 encoder, but relies on Java 
> String's built-in UTF-8 decoder. However, the code doesn't seem quite right 
> and complex double byte UTF-8 like emoji ('📔🚢🍛🍴🍹🏊🏄') can quite easily fail to 
> parse:
> |   |   Cause:1   :-  java.lang.IllegalArgumentException: Cannot parse 
> String
> |   |   Message:1 :-  Cannot parse String
> |   |   StackTrace:1  :-  java.lang.IllegalArgumentException: Cannot parse 
> String
> |   | at 
> org.apache.qpid.proton.codec.StringType$1.decode(StringType.java:48)
> |   | at 
> org.apache.qpid.proton.codec.StringType$1.decode(StringType.java:36)
> |   | at 
> org.apache.qpid.proton.codec.DecoderImpl.readRaw(DecoderImpl.java:945)
> |   | at 
> org.apache.qpid.proton.codec.StringType$AllStringEncoding.readValue(StringType.java:172)
> |   | at 
> org.apache.qpid.proton.codec.StringType$AllStringEncoding.readValue(StringType.java:124)
> |   | at 
> org.apache.qpid.proton.codec.DynamicTypeConstructor.readValue(DynamicTypeConstructor.java:39)
> |   | at 
> org.apache.qpid.proton.codec.DecoderImpl.readObject(DecoderImpl.java:885)
> |   | at 
> org.apache.qpid.proton.message.impl.MessageImpl.decode(MessageImpl.java:629)



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (PROTON-576) proton-j: codec support for UTF-8 encoding and decoding appears broken?

2014-06-30 Thread Dominic Evans (JIRA)

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

Dominic Evans updated PROTON-576:
-

Attachment: 02_fix_stringtype_encode_decode.patch

Updated patch that also contains a StringTypeTest.java unittest that loops over 
all the unicode characters in some "complex" ranges of the spec and attempts to 
round-trip them as an AmqpValue.

The testcase fails against vanilld qpid-proton 0.7, but passes successfully 
after applying the accompanying patches.

[~clebertsuconic] are you able to review and accept?



> proton-j: codec support for UTF-8 encoding and decoding appears broken?
> ---
>
> Key: PROTON-576
> URL: https://issues.apache.org/jira/browse/PROTON-576
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-j
>Affects Versions: 0.7
>Reporter: Dominic Evans
> Attachments: 02_fix_stringtype_encode_decode.patch
>
>
> It seems like Proton-J has its own custom UTF-8 encoder, but relies on Java 
> String's built-in UTF-8 decoder. However, the code doesn't seem quite right 
> and complex double byte UTF-8 like emoji ('📔🚢🍛🍴🍹🏊🏄') can quite easily fail to 
> parse:
> |   |   Cause:1   :-  java.lang.IllegalArgumentException: Cannot parse 
> String
> |   |   Message:1 :-  Cannot parse String
> |   |   StackTrace:1  :-  java.lang.IllegalArgumentException: Cannot parse 
> String
> |   | at 
> org.apache.qpid.proton.codec.StringType$1.decode(StringType.java:48)
> |   | at 
> org.apache.qpid.proton.codec.StringType$1.decode(StringType.java:36)
> |   | at 
> org.apache.qpid.proton.codec.DecoderImpl.readRaw(DecoderImpl.java:945)
> |   | at 
> org.apache.qpid.proton.codec.StringType$AllStringEncoding.readValue(StringType.java:172)
> |   | at 
> org.apache.qpid.proton.codec.StringType$AllStringEncoding.readValue(StringType.java:124)
> |   | at 
> org.apache.qpid.proton.codec.DynamicTypeConstructor.readValue(DynamicTypeConstructor.java:39)
> |   | at 
> org.apache.qpid.proton.codec.DecoderImpl.readObject(DecoderImpl.java:885)
> |   | at 
> org.apache.qpid.proton.message.impl.MessageImpl.decode(MessageImpl.java:629)



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (PROTON-622) Add missing error check to pn_event_inspect

2014-06-30 Thread Bozo Dragojevic (JIRA)
Bozo Dragojevic created PROTON-622:
--

 Summary: Add missing error check to pn_event_inspect
 Key: PROTON-622
 URL: https://issues.apache.org/jira/browse/PROTON-622
 Project: Qpid Proton
  Issue Type: Improvement
  Components: proton-c
Reporter: Bozo Dragojevic
Priority: Trivial


Found by XCode Analyze



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (PROTON-623) Add missing error check to pn_string_inspect

2014-06-30 Thread Bozo Dragojevic (JIRA)
Bozo Dragojevic created PROTON-623:
--

 Summary: Add missing error check to pn_string_inspect
 Key: PROTON-623
 URL: https://issues.apache.org/jira/browse/PROTON-623
 Project: Qpid Proton
  Issue Type: Bug
Reporter: Bozo Dragojevic


Found by XCode Analyze



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (PROTON-622) Add missing error check to pn_event_inspect

2014-06-30 Thread Bozo Dragojevic (JIRA)

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

Bozo Dragojevic updated PROTON-622:
---

Attachment: 0002-PROTON-622-Add-missing-error-check-to-pn_event_inspe.patch

> Add missing error check to pn_event_inspect
> ---
>
> Key: PROTON-622
> URL: https://issues.apache.org/jira/browse/PROTON-622
> Project: Qpid Proton
>  Issue Type: Improvement
>  Components: proton-c
>Reporter: Bozo Dragojevic
>Priority: Trivial
> Attachments: 
> 0002-PROTON-622-Add-missing-error-check-to-pn_event_inspe.patch
>
>
> Found by XCode Analyze



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (PROTON-623) Add missing error check to pn_string_inspect

2014-06-30 Thread Bozo Dragojevic (JIRA)

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

Bozo Dragojevic updated PROTON-623:
---

Attachment: 0001-PROTON-623-Add-missing-error-check-to-pn_string_insp.patch

Trivial patch appended

> Add missing error check to pn_string_inspect
> 
>
> Key: PROTON-623
> URL: https://issues.apache.org/jira/browse/PROTON-623
> Project: Qpid Proton
>  Issue Type: Bug
>Reporter: Bozo Dragojevic
> Attachments: 
> 0001-PROTON-623-Add-missing-error-check-to-pn_string_insp.patch
>
>
> Found by XCode Analyze



--
This message was sent by Atlassian JIRA
(v6.2#6252)


Re: Heads Up: location of config.sh has changed

2014-06-30 Thread Alan Conway
On Fri, 2014-06-27 at 12:08 -0400, Andrew Stitcher wrote:
> As part of QPID-619 [1]. The location of the developer script config.sh
> has changed from the source tree to the build tree.
> 
> The runnable config.sh is now built by cmake as part of the tree
> configuration. This allows the script to set the correct variables
> without using fallible heuristics.
> 
> If this trips anyone up. or you have questions, comments etc. reply here
> (and/or on the JIRA itself).
> 
> Andrew
> 
> [1] https://issues.apache.org/jira/browse/PROTON-619
> 
> 

A while back I added  tests/run.py, a python test runner that has
similar config data to config.sh. It will generate something like
config.sh if you do "run.py --sh.

Perhaps we should integrate the two.

Are your changes already on trunk? I didn't see them as of

r1605648 | NO-JIRA: Fix python system tests to work on python 2.5.




[jira] [Commented] (PROTON-619) The heuristics in config.sh don't work for all build directory locations

2014-06-30 Thread Andrew Stitcher (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14048080#comment-14048080
 ] 

Andrew Stitcher commented on PROTON-619:


Change is here (with bad comment so not picked up automatically)

https://svn.apache.org/r1606140

> The heuristics in config.sh don't work for all build directory locations
> 
>
> Key: PROTON-619
> URL: https://issues.apache.org/jira/browse/PROTON-619
> Project: Qpid Proton
>  Issue Type: Bug
>Affects Versions: 0.7
>Reporter: Andrew Stitcher
>Assignee: Andrew Stitcher
> Fix For: 0.8
>
>
> The config.sh script is used to set shell variables which allow developers to 
> run various proton language bindings libraries from the build area.
> Currently it is a fixed script in the source tree, so it can't know for sure 
> where the build tree and hence the built libraries actually are. If we used 
> the build system to generate the file from a template then we could make it 
> work without using fallible heuristics.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


Re: Heads Up: location of config.sh has changed

2014-06-30 Thread Andrew Stitcher
On Mon, 2014-06-30 at 14:56 -0400, Alan Conway wrote:
> On Fri, 2014-06-27 at 12:08 -0400, Andrew Stitcher wrote:
> > As part of QPID-619 [1]. The location of the developer script config.sh
> > has changed from the source tree to the build tree.
> > 
> > The runnable config.sh is now built by cmake as part of the tree
> > configuration. This allows the script to set the correct variables
> > without using fallible heuristics.
> > 
> > If this trips anyone up. or you have questions, comments etc. reply here
> > (and/or on the JIRA itself).
> > 
> > Andrew
> > 
> > [1] https://issues.apache.org/jira/browse/PROTON-619
> > 
> > 
> 
> A while back I added  tests/run.py, a python test runner that has
> similar config data to config.sh. It will generate something like
> config.sh if you do "run.py --sh.

What's run.py used for if it's not used by the build system?

> 
> Perhaps we should integrate the two.
> 
> Are your changes already on trunk? I didn't see them as of
> 
> r1605648 | NO-JIRA: Fix python system tests to work on python 2.5.

It went in about 10 minutes before I sent out the heads up - however I
screwed up the checkin comment so that the change didn't get linked to
the JIRA.

https://svn.apache.org/r1606140

Andrew





Re: Heads Up: location of config.sh has changed

2014-06-30 Thread Alan Conway
On Mon, 2014-06-30 at 16:16 -0400, Andrew Stitcher wrote:
> On Mon, 2014-06-30 at 14:56 -0400, Alan Conway wrote:
> > On Fri, 2014-06-27 at 12:08 -0400, Andrew Stitcher wrote:
> > > As part of QPID-619 [1]. The location of the developer script config.sh
> > > has changed from the source tree to the build tree.
> > > 
> > > The runnable config.sh is now built by cmake as part of the tree
> > > configuration. This allows the script to set the correct variables
> > > without using fallible heuristics.
> > > 
> > > If this trips anyone up. or you have questions, comments etc. reply here
> > > (and/or on the JIRA itself).
> > > 
> > > Andrew
> > > 
> > > [1] https://issues.apache.org/jira/browse/PROTON-619
> > > 
> > > 
> > 
> > A while back I added  tests/run.py, a python test runner that has
> > similar config data to config.sh. It will generate something like
> > config.sh if you do "run.py --sh.
> 
> What's run.py used for if it's not used by the build system?

Sorry, didn't read your email carefully enough. I'm talking about
dispatch, not proton (doh!)

In case you are curious: run.py is a test runner but I also use it
stand-alone to run qdrouterd and the like instead of sourcing a script
like config.sh.

There are two ways to use run.py with an interactive shell:
run.py bash # Start a shell with the right env
run.py --sh > config.sh; source config.sh # Generate a unix-sh env
script

In principle this works on windows as well (except for the --sh thing)
but I haven't tried it. There's valgrind support also, not very well
tested.

https://svn.apache.org/viewvc/qpid/dispatch/trunk/tests/run.py.in

Wow, svn.apache.org is slow today!



[jira] [Created] (PROTON-624) Corrupted payload with redelivered messages when transformer is jms

2014-06-30 Thread Jesse Fugitt (JIRA)
Jesse Fugitt created PROTON-624:
---

 Summary: Corrupted payload with redelivered messages when 
transformer is jms
 Key: PROTON-624
 URL: https://issues.apache.org/jira/browse/PROTON-624
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-j
Affects Versions: 0.7
 Environment: ActiveMQ broker with amqp transportConnector 
transport.transformer=jms
Reporter: Jesse Fugitt


In the contrib\proton-jms module (used by ActiveMQ), the 
JMSMappingOutboundTransformer is missing a reset call needed to make sure the 
BytesMessage is readable for future calls to readBytes().  The result is that 
redelivered messages from the broker to AMQP consumers have a payload of the 
correct length but with corrupted content (really all 0's as the content).  

To reproduce, call transform() in JMSMappingOutboundTransformer with a 
BytesMessage and then call it again with the same BytesMessage object.  The 
body of the second EncodedMessage will be filled with 0's instead of having the 
real payload.  To reproduce with ActiveMQ, configure the amqp 
transportConnector with transport.transformer=jms and then send a message into 
the broker.  Once the message is assigned to a proton receiver (without acking 
it) close the connection and start another proton connection/receiver so the 
message will be redelivered to it.  The payload should contain all 0's instead 
of the real payload.

The other outbound transformer in proton-jms (AMQPNativeOutboundTransformer) 
makes the reset call as expected so it doesn't suffer from this bug.  Based on 
that class the fix appears to be a one-liner to just add m.reset() after 
m.readBytes(data).

The component is really proton-jms rather than proton-j but that wasn't a 
choice in JIRA.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (PROTON-624) Corrupted payload with redelivered messages when transformer is jms

2014-06-30 Thread Jesse Fugitt (JIRA)

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

Jesse Fugitt updated PROTON-624:


Attachment: bytes_message_reset.patch

Attached patch from git diff of 0.7 branch with the reset fix.

> Corrupted payload with redelivered messages when transformer is jms
> ---
>
> Key: PROTON-624
> URL: https://issues.apache.org/jira/browse/PROTON-624
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-j
>Affects Versions: 0.7
> Environment: ActiveMQ broker with amqp transportConnector 
> transport.transformer=jms
>Reporter: Jesse Fugitt
>  Labels: jms
> Attachments: bytes_message_reset.patch
>
>
> In the contrib\proton-jms module (used by ActiveMQ), the 
> JMSMappingOutboundTransformer is missing a reset call needed to make sure the 
> BytesMessage is readable for future calls to readBytes().  The result is that 
> redelivered messages from the broker to AMQP consumers have a payload of the 
> correct length but with corrupted content (really all 0's as the content).  
> To reproduce, call transform() in JMSMappingOutboundTransformer with a 
> BytesMessage and then call it again with the same BytesMessage object.  The 
> body of the second EncodedMessage will be filled with 0's instead of having 
> the real payload.  To reproduce with ActiveMQ, configure the amqp 
> transportConnector with transport.transformer=jms and then send a message 
> into the broker.  Once the message is assigned to a proton receiver (without 
> acking it) close the connection and start another proton connection/receiver 
> so the message will be redelivered to it.  The payload should contain all 0's 
> instead of the real payload.
> The other outbound transformer in proton-jms (AMQPNativeOutboundTransformer) 
> makes the reset call as expected so it doesn't suffer from this bug.  Based 
> on that class the fix appears to be a one-liner to just add m.reset() after 
> m.readBytes(data).
> The component is really proton-jms rather than proton-j but that wasn't a 
> choice in JIRA.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (PROTON-625) Biggest Backtrace Ever!

2014-06-30 Thread michael goulish (JIRA)
michael goulish created PROTON-625:
--

 Summary: Biggest Backtrace Ever!
 Key: PROTON-625
 URL: https://issues.apache.org/jira/browse/PROTON-625
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-c
Reporter: michael goulish


I am saving all my stuff so I can repro on demand.
It doesn't happen every time, but it's about 50%.

--

On one box, I have a dispatch router.
On the other box, I have 10 clients: 5 Messenger-based receivers, and 5 
qpid-messaging-based senders.

Each client will handle 100 addresses, of the form "mick/0" ... "mick/1" ... & 
c.

100 messages will be sent to each address.

I start the 5 receivers first.  They start OK.  Dispatch router happy & stable.

Wait a few seconds.

I start the 5 senders, from a bash script.
The first sender is already sending when the 2nd, 3rd, 4th start.

After a few of them start,but before all have finished starting,  a few seconds 
into the script, the crash occurs.  ( If they all start up successfully, no 
crash. )

Here is the biggest backtrace ever:

#0  0x003cf9879ad1 in _int_malloc (av=0x7f101c20, bytes=16384) at 
malloc.c:4383
#1  0x003cf987a911 in __libc_malloc (bytes=16384) at malloc.c:3664
#2  0x0039c6c1650a in pni_map_allocate () from 
/usr/lib64/libqpid-proton.so.2
#3  0x0039c6c16a3a in pni_map_ensure () from /usr/lib64/libqpid-proton.so.2
#4  0x0039c6c16c45 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#5  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#6  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#7  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#8  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#9  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#10 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#11 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#12 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#13 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#14 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
.
.
.
.
#93549 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93550 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93551 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93552 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93553 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93554 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93555 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93556 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93557 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93558 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93559 0x0039c6c16dc0 in pn_map_put () from /usr/lib64/libqpid-proton.so.2
#93560 0x0039c6c17226 in pn_hash_put () from /usr/lib64/libqpid-proton.so.2
#93561 0x0039c6c2a643 in pn_delivery_map_push () from 
/usr/lib64/libqpid-proton.so.2
#93562 0x0039c6c2c44b in pn_do_transfer () from 
/usr/lib64/libqpid-proton.so.2
#93563 0x0039c6c24385 in pn_dispatch_frame () from 
/usr/lib64/libqpid-proton.so.2
#93564 0x0039c6c2448f in pn_dispatcher_input () from 
/usr/lib64/libqpid-proton.so.2
#93565 0x0039c6c2d68b in pn_input_read_amqp () from 
/usr/lib64/libqpid-proton.so.2
#93566 0x0039c6c3011a in pn_io_layer_input_passthru () from 
/usr/lib64/libqpid-proton.so.2
#93567 0x0039c6c3011a in pn_io_layer_input_passthru () from 
/usr/lib64/libqpid-proton.so.2
#93568 0x0039c6c2d275 in transport_consume () from 
/usr/lib64/libqpid-proton.so.2
#93569 0x0039c6c304cd in pn_transport_process () from 
/usr/lib64/libqpid-proton.so.2
#93570 0x0039c6c3e40c in pn_connector_process () from 
/usr/lib64/libqpid-proton.so.2
#93571 0x7f1060c60460 in process_connector () from 
/home/mick/dispatch/build/libqpid-dispatch.so.0
#93572 0x7f1060c61017 in thread_run () from 
/home/mick/dispatch/build/libqpid-dispatch.so.0
#93573 0x003cf9c07851 in start_thread (arg=0x7f1052bfd700) at 
pthread_create.c:301
#93574 0x003cf98e890d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:115




--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (PROTON-625) Biggest Backtrace Ever!

2014-06-30 Thread michael goulish (JIRA)

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

michael goulish updated PROTON-625:
---

  Description: 
I am saving all my stuff so I can repro on demand.
It doesn't happen every time, but it's about 50%.

--

On one box, I have a dispatch router.
On the other box, I have 10 clients: 5 Messenger-based receivers, and 5 
qpid-messaging-based senders.

Each client will handle 100 addresses, of the form "mick/0" ... "mick/1" ... & 
c.

100 messages will be sent to each address.

I start the 5 receivers first.  They start OK.  Dispatch router happy & stable.

Wait a few seconds.

I start the 5 senders, from a bash script.
The first sender is already sending when the 2nd, 3rd, 4th start.

After a few of them start,but before all have finished starting,  a few seconds 
into the script, the crash occurs.  ( If they all start up successfully, no 
crash. )

The crash occurs in the dispatch router.

Here is the biggest backtrace ever:

#0  0x003cf9879ad1 in _int_malloc (av=0x7f101c20, bytes=16384) at 
malloc.c:4383
#1  0x003cf987a911 in __libc_malloc (bytes=16384) at malloc.c:3664
#2  0x0039c6c1650a in pni_map_allocate () from 
/usr/lib64/libqpid-proton.so.2
#3  0x0039c6c16a3a in pni_map_ensure () from /usr/lib64/libqpid-proton.so.2
#4  0x0039c6c16c45 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#5  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#6  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#7  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#8  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#9  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#10 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#11 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#12 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#13 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#14 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
.
.
.
.
#93549 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93550 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93551 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93552 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93553 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93554 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93555 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93556 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93557 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93558 0x0039c6c16c64 in pni_map_entry () from 
/usr/lib64/libqpid-proton.so.2
#93559 0x0039c6c16dc0 in pn_map_put () from /usr/lib64/libqpid-proton.so.2
#93560 0x0039c6c17226 in pn_hash_put () from /usr/lib64/libqpid-proton.so.2
#93561 0x0039c6c2a643 in pn_delivery_map_push () from 
/usr/lib64/libqpid-proton.so.2
#93562 0x0039c6c2c44b in pn_do_transfer () from 
/usr/lib64/libqpid-proton.so.2
#93563 0x0039c6c24385 in pn_dispatch_frame () from 
/usr/lib64/libqpid-proton.so.2
#93564 0x0039c6c2448f in pn_dispatcher_input () from 
/usr/lib64/libqpid-proton.so.2
#93565 0x0039c6c2d68b in pn_input_read_amqp () from 
/usr/lib64/libqpid-proton.so.2
#93566 0x0039c6c3011a in pn_io_layer_input_passthru () from 
/usr/lib64/libqpid-proton.so.2
#93567 0x0039c6c3011a in pn_io_layer_input_passthru () from 
/usr/lib64/libqpid-proton.so.2
#93568 0x0039c6c2d275 in transport_consume () from 
/usr/lib64/libqpid-proton.so.2
#93569 0x0039c6c304cd in pn_transport_process () from 
/usr/lib64/libqpid-proton.so.2
#93570 0x0039c6c3e40c in pn_connector_process () from 
/usr/lib64/libqpid-proton.so.2
#93571 0x7f1060c60460 in process_connector () from 
/home/mick/dispatch/build/libqpid-dispatch.so.0
#93572 0x7f1060c61017 in thread_run () from 
/home/mick/dispatch/build/libqpid-dispatch.so.0
#93573 0x003cf9c07851 in start_thread (arg=0x7f1052bfd700) at 
pthread_create.c:301
#93574 0x003cf98e890d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:115


  was:
I am saving all my stuff so I can repro on demand.
It doesn't happen every time, but it's about 50%.

--

On one box, I have a dispatch router.
On the other box, I have 10 clients: 5 Messenger-based receivers, and 5 
qpid-messaging-based senders.

Each client will handle 100 addresses, of the form "mick/0" ... "mick/1" ... & 
c.

100 messages will be sent to each address.

I start the

[jira] [Commented] (PROTON-625) Biggest Backtrace Ever!

2014-06-30 Thread michael goulish (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14048569#comment-14048569
 ] 

michael goulish commented on PROTON-625:


BTW -- I kill and restart the router after each test.

> Biggest Backtrace Ever!
> ---
>
> Key: PROTON-625
> URL: https://issues.apache.org/jira/browse/PROTON-625
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Affects Versions: 0.7
>Reporter: michael goulish
>
> I am saving all my stuff so I can repro on demand.
> It doesn't happen every time, but it's about 50%.
> --
> On one box, I have a dispatch router.
> On the other box, I have 10 clients: 5 Messenger-based receivers, and 5 
> qpid-messaging-based senders.
> Each client will handle 100 addresses, of the form "mick/0" ... "mick/1" ... 
> & c.
> 100 messages will be sent to each address.
> I start the 5 receivers first.  They start OK.  Dispatch router happy & 
> stable.
> Wait a few seconds.
> I start the 5 senders, from a bash script.
> The first sender is already sending when the 2nd, 3rd, 4th start.
> After a few of them start,but before all have finished starting,  a few 
> seconds into the script, the crash occurs.  ( If they all start up 
> successfully, no crash. )
> The crash occurs in the dispatch router.
> Here is the biggest backtrace ever:
> #0  0x003cf9879ad1 in _int_malloc (av=0x7f101c20, bytes=16384) at 
> malloc.c:4383
> #1  0x003cf987a911 in __libc_malloc (bytes=16384) at malloc.c:3664
> #2  0x0039c6c1650a in pni_map_allocate () from 
> /usr/lib64/libqpid-proton.so.2
> #3  0x0039c6c16a3a in pni_map_ensure () from 
> /usr/lib64/libqpid-proton.so.2
> #4  0x0039c6c16c45 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #5  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #6  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #7  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #8  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #9  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #10 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #11 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #12 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #13 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #14 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> .
> .
> .
> .
> #93549 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93550 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93551 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93552 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93553 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93554 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93555 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93556 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93557 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93558 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93559 0x0039c6c16dc0 in pn_map_put () from /usr/lib64/libqpid-proton.so.2
> #93560 0x0039c6c17226 in pn_hash_put () from 
> /usr/lib64/libqpid-proton.so.2
> #93561 0x0039c6c2a643 in pn_delivery_map_push () from 
> /usr/lib64/libqpid-proton.so.2
> #93562 0x0039c6c2c44b in pn_do_transfer () from 
> /usr/lib64/libqpid-proton.so.2
> #93563 0x0039c6c24385 in pn_dispatch_frame () from 
> /usr/lib64/libqpid-proton.so.2
> #93564 0x0039c6c2448f in pn_dispatcher_input () from 
> /usr/lib64/libqpid-proton.so.2
> #93565 0x0039c6c2d68b in pn_input_read_amqp () from 
> /usr/lib64/libqpid-proton.so.2
> #93566 0x0039c6c3011a in pn_io_layer_input_passthru () from 
> /usr/lib64/libqpid-proton.so.2
> #93567 0x0039c6c3011a in pn_io_layer_input_passthru () from 
> /usr/lib64/libqpid-proton.so.2
> #93568 0x0039c6c2d275 in transport_consume () from 
> /usr/lib64/libqpid-proton.so.2
> #93569 0x0039c6c304cd in pn_transport_process () from 
> /usr/lib64/libqpid-proton.so.2
> #93570 0x0039c6c3e40c in pn_connector_process () from 
> /usr/lib64/libqpid-proton.so.2
> #93571 0x7f1060c60460 in process_connector () from 
> /home/mick/dispatch/build/libqpid-dispatch.so.0
> #93572 0x7f1060c61017 in thread_run () from 
> /home/mick/dispatch/build/libqpid-dispatch.so.0
> #93573 0x003cf9c07851 in sta

[jira] [Commented] (PROTON-625) Biggest Backtrace Ever!

2014-06-30 Thread michael goulish (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14048573#comment-14048573
 ] 

michael goulish commented on PROTON-625:


When I put usleep(1000) after each message sent, I have zero failures in 10 
tries.

> Biggest Backtrace Ever!
> ---
>
> Key: PROTON-625
> URL: https://issues.apache.org/jira/browse/PROTON-625
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Affects Versions: 0.7
>Reporter: michael goulish
>
> I am saving all my stuff so I can repro on demand.
> It doesn't happen every time, but it's about 50%.
> --
> On one box, I have a dispatch router.
> On the other box, I have 10 clients: 5 Messenger-based receivers, and 5 
> qpid-messaging-based senders.
> Each client will handle 100 addresses, of the form "mick/0" ... "mick/1" ... 
> & c.
> 100 messages will be sent to each address.
> I start the 5 receivers first.  They start OK.  Dispatch router happy & 
> stable.
> Wait a few seconds.
> I start the 5 senders, from a bash script.
> The first sender is already sending when the 2nd, 3rd, 4th start.
> After a few of them start,but before all have finished starting,  a few 
> seconds into the script, the crash occurs.  ( If they all start up 
> successfully, no crash. )
> The crash occurs in the dispatch router.
> Here is the biggest backtrace ever:
> #0  0x003cf9879ad1 in _int_malloc (av=0x7f101c20, bytes=16384) at 
> malloc.c:4383
> #1  0x003cf987a911 in __libc_malloc (bytes=16384) at malloc.c:3664
> #2  0x0039c6c1650a in pni_map_allocate () from 
> /usr/lib64/libqpid-proton.so.2
> #3  0x0039c6c16a3a in pni_map_ensure () from 
> /usr/lib64/libqpid-proton.so.2
> #4  0x0039c6c16c45 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #5  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #6  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #7  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #8  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #9  0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #10 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #11 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #12 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #13 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> #14 0x0039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
> .
> .
> .
> .
> #93549 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93550 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93551 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93552 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93553 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93554 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93555 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93556 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93557 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93558 0x0039c6c16c64 in pni_map_entry () from 
> /usr/lib64/libqpid-proton.so.2
> #93559 0x0039c6c16dc0 in pn_map_put () from /usr/lib64/libqpid-proton.so.2
> #93560 0x0039c6c17226 in pn_hash_put () from 
> /usr/lib64/libqpid-proton.so.2
> #93561 0x0039c6c2a643 in pn_delivery_map_push () from 
> /usr/lib64/libqpid-proton.so.2
> #93562 0x0039c6c2c44b in pn_do_transfer () from 
> /usr/lib64/libqpid-proton.so.2
> #93563 0x0039c6c24385 in pn_dispatch_frame () from 
> /usr/lib64/libqpid-proton.so.2
> #93564 0x0039c6c2448f in pn_dispatcher_input () from 
> /usr/lib64/libqpid-proton.so.2
> #93565 0x0039c6c2d68b in pn_input_read_amqp () from 
> /usr/lib64/libqpid-proton.so.2
> #93566 0x0039c6c3011a in pn_io_layer_input_passthru () from 
> /usr/lib64/libqpid-proton.so.2
> #93567 0x0039c6c3011a in pn_io_layer_input_passthru () from 
> /usr/lib64/libqpid-proton.so.2
> #93568 0x0039c6c2d275 in transport_consume () from 
> /usr/lib64/libqpid-proton.so.2
> #93569 0x0039c6c304cd in pn_transport_process () from 
> /usr/lib64/libqpid-proton.so.2
> #93570 0x0039c6c3e40c in pn_connector_process () from 
> /usr/lib64/libqpid-proton.so.2
> #93571 0x7f1060c60460 in process_connector () from 
> /home/mick/dispatch/build/libqpid-dispatch.so.0
> #93572 0x7f1060c61017 in thread_run () from 
> /home/mick/dispatch/build/libqpid-dispatch.so.0
> #9