[ 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