[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-tabpanelfocusedCommentId=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-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-tabpanelfocusedCommentId=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 5