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

Keith Wall updated PROTON-1905:
-------------------------------
    Description: 
Whilst verifying the RC1 candidate for the 0.27.3 RC1, the 
{{proton_tests.engine.CreditTest.testDrainOrder}} Jython test caused a NPE with 
Proton-J's application code.    I realised later my shell had  the 
{{PN_TRACE_FRM=true}} environment variable set. Unsetting the variable allows 
the test to pass.  The regression was introduced at 0.27.0.

{noformat}
proton_tests.engine.CreditTest.testDrainOrder 
...........................[1346009488:0] -> Open{ containerId='', 
hostname='null', maxFrameSize=16384, channelMax=65535, idleTimeOut=null, 
outgoingLocales=null, incomingLocales=null, offeredCapabilities=null, 
desiredCapabilities=null, properties=null}
[1346009488:0] -> Begin{remoteChannel=null, nextOutgoingId=1, 
incomingWindow=2147483647, outgoingWindow=2147483647, handleMax=65535, 
offeredCapabilities=null, desiredCapabilities=null, properties=null}
[1346009488:0] <- Open{ containerId='', hostname='null', maxFrameSize=16384, 
channelMax=65535, idleTimeOut=null, outgoingLocales=null, incomingLocales=null, 
offeredCapabilities=null, desiredCapabilities=null, properties=null}
[1346009488:0] <- Begin{remoteChannel=0, nextOutgoingId=1, 
incomingWindow=2147483647, outgoingWindow=2147483647, handleMax=65535, 
offeredCapabilities=null, desiredCapabilities=null, properties=null}
[1346009488:0] -> Attach{name='test-link', handle=0, role=SENDER, 
sndSettleMode=MIXED, rcvSettleMode=FIRST, source=Source{address='null', 
durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, 
dynamicNodeProperties=null, distributionMode=null, filter=null, 
defaultOutcome=null, outcomes=null, capabilities=null}, 
target=Target{address='null', durable=NONE, expiryPolicy=SESSION_END, 
timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, 
unsettled=null, incompleteUnsettled=false, initialDeliveryCount=0, 
maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, 
properties=null}
[1346009488:0] <- Attach{name='test-link', handle=0, role=RECEIVER, 
sndSettleMode=MIXED, rcvSettleMode=FIRST, source=Source{address='null', 
durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, 
dynamicNodeProperties=null, distributionMode=null, filter=null, 
defaultOutcome=null, outcomes=null, capabilities=null}, 
target=Target{address='null', durable=NONE, expiryPolicy=SESSION_END, 
timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, 
unsettled=null, incompleteUnsettled=false, initialDeliveryCount=null, 
maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, 
properties=null}
[1346009488:0] <- Flow{nextIncomingId=1, incomingWindow=2147483647, 
nextOutgoingId=1, outgoingWindow=2147483647, handle=0, deliveryCount=0, 
linkCredit=10, available=null, drain=false, echo=false, properties=null}
[1346009488:0] -> Transfer{handle=0, deliveryId=0, deliveryTag=tagA, 
messageFormat=0, settled=null, more=true, rcvSettleMode=null, state=null, 
resume=false, aborted=false, batchable=false} (1) "A"
 fail
Error during test:  Traceback (most recent call last):
    File 
"/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/python/proton-test",
 line 362, in run
      phase()
    File 
"/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/python/proton_tests/engine.py",
 line 1556, in testDrainOrder
      self.pump()
    File 
"/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/python/proton_tests/engine.py",
 line 112, in pump
      pump(t1, t2, buffer_size)
    File 
"/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/python/proton_tests/common.py",
 line 113, in pump
      while (pump_uni(transport1, transport2, buffer_size) or
    File 
"/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/python/proton_tests/common.py",
 line 86, in pump_uni
      p = src.pending()
    File 
"/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/java/shim/binding/proton/__init__.py",
 line 2764, in pending
      p = pn_transport_pending(self._impl)
    File 
"/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/java/shim/cengine.py",
 line 936, in pn_transport_pending
      return trans.impl.pending()
  NullPointerException: java.lang.NullPointerException
    
org.apache.qpid.proton.codec.CompositeReadableBuffer.<init>(CompositeReadableBuffer.java:69)
    
org.apache.qpid.proton.codec.CompositeReadableBuffer.duplicate(CompositeReadableBuffer.java:474)
    
org.apache.qpid.proton.codec.CompositeReadableBuffer.duplicate(CompositeReadableBuffer.java:35)
    org.apache.qpid.proton.amqp.Binary.create(Binary.java:181)
    
org.apache.qpid.proton.engine.impl.FrameWriter.logFrame(FrameWriter.java:200)
    
org.apache.qpid.proton.engine.impl.FrameWriter.writeFrame(FrameWriter.java:168)
    
org.apache.qpid.proton.engine.impl.TransportImpl.writeFrame(TransportImpl.java:1081)
    
org.apache.qpid.proton.engine.impl.TransportImpl.processTransportWorkSender(TransportImpl.java:606)
    
org.apache.qpid.proton.engine.impl.TransportImpl.processTransportWork(TransportImpl.java:518)
    
org.apache.qpid.proton.engine.impl.TransportImpl.writeInto(TransportImpl.java:347)
    
org.apache.qpid.proton.engine.impl.TransportOutputAdaptor.pending(TransportOutputAdaptor.java:59)
    
org.apache.qpid.proton.engine.impl.TransportImpl.pending(TransportImpl.java:1532)
    sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
    
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:498)
proton_tests.engine.CreditTest.testDrainZero 
............................[2018964506:0] -> Open{ containerId='', 
hostname='null', maxFrameSize=16384, channelMax=65535, idleTimeOut=null, 
outgoingLocales=null, incomingLocales=null, offeredCapabilities=null, 
desiredCapabilities=null, properties=null}{noformat}

  was:
Whilst verifying the RC1 candidate for the 0.27.3 RC1, the 
{{proton_tests.engine.CreditTest.testDrainOrder}} Jython test caused a NPE with 
Proton-J's application code.    I realised later my shell had  the 
{{PN_TRACE_FRM=true}} environment variable set. Unsetting the variable allows 
the test to pass.

{noformat}
proton_tests.engine.CreditTest.testDrainOrder 
...........................[1346009488:0] -> Open{ containerId='', 
hostname='null', maxFrameSize=16384, channelMax=65535, idleTimeOut=null, 
outgoingLocales=null, incomingLocales=null, offeredCapabilities=null, 
desiredCapabilities=null, properties=null}
[1346009488:0] -> Begin{remoteChannel=null, nextOutgoingId=1, 
incomingWindow=2147483647, outgoingWindow=2147483647, handleMax=65535, 
offeredCapabilities=null, desiredCapabilities=null, properties=null}
[1346009488:0] <- Open{ containerId='', hostname='null', maxFrameSize=16384, 
channelMax=65535, idleTimeOut=null, outgoingLocales=null, incomingLocales=null, 
offeredCapabilities=null, desiredCapabilities=null, properties=null}
[1346009488:0] <- Begin{remoteChannel=0, nextOutgoingId=1, 
incomingWindow=2147483647, outgoingWindow=2147483647, handleMax=65535, 
offeredCapabilities=null, desiredCapabilities=null, properties=null}
[1346009488:0] -> Attach{name='test-link', handle=0, role=SENDER, 
sndSettleMode=MIXED, rcvSettleMode=FIRST, source=Source{address='null', 
durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, 
dynamicNodeProperties=null, distributionMode=null, filter=null, 
defaultOutcome=null, outcomes=null, capabilities=null}, 
target=Target{address='null', durable=NONE, expiryPolicy=SESSION_END, 
timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, 
unsettled=null, incompleteUnsettled=false, initialDeliveryCount=0, 
maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, 
properties=null}
[1346009488:0] <- Attach{name='test-link', handle=0, role=RECEIVER, 
sndSettleMode=MIXED, rcvSettleMode=FIRST, source=Source{address='null', 
durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, 
dynamicNodeProperties=null, distributionMode=null, filter=null, 
defaultOutcome=null, outcomes=null, capabilities=null}, 
target=Target{address='null', durable=NONE, expiryPolicy=SESSION_END, 
timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, 
unsettled=null, incompleteUnsettled=false, initialDeliveryCount=null, 
maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, 
properties=null}
[1346009488:0] <- Flow{nextIncomingId=1, incomingWindow=2147483647, 
nextOutgoingId=1, outgoingWindow=2147483647, handle=0, deliveryCount=0, 
linkCredit=10, available=null, drain=false, echo=false, properties=null}
[1346009488:0] -> Transfer{handle=0, deliveryId=0, deliveryTag=tagA, 
messageFormat=0, settled=null, more=true, rcvSettleMode=null, state=null, 
resume=false, aborted=false, batchable=false} (1) "A"
 fail
Error during test:  Traceback (most recent call last):
    File 
"/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/python/proton-test",
 line 362, in run
      phase()
    File 
"/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/python/proton_tests/engine.py",
 line 1556, in testDrainOrder
      self.pump()
    File 
"/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/python/proton_tests/engine.py",
 line 112, in pump
      pump(t1, t2, buffer_size)
    File 
"/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/python/proton_tests/common.py",
 line 113, in pump
      while (pump_uni(transport1, transport2, buffer_size) or
    File 
"/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/python/proton_tests/common.py",
 line 86, in pump_uni
      p = src.pending()
    File 
"/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/java/shim/binding/proton/__init__.py",
 line 2764, in pending
      p = pn_transport_pending(self._impl)
    File 
"/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/java/shim/cengine.py",
 line 936, in pn_transport_pending
      return trans.impl.pending()
  NullPointerException: java.lang.NullPointerException
    
org.apache.qpid.proton.codec.CompositeReadableBuffer.<init>(CompositeReadableBuffer.java:69)
    
org.apache.qpid.proton.codec.CompositeReadableBuffer.duplicate(CompositeReadableBuffer.java:474)
    
org.apache.qpid.proton.codec.CompositeReadableBuffer.duplicate(CompositeReadableBuffer.java:35)
    org.apache.qpid.proton.amqp.Binary.create(Binary.java:181)
    
org.apache.qpid.proton.engine.impl.FrameWriter.logFrame(FrameWriter.java:200)
    
org.apache.qpid.proton.engine.impl.FrameWriter.writeFrame(FrameWriter.java:168)
    
org.apache.qpid.proton.engine.impl.TransportImpl.writeFrame(TransportImpl.java:1081)
    
org.apache.qpid.proton.engine.impl.TransportImpl.processTransportWorkSender(TransportImpl.java:606)
    
org.apache.qpid.proton.engine.impl.TransportImpl.processTransportWork(TransportImpl.java:518)
    
org.apache.qpid.proton.engine.impl.TransportImpl.writeInto(TransportImpl.java:347)
    
org.apache.qpid.proton.engine.impl.TransportOutputAdaptor.pending(TransportOutputAdaptor.java:59)
    
org.apache.qpid.proton.engine.impl.TransportImpl.pending(TransportImpl.java:1532)
    sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
    
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:498)
proton_tests.engine.CreditTest.testDrainZero 
............................[2018964506:0] -> Open{ containerId='', 
hostname='null', maxFrameSize=16384, channelMax=65535, idleTimeOut=null, 
outgoingLocales=null, incomingLocales=null, offeredCapabilities=null, 
desiredCapabilities=null, properties=null}{noformat}


> CompositeReadableBuffer.duplicate seen to throw a NPE
> -----------------------------------------------------
>
>                 Key: PROTON-1905
>                 URL: https://issues.apache.org/jira/browse/PROTON-1905
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-j
>    Affects Versions: proton-j-0.27.0, proton-j-0.28.0
>            Reporter: Keith Wall
>            Priority: Major
>
> Whilst verifying the RC1 candidate for the 0.27.3 RC1, the 
> {{proton_tests.engine.CreditTest.testDrainOrder}} Jython test caused a NPE 
> with Proton-J's application code.    I realised later my shell had  the 
> {{PN_TRACE_FRM=true}} environment variable set. Unsetting the variable allows 
> the test to pass.  The regression was introduced at 0.27.0.
> {noformat}
> proton_tests.engine.CreditTest.testDrainOrder 
> ...........................[1346009488:0] -> Open{ containerId='', 
> hostname='null', maxFrameSize=16384, channelMax=65535, idleTimeOut=null, 
> outgoingLocales=null, incomingLocales=null, offeredCapabilities=null, 
> desiredCapabilities=null, properties=null}
> [1346009488:0] -> Begin{remoteChannel=null, nextOutgoingId=1, 
> incomingWindow=2147483647, outgoingWindow=2147483647, handleMax=65535, 
> offeredCapabilities=null, desiredCapabilities=null, properties=null}
> [1346009488:0] <- Open{ containerId='', hostname='null', maxFrameSize=16384, 
> channelMax=65535, idleTimeOut=null, outgoingLocales=null, 
> incomingLocales=null, offeredCapabilities=null, desiredCapabilities=null, 
> properties=null}
> [1346009488:0] <- Begin{remoteChannel=0, nextOutgoingId=1, 
> incomingWindow=2147483647, outgoingWindow=2147483647, handleMax=65535, 
> offeredCapabilities=null, desiredCapabilities=null, properties=null}
> [1346009488:0] -> Attach{name='test-link', handle=0, role=SENDER, 
> sndSettleMode=MIXED, rcvSettleMode=FIRST, source=Source{address='null', 
> durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, 
> dynamicNodeProperties=null, distributionMode=null, filter=null, 
> defaultOutcome=null, outcomes=null, capabilities=null}, 
> target=Target{address='null', durable=NONE, expiryPolicy=SESSION_END, 
> timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, 
> unsettled=null, incompleteUnsettled=false, initialDeliveryCount=0, 
> maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, 
> properties=null}
> [1346009488:0] <- Attach{name='test-link', handle=0, role=RECEIVER, 
> sndSettleMode=MIXED, rcvSettleMode=FIRST, source=Source{address='null', 
> durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, 
> dynamicNodeProperties=null, distributionMode=null, filter=null, 
> defaultOutcome=null, outcomes=null, capabilities=null}, 
> target=Target{address='null', durable=NONE, expiryPolicy=SESSION_END, 
> timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, 
> unsettled=null, incompleteUnsettled=false, initialDeliveryCount=null, 
> maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, 
> properties=null}
> [1346009488:0] <- Flow{nextIncomingId=1, incomingWindow=2147483647, 
> nextOutgoingId=1, outgoingWindow=2147483647, handle=0, deliveryCount=0, 
> linkCredit=10, available=null, drain=false, echo=false, properties=null}
> [1346009488:0] -> Transfer{handle=0, deliveryId=0, deliveryTag=tagA, 
> messageFormat=0, settled=null, more=true, rcvSettleMode=null, state=null, 
> resume=false, aborted=false, batchable=false} (1) "A"
>  fail
> Error during test:  Traceback (most recent call last):
>     File 
> "/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/python/proton-test",
>  line 362, in run
>       phase()
>     File 
> "/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/python/proton_tests/engine.py",
>  line 1556, in testDrainOrder
>       self.pump()
>     File 
> "/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/python/proton_tests/engine.py",
>  line 112, in pump
>       pump(t1, t2, buffer_size)
>     File 
> "/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/python/proton_tests/common.py",
>  line 113, in pump
>       while (pump_uni(transport1, transport2, buffer_size) or
>     File 
> "/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/python/proton_tests/common.py",
>  line 86, in pump_uni
>       p = src.pending()
>     File 
> "/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/java/shim/binding/proton/__init__.py",
>  line 2764, in pending
>       p = pn_transport_pending(self._impl)
>     File 
> "/Users/keith/releases/0273/apache-qpid-proton-j-0.27.3-src/tests/java/shim/cengine.py",
>  line 936, in pn_transport_pending
>       return trans.impl.pending()
>   NullPointerException: java.lang.NullPointerException
>     
> org.apache.qpid.proton.codec.CompositeReadableBuffer.<init>(CompositeReadableBuffer.java:69)
>     
> org.apache.qpid.proton.codec.CompositeReadableBuffer.duplicate(CompositeReadableBuffer.java:474)
>     
> org.apache.qpid.proton.codec.CompositeReadableBuffer.duplicate(CompositeReadableBuffer.java:35)
>     org.apache.qpid.proton.amqp.Binary.create(Binary.java:181)
>     
> org.apache.qpid.proton.engine.impl.FrameWriter.logFrame(FrameWriter.java:200)
>     
> org.apache.qpid.proton.engine.impl.FrameWriter.writeFrame(FrameWriter.java:168)
>     
> org.apache.qpid.proton.engine.impl.TransportImpl.writeFrame(TransportImpl.java:1081)
>     
> org.apache.qpid.proton.engine.impl.TransportImpl.processTransportWorkSender(TransportImpl.java:606)
>     
> org.apache.qpid.proton.engine.impl.TransportImpl.processTransportWork(TransportImpl.java:518)
>     
> org.apache.qpid.proton.engine.impl.TransportImpl.writeInto(TransportImpl.java:347)
>     
> org.apache.qpid.proton.engine.impl.TransportOutputAdaptor.pending(TransportOutputAdaptor.java:59)
>     
> org.apache.qpid.proton.engine.impl.TransportImpl.pending(TransportImpl.java:1532)
>     sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
>     
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     java.lang.reflect.Method.invoke(Method.java:498)
> proton_tests.engine.CreditTest.testDrainZero 
> ............................[2018964506:0] -> Open{ containerId='', 
> hostname='null', maxFrameSize=16384, channelMax=65535, idleTimeOut=null, 
> outgoingLocales=null, incomingLocales=null, offeredCapabilities=null, 
> desiredCapabilities=null, properties=null}{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to