You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "john richartz (JIRA)" <ji...@apache.org> on 2011/09/08 22:32:09 UTC
[jira] [Created] (AMQ-3490) NPEs during message processing, using
FileCursor
NPEs during message processing, using FileCursor
------------------------------------------------
Key: AMQ-3490
URL: https://issues.apache.org/jira/browse/AMQ-3490
Project: ActiveMQ
Issue Type: Bug
Components: Message Store
Affects Versions: 5.6.0
Environment: Solaris, embedded broker, file cursor enabled
Reporter: john richartz
In a scenario where a single-consumer queue for non-presistent messages uses a file cursor to manage a backlog, bursts of messages result in NPEs.
Thread dumps for 3 different examples:
2011-09-07 12:43:27,057 ERROR [cursors.FilePendingMessageCursor] [] : [Usage Async Task] Caught an IO Exception getting the DiskList7_PendingCursor:snTableQueue_CHF
java.lang.NullPointerExceptionnull
at java.io.Writer.write(Writer.java:140)null
at java.io.BufferedWriter.newLine(BufferedWriter.java:225)null
at java.util.Properties.writeComments(Properties.java:671)null
at java.util.Properties.store0(Properties.java:805)null
at java.util.Properties.store(Properties.java:796)null
at org.apache.kahadb.page.PageFile.storeMetaData(PageFile.java:570)null
at org.apache.kahadb.page.PageFile.load(PageFile.java:361)null
at org.apache.activemq.store.kahadb.plist.PListStore.intialize(PListStore.java:285)null
at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:218)null
at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)null
at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)null
at org.apache.activemq.usage.Usage$1.run(Usage.java:268)null
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)null
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)null
at java.lang.Thread.run(Thread.java: 619)null
Exception in thread "Usage Async Task" java.lang.RuntimeException: java.lang.NullPointerException
at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)
at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)
at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)
at org.apache.activemq.usage.Usage$1.run(Usage.java:268)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at java.io.Writer.write(Writer.java:140)
at java.io.BufferedWriter.newLine(BufferedWriter.java:225)
at java.util.Properties.writeComments(Properties.java:671)
================================================================
2011-09-07 12:43:40,908 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
Caught an IO Exception getting the DiskList 7_PendingCursor:snTableQueue_CHF
java.lang.NullPointerExceptionnull
at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
at org.apache.activemq.store.kahadb.plist.PListStore.getPLis
t(PListStore.java:225)null
at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:301)null
at o
rg.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:68
1)null
at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
at java.lang.Thread.run(Thread.java:619)null
=======================================================================================
2011-09-07 12:43:41,028 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
Caught an Exception adding a message: ActiveMQObjectMessage {commandId = 82, responseRequired = false, messageId = ID:lgvn-330
53-1315415867932-0:19:1:1:78, originalDestination = null, originalTransactionId = null, producerId = ID:lgvn-33053-131541586793
2-0:19:1:1, destination = queue://snTableQueue_CHF, transactionId = null, expiration = 0, timestamp = 1315424620840,
arrival = 0, brokerInTime = 1315424620881, brokerOutTime = 0, correlationId = null, replyTo = null, persistent = false, type = null
, priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = org.apache.activemq.util.ByteSequence@d42d49, marshalledProperties = org.apache.activemq.util.ByteSequence@1e91c40, dataStructure = null, redeliveryCounter = 0, size = 0, properties = {TO=0, FROM=37, HOST=134.242.171.26, trigger_name=com.foo.receiver.beans.ACTData, version=3.4}, readOnlyProperties = false, readOnlyBody = false, droppable = false} first to FilePendingMessageCursor
java.lang.RuntimeException: java.lang.NullPointerExceptionnull
at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)null
at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBrok
er.java:301)null
at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)null
at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
at java.lang.Thread.run(Thread.java:619)nullCaused by: java.lang.NullPointerExceptionnull
at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:225)null
at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
... 26 morenull
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (AMQ-3490) NPEs during message processing, using
FileCursor
Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13103863#comment-13103863 ]
Gary Tully commented on AMQ-3490:
---------------------------------
what jdk are you using and on what platform. The first stack trace is odd, as if the system property "line.separator" is null!.
{code} lineSeparator = (String) java.security.AccessController.doPrivileged(
new sun.security.action.GetPropertyAction("line.separator"));{code}
> NPEs during message processing, using FileCursor
> ------------------------------------------------
>
> Key: AMQ-3490
> URL: https://issues.apache.org/jira/browse/AMQ-3490
> Project: ActiveMQ
> Issue Type: Bug
> Components: Message Store
> Affects Versions: 5.6.0
> Environment: Solaris, embedded broker, file cursor enabled
> Reporter: john richartz
>
> In a scenario where a single-consumer queue for non-presistent messages uses a file cursor to manage a backlog, bursts of messages result in NPEs.
> Thread dumps for 3 different examples:
> 2011-09-07 12:43:27,057 ERROR [cursors.FilePendingMessageCursor] [] : [Usage Async Task] Caught an IO Exception getting the DiskList7_PendingCursor:snTableQueue_CHF
> java.lang.NullPointerExceptionnull
> at java.io.Writer.write(Writer.java:140)null
> at java.io.BufferedWriter.newLine(BufferedWriter.java:225)null
> at java.util.Properties.writeComments(Properties.java:671)null
> at java.util.Properties.store0(Properties.java:805)null
> at java.util.Properties.store(Properties.java:796)null
> at org.apache.kahadb.page.PageFile.storeMetaData(PageFile.java:570)null
> at org.apache.kahadb.page.PageFile.load(PageFile.java:361)null
> at org.apache.activemq.store.kahadb.plist.PListStore.intialize(PListStore.java:285)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:218)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)null
> at org.apache.activemq.usage.Usage$1.run(Usage.java:268)null
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)null
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)null
> at java.lang.Thread.run(Thread.java: 619)null
> Exception in thread "Usage Async Task" java.lang.RuntimeException: java.lang.NullPointerException
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)
> at org.apache.activemq.usage.Usage$1.run(Usage.java:268)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at java.io.Writer.write(Writer.java:140)
> at java.io.BufferedWriter.newLine(BufferedWriter.java:225)
> at java.util.Properties.writeComments(Properties.java:671)
> ================================================================
> 2011-09-07 12:43:40,908 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
> Caught an IO Exception getting the DiskList 7_PendingCursor:snTableQueue_CHF
> java.lang.NullPointerExceptionnull
> at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPLis
> t(PListStore.java:225)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
> at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
> at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
> at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:301)null
> at o
> rg.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
> at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
> at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
> at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:68
> 1)null
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
> at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
> at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
> at java.lang.Thread.run(Thread.java:619)null
> =======================================================================================
> 2011-09-07 12:43:41,028 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
> Caught an Exception adding a message: ActiveMQObjectMessage {commandId = 82, responseRequired = false, messageId = ID:lgvn-330
> 53-1315415867932-0:19:1:1:78, originalDestination = null, originalTransactionId = null, producerId = ID:lgvn-33053-131541586793
> 2-0:19:1:1, destination = queue://snTableQueue_CHF, transactionId = null, expiration = 0, timestamp = 1315424620840,
> arrival = 0, brokerInTime = 1315424620881, brokerOutTime = 0, correlationId = null, replyTo = null, persistent = false, type = null
> , priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = org.apache.activemq.util.ByteSequence@d42d49, marshalledProperties = org.apache.activemq.util.ByteSequence@1e91c40, dataStructure = null, redeliveryCounter = 0, size = 0, properties = {TO=0, FROM=37, HOST=134.242.171.26, trigger_name=com.foo.receiver.beans.ACTData, version=3.4}, readOnlyProperties = false, readOnlyBody = false, droppable = false} first to FilePendingMessageCursor
> java.lang.RuntimeException: java.lang.NullPointerExceptionnull
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
> at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
> at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
> at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBrok
> er.java:301)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
> at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
> at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
> at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)null
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
> at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
> at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
> at java.lang.Thread.run(Thread.java:619)nullCaused by: java.lang.NullPointerExceptionnull
> at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:225)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> ... 26 morenull
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (AMQ-3490) NPEs during message processing, using
FileCursor
Posted by "john richartz (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13106851#comment-13106851 ]
john richartz commented on AMQ-3490:
------------------------------------
Regarding the observation that it appears the line.separator property is null in the stack traces ... This is consistent with the discovery that the message handling thread is in a context where the system properties are not available.
In order to ensure the Oracle jdbc driver can find tnsnames.ora, it was necessary to set the magic oracle.net.tns_admin property during message handling.
I just ran a test to see if line.separator property had a value in the message handing thread and it is null, so it seems this is the reason for the curious appearance of the stack traces.
> NPEs during message processing, using FileCursor
> ------------------------------------------------
>
> Key: AMQ-3490
> URL: https://issues.apache.org/jira/browse/AMQ-3490
> Project: ActiveMQ
> Issue Type: Bug
> Components: Message Store
> Affects Versions: 5.6.0
> Environment: Solaris, embedded broker, file cursor enabled
> Reporter: john richartz
>
> In a scenario where a single-consumer queue for non-presistent messages uses a file cursor to manage a backlog, bursts of messages result in NPEs.
> Thread dumps for 3 different examples:
> 2011-09-07 12:43:27,057 ERROR [cursors.FilePendingMessageCursor] [] : [Usage Async Task] Caught an IO Exception getting the DiskList7_PendingCursor:snTableQueue_CHF
> java.lang.NullPointerExceptionnull
> at java.io.Writer.write(Writer.java:140)null
> at java.io.BufferedWriter.newLine(BufferedWriter.java:225)null
> at java.util.Properties.writeComments(Properties.java:671)null
> at java.util.Properties.store0(Properties.java:805)null
> at java.util.Properties.store(Properties.java:796)null
> at org.apache.kahadb.page.PageFile.storeMetaData(PageFile.java:570)null
> at org.apache.kahadb.page.PageFile.load(PageFile.java:361)null
> at org.apache.activemq.store.kahadb.plist.PListStore.intialize(PListStore.java:285)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:218)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)null
> at org.apache.activemq.usage.Usage$1.run(Usage.java:268)null
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)null
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)null
> at java.lang.Thread.run(Thread.java: 619)null
> Exception in thread "Usage Async Task" java.lang.RuntimeException: java.lang.NullPointerException
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)
> at org.apache.activemq.usage.Usage$1.run(Usage.java:268)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at java.io.Writer.write(Writer.java:140)
> at java.io.BufferedWriter.newLine(BufferedWriter.java:225)
> at java.util.Properties.writeComments(Properties.java:671)
> ================================================================
> 2011-09-07 12:43:40,908 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
> Caught an IO Exception getting the DiskList 7_PendingCursor:snTableQueue_CHF
> java.lang.NullPointerExceptionnull
> at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPLis
> t(PListStore.java:225)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
> at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
> at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
> at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:301)null
> at o
> rg.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
> at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
> at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
> at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:68
> 1)null
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
> at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
> at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
> at java.lang.Thread.run(Thread.java:619)null
> =======================================================================================
> 2011-09-07 12:43:41,028 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
> Caught an Exception adding a message: ActiveMQObjectMessage {commandId = 82, responseRequired = false, messageId = ID:lgvn-330
> 53-1315415867932-0:19:1:1:78, originalDestination = null, originalTransactionId = null, producerId = ID:lgvn-33053-131541586793
> 2-0:19:1:1, destination = queue://snTableQueue_CHF, transactionId = null, expiration = 0, timestamp = 1315424620840,
> arrival = 0, brokerInTime = 1315424620881, brokerOutTime = 0, correlationId = null, replyTo = null, persistent = false, type = null
> , priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = org.apache.activemq.util.ByteSequence@d42d49, marshalledProperties = org.apache.activemq.util.ByteSequence@1e91c40, dataStructure = null, redeliveryCounter = 0, size = 0, properties = {TO=0, FROM=37, HOST=134.242.171.26, trigger_name=com.foo.receiver.beans.ACTData, version=3.4}, readOnlyProperties = false, readOnlyBody = false, droppable = false} first to FilePendingMessageCursor
> java.lang.RuntimeException: java.lang.NullPointerExceptionnull
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
> at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
> at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
> at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBrok
> er.java:301)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
> at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
> at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
> at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)null
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
> at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
> at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
> at java.lang.Thread.run(Thread.java:619)nullCaused by: java.lang.NullPointerExceptionnull
> at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:225)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> ... 26 morenull
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (AMQ-3490) NPEs during message processing, using
FileCursor
Posted by "john richartz (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13104587#comment-13104587 ]
john richartz commented on AMQ-3490:
------------------------------------
The version of 5.6 was retrieved from https://repository.apache.org/content/repositories/snapshots/org/apache/activemq/apache-activemq/5.6-SNAPSHOT/
as:
apache-activemq-5.6-SNAPSHOT-bin.tar.gz
being the version posted as of 7 Sept.
> NPEs during message processing, using FileCursor
> ------------------------------------------------
>
> Key: AMQ-3490
> URL: https://issues.apache.org/jira/browse/AMQ-3490
> Project: ActiveMQ
> Issue Type: Bug
> Components: Message Store
> Affects Versions: 5.6.0
> Environment: Solaris, embedded broker, file cursor enabled
> Reporter: john richartz
>
> In a scenario where a single-consumer queue for non-presistent messages uses a file cursor to manage a backlog, bursts of messages result in NPEs.
> Thread dumps for 3 different examples:
> 2011-09-07 12:43:27,057 ERROR [cursors.FilePendingMessageCursor] [] : [Usage Async Task] Caught an IO Exception getting the DiskList7_PendingCursor:snTableQueue_CHF
> java.lang.NullPointerExceptionnull
> at java.io.Writer.write(Writer.java:140)null
> at java.io.BufferedWriter.newLine(BufferedWriter.java:225)null
> at java.util.Properties.writeComments(Properties.java:671)null
> at java.util.Properties.store0(Properties.java:805)null
> at java.util.Properties.store(Properties.java:796)null
> at org.apache.kahadb.page.PageFile.storeMetaData(PageFile.java:570)null
> at org.apache.kahadb.page.PageFile.load(PageFile.java:361)null
> at org.apache.activemq.store.kahadb.plist.PListStore.intialize(PListStore.java:285)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:218)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)null
> at org.apache.activemq.usage.Usage$1.run(Usage.java:268)null
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)null
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)null
> at java.lang.Thread.run(Thread.java: 619)null
> Exception in thread "Usage Async Task" java.lang.RuntimeException: java.lang.NullPointerException
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)
> at org.apache.activemq.usage.Usage$1.run(Usage.java:268)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at java.io.Writer.write(Writer.java:140)
> at java.io.BufferedWriter.newLine(BufferedWriter.java:225)
> at java.util.Properties.writeComments(Properties.java:671)
> ================================================================
> 2011-09-07 12:43:40,908 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
> Caught an IO Exception getting the DiskList 7_PendingCursor:snTableQueue_CHF
> java.lang.NullPointerExceptionnull
> at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPLis
> t(PListStore.java:225)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
> at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
> at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
> at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:301)null
> at o
> rg.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
> at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
> at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
> at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:68
> 1)null
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
> at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
> at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
> at java.lang.Thread.run(Thread.java:619)null
> =======================================================================================
> 2011-09-07 12:43:41,028 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
> Caught an Exception adding a message: ActiveMQObjectMessage {commandId = 82, responseRequired = false, messageId = ID:lgvn-330
> 53-1315415867932-0:19:1:1:78, originalDestination = null, originalTransactionId = null, producerId = ID:lgvn-33053-131541586793
> 2-0:19:1:1, destination = queue://snTableQueue_CHF, transactionId = null, expiration = 0, timestamp = 1315424620840,
> arrival = 0, brokerInTime = 1315424620881, brokerOutTime = 0, correlationId = null, replyTo = null, persistent = false, type = null
> , priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = org.apache.activemq.util.ByteSequence@d42d49, marshalledProperties = org.apache.activemq.util.ByteSequence@1e91c40, dataStructure = null, redeliveryCounter = 0, size = 0, properties = {TO=0, FROM=37, HOST=134.242.171.26, trigger_name=com.foo.receiver.beans.ACTData, version=3.4}, readOnlyProperties = false, readOnlyBody = false, droppable = false} first to FilePendingMessageCursor
> java.lang.RuntimeException: java.lang.NullPointerExceptionnull
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
> at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
> at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
> at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBrok
> er.java:301)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
> at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
> at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
> at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)null
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
> at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
> at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
> at java.lang.Thread.run(Thread.java:619)nullCaused by: java.lang.NullPointerExceptionnull
> at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:225)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> ... 26 morenull
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (AMQ-3490) NPEs during message processing, using
FileCursor
Posted by "john richartz (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13104584#comment-13104584 ]
john richartz commented on AMQ-3490:
------------------------------------
I agree, the first stack trace does look odd.
Standard Sun/Oracle jdk on Solaris:
weizen> java -version
java version "1.6.0_19"
Java(TM) SE Runtime Environment (build 1.6.0_19-b04)
Java HotSpot(TM) Server VM (build 16.2-b04, mixed mode)
weizen> uname -a
SunOS weizen 5.10 Generic_138889-07 i86pc i386 i86pc
stargus@weizen>
> NPEs during message processing, using FileCursor
> ------------------------------------------------
>
> Key: AMQ-3490
> URL: https://issues.apache.org/jira/browse/AMQ-3490
> Project: ActiveMQ
> Issue Type: Bug
> Components: Message Store
> Affects Versions: 5.6.0
> Environment: Solaris, embedded broker, file cursor enabled
> Reporter: john richartz
>
> In a scenario where a single-consumer queue for non-presistent messages uses a file cursor to manage a backlog, bursts of messages result in NPEs.
> Thread dumps for 3 different examples:
> 2011-09-07 12:43:27,057 ERROR [cursors.FilePendingMessageCursor] [] : [Usage Async Task] Caught an IO Exception getting the DiskList7_PendingCursor:snTableQueue_CHF
> java.lang.NullPointerExceptionnull
> at java.io.Writer.write(Writer.java:140)null
> at java.io.BufferedWriter.newLine(BufferedWriter.java:225)null
> at java.util.Properties.writeComments(Properties.java:671)null
> at java.util.Properties.store0(Properties.java:805)null
> at java.util.Properties.store(Properties.java:796)null
> at org.apache.kahadb.page.PageFile.storeMetaData(PageFile.java:570)null
> at org.apache.kahadb.page.PageFile.load(PageFile.java:361)null
> at org.apache.activemq.store.kahadb.plist.PListStore.intialize(PListStore.java:285)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:218)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)null
> at org.apache.activemq.usage.Usage$1.run(Usage.java:268)null
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)null
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)null
> at java.lang.Thread.run(Thread.java: 619)null
> Exception in thread "Usage Async Task" java.lang.RuntimeException: java.lang.NullPointerException
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)
> at org.apache.activemq.usage.Usage$1.run(Usage.java:268)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at java.io.Writer.write(Writer.java:140)
> at java.io.BufferedWriter.newLine(BufferedWriter.java:225)
> at java.util.Properties.writeComments(Properties.java:671)
> ================================================================
> 2011-09-07 12:43:40,908 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
> Caught an IO Exception getting the DiskList 7_PendingCursor:snTableQueue_CHF
> java.lang.NullPointerExceptionnull
> at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPLis
> t(PListStore.java:225)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
> at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
> at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
> at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:301)null
> at o
> rg.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
> at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
> at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
> at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:68
> 1)null
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
> at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
> at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
> at java.lang.Thread.run(Thread.java:619)null
> =======================================================================================
> 2011-09-07 12:43:41,028 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
> Caught an Exception adding a message: ActiveMQObjectMessage {commandId = 82, responseRequired = false, messageId = ID:lgvn-330
> 53-1315415867932-0:19:1:1:78, originalDestination = null, originalTransactionId = null, producerId = ID:lgvn-33053-131541586793
> 2-0:19:1:1, destination = queue://snTableQueue_CHF, transactionId = null, expiration = 0, timestamp = 1315424620840,
> arrival = 0, brokerInTime = 1315424620881, brokerOutTime = 0, correlationId = null, replyTo = null, persistent = false, type = null
> , priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = org.apache.activemq.util.ByteSequence@d42d49, marshalledProperties = org.apache.activemq.util.ByteSequence@1e91c40, dataStructure = null, redeliveryCounter = 0, size = 0, properties = {TO=0, FROM=37, HOST=134.242.171.26, trigger_name=com.foo.receiver.beans.ACTData, version=3.4}, readOnlyProperties = false, readOnlyBody = false, droppable = false} first to FilePendingMessageCursor
> java.lang.RuntimeException: java.lang.NullPointerExceptionnull
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
> at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
> at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
> at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBrok
> er.java:301)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
> at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
> at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
> at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)null
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
> at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
> at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
> at java.lang.Thread.run(Thread.java:619)nullCaused by: java.lang.NullPointerExceptionnull
> at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:225)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> ... 26 morenull
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (AMQ-3490) NPEs during message processing, using
FileCursor
Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3490?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Tully resolved AMQ-3490.
-----------------------------
Resolution: Fixed
Fix Version/s: 5.6.0
Assignee: Gary Tully
Some more control of when the temp store is initialised can help here so that the execution context can be specific.
With http://svn.apache.org/viewvc?rev=1172528&view=rev it is possible to configure a temp store(plistStore) with lazyInit="false" so that it gets initaliszed on broker start rather than when first used to spool messages to disk.
> NPEs during message processing, using FileCursor
> ------------------------------------------------
>
> Key: AMQ-3490
> URL: https://issues.apache.org/jira/browse/AMQ-3490
> Project: ActiveMQ
> Issue Type: Bug
> Components: Message Store
> Affects Versions: 5.6.0
> Environment: Solaris, embedded broker, file cursor enabled
> Reporter: john richartz
> Assignee: Gary Tully
> Fix For: 5.6.0
>
>
> In a scenario where a single-consumer queue for non-presistent messages uses a file cursor to manage a backlog, bursts of messages result in NPEs.
> Thread dumps for 3 different examples:
> 2011-09-07 12:43:27,057 ERROR [cursors.FilePendingMessageCursor] [] : [Usage Async Task] Caught an IO Exception getting the DiskList7_PendingCursor:snTableQueue_CHF
> java.lang.NullPointerExceptionnull
> at java.io.Writer.write(Writer.java:140)null
> at java.io.BufferedWriter.newLine(BufferedWriter.java:225)null
> at java.util.Properties.writeComments(Properties.java:671)null
> at java.util.Properties.store0(Properties.java:805)null
> at java.util.Properties.store(Properties.java:796)null
> at org.apache.kahadb.page.PageFile.storeMetaData(PageFile.java:570)null
> at org.apache.kahadb.page.PageFile.load(PageFile.java:361)null
> at org.apache.activemq.store.kahadb.plist.PListStore.intialize(PListStore.java:285)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:218)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)null
> at org.apache.activemq.usage.Usage$1.run(Usage.java:268)null
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)null
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)null
> at java.lang.Thread.run(Thread.java: 619)null
> Exception in thread "Usage Async Task" java.lang.RuntimeException: java.lang.NullPointerException
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)
> at org.apache.activemq.usage.Usage$1.run(Usage.java:268)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at java.io.Writer.write(Writer.java:140)
> at java.io.BufferedWriter.newLine(BufferedWriter.java:225)
> at java.util.Properties.writeComments(Properties.java:671)
> ================================================================
> 2011-09-07 12:43:40,908 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
> Caught an IO Exception getting the DiskList 7_PendingCursor:snTableQueue_CHF
> java.lang.NullPointerExceptionnull
> at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPLis
> t(PListStore.java:225)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
> at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
> at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
> at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:301)null
> at o
> rg.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
> at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
> at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
> at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:68
> 1)null
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
> at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
> at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
> at java.lang.Thread.run(Thread.java:619)null
> =======================================================================================
> 2011-09-07 12:43:41,028 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
> Caught an Exception adding a message: ActiveMQObjectMessage {commandId = 82, responseRequired = false, messageId = ID:lgvn-330
> 53-1315415867932-0:19:1:1:78, originalDestination = null, originalTransactionId = null, producerId = ID:lgvn-33053-131541586793
> 2-0:19:1:1, destination = queue://snTableQueue_CHF, transactionId = null, expiration = 0, timestamp = 1315424620840,
> arrival = 0, brokerInTime = 1315424620881, brokerOutTime = 0, correlationId = null, replyTo = null, persistent = false, type = null
> , priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = org.apache.activemq.util.ByteSequence@d42d49, marshalledProperties = org.apache.activemq.util.ByteSequence@1e91c40, dataStructure = null, redeliveryCounter = 0, size = 0, properties = {TO=0, FROM=37, HOST=134.242.171.26, trigger_name=com.foo.receiver.beans.ACTData, version=3.4}, readOnlyProperties = false, readOnlyBody = false, droppable = false} first to FilePendingMessageCursor
> java.lang.RuntimeException: java.lang.NullPointerExceptionnull
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
> at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
> at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
> at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBrok
> er.java:301)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
> at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
> at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
> at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)null
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
> at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
> at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
> at java.lang.Thread.run(Thread.java:619)nullCaused by: java.lang.NullPointerExceptionnull
> at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:225)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> ... 26 morenull
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (AMQ-3490) NPEs during message processing, using
FileCursor
Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13103884#comment-13103884 ]
Gary Tully commented on AMQ-3490:
---------------------------------
just to validate: this is on a current snapshot?
I am at a loss here, as the initialization looks safe to me. see:org.apache.activemq.store.kahadb.plist.PListStore#intialize
in: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/plist/PListStore.java?view=markup
> NPEs during message processing, using FileCursor
> ------------------------------------------------
>
> Key: AMQ-3490
> URL: https://issues.apache.org/jira/browse/AMQ-3490
> Project: ActiveMQ
> Issue Type: Bug
> Components: Message Store
> Affects Versions: 5.6.0
> Environment: Solaris, embedded broker, file cursor enabled
> Reporter: john richartz
>
> In a scenario where a single-consumer queue for non-presistent messages uses a file cursor to manage a backlog, bursts of messages result in NPEs.
> Thread dumps for 3 different examples:
> 2011-09-07 12:43:27,057 ERROR [cursors.FilePendingMessageCursor] [] : [Usage Async Task] Caught an IO Exception getting the DiskList7_PendingCursor:snTableQueue_CHF
> java.lang.NullPointerExceptionnull
> at java.io.Writer.write(Writer.java:140)null
> at java.io.BufferedWriter.newLine(BufferedWriter.java:225)null
> at java.util.Properties.writeComments(Properties.java:671)null
> at java.util.Properties.store0(Properties.java:805)null
> at java.util.Properties.store(Properties.java:796)null
> at org.apache.kahadb.page.PageFile.storeMetaData(PageFile.java:570)null
> at org.apache.kahadb.page.PageFile.load(PageFile.java:361)null
> at org.apache.activemq.store.kahadb.plist.PListStore.intialize(PListStore.java:285)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:218)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)null
> at org.apache.activemq.usage.Usage$1.run(Usage.java:268)null
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)null
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)null
> at java.lang.Thread.run(Thread.java: 619)null
> Exception in thread "Usage Async Task" java.lang.RuntimeException: java.lang.NullPointerException
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)
> at org.apache.activemq.usage.Usage$1.run(Usage.java:268)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at java.io.Writer.write(Writer.java:140)
> at java.io.BufferedWriter.newLine(BufferedWriter.java:225)
> at java.util.Properties.writeComments(Properties.java:671)
> ================================================================
> 2011-09-07 12:43:40,908 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
> Caught an IO Exception getting the DiskList 7_PendingCursor:snTableQueue_CHF
> java.lang.NullPointerExceptionnull
> at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPLis
> t(PListStore.java:225)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
> at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
> at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
> at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:301)null
> at o
> rg.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
> at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
> at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
> at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:68
> 1)null
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
> at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
> at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
> at java.lang.Thread.run(Thread.java:619)null
> =======================================================================================
> 2011-09-07 12:43:41,028 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
> Caught an Exception adding a message: ActiveMQObjectMessage {commandId = 82, responseRequired = false, messageId = ID:lgvn-330
> 53-1315415867932-0:19:1:1:78, originalDestination = null, originalTransactionId = null, producerId = ID:lgvn-33053-131541586793
> 2-0:19:1:1, destination = queue://snTableQueue_CHF, transactionId = null, expiration = 0, timestamp = 1315424620840,
> arrival = 0, brokerInTime = 1315424620881, brokerOutTime = 0, correlationId = null, replyTo = null, persistent = false, type = null
> , priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = org.apache.activemq.util.ByteSequence@d42d49, marshalledProperties = org.apache.activemq.util.ByteSequence@1e91c40, dataStructure = null, redeliveryCounter = 0, size = 0, properties = {TO=0, FROM=37, HOST=134.242.171.26, trigger_name=com.foo.receiver.beans.ACTData, version=3.4}, readOnlyProperties = false, readOnlyBody = false, droppable = false} first to FilePendingMessageCursor
> java.lang.RuntimeException: java.lang.NullPointerExceptionnull
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
> at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
> at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
> at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBrok
> er.java:301)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
> at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
> at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
> at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)null
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
> at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
> at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
> at java.lang.Thread.run(Thread.java:619)nullCaused by: java.lang.NullPointerExceptionnull
> at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:225)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> ... 26 morenull
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (AMQ-3490) NPEs during message processing, using
FileCursor
Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13104660#comment-13104660 ]
Gary Tully commented on AMQ-3490:
---------------------------------
hmm. thanks for the detail. I need to try and reproduce. Do you have a junit test case you can share? If not, is it stomp or openwire and what setup, how many concurrent producers etc. thanks.
> NPEs during message processing, using FileCursor
> ------------------------------------------------
>
> Key: AMQ-3490
> URL: https://issues.apache.org/jira/browse/AMQ-3490
> Project: ActiveMQ
> Issue Type: Bug
> Components: Message Store
> Affects Versions: 5.6.0
> Environment: Solaris, embedded broker, file cursor enabled
> Reporter: john richartz
>
> In a scenario where a single-consumer queue for non-presistent messages uses a file cursor to manage a backlog, bursts of messages result in NPEs.
> Thread dumps for 3 different examples:
> 2011-09-07 12:43:27,057 ERROR [cursors.FilePendingMessageCursor] [] : [Usage Async Task] Caught an IO Exception getting the DiskList7_PendingCursor:snTableQueue_CHF
> java.lang.NullPointerExceptionnull
> at java.io.Writer.write(Writer.java:140)null
> at java.io.BufferedWriter.newLine(BufferedWriter.java:225)null
> at java.util.Properties.writeComments(Properties.java:671)null
> at java.util.Properties.store0(Properties.java:805)null
> at java.util.Properties.store(Properties.java:796)null
> at org.apache.kahadb.page.PageFile.storeMetaData(PageFile.java:570)null
> at org.apache.kahadb.page.PageFile.load(PageFile.java:361)null
> at org.apache.activemq.store.kahadb.plist.PListStore.intialize(PListStore.java:285)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:218)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)null
> at org.apache.activemq.usage.Usage$1.run(Usage.java:268)null
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)null
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)null
> at java.lang.Thread.run(Thread.java: 619)null
> Exception in thread "Usage Async Task" java.lang.RuntimeException: java.lang.NullPointerException
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)
> at org.apache.activemq.usage.Usage$1.run(Usage.java:268)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at java.io.Writer.write(Writer.java:140)
> at java.io.BufferedWriter.newLine(BufferedWriter.java:225)
> at java.util.Properties.writeComments(Properties.java:671)
> ================================================================
> 2011-09-07 12:43:40,908 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
> Caught an IO Exception getting the DiskList 7_PendingCursor:snTableQueue_CHF
> java.lang.NullPointerExceptionnull
> at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPLis
> t(PListStore.java:225)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
> at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
> at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
> at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:301)null
> at o
> rg.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
> at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
> at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
> at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:68
> 1)null
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
> at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
> at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
> at java.lang.Thread.run(Thread.java:619)null
> =======================================================================================
> 2011-09-07 12:43:41,028 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
> Caught an Exception adding a message: ActiveMQObjectMessage {commandId = 82, responseRequired = false, messageId = ID:lgvn-330
> 53-1315415867932-0:19:1:1:78, originalDestination = null, originalTransactionId = null, producerId = ID:lgvn-33053-131541586793
> 2-0:19:1:1, destination = queue://snTableQueue_CHF, transactionId = null, expiration = 0, timestamp = 1315424620840,
> arrival = 0, brokerInTime = 1315424620881, brokerOutTime = 0, correlationId = null, replyTo = null, persistent = false, type = null
> , priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = org.apache.activemq.util.ByteSequence@d42d49, marshalledProperties = org.apache.activemq.util.ByteSequence@1e91c40, dataStructure = null, redeliveryCounter = 0, size = 0, properties = {TO=0, FROM=37, HOST=134.242.171.26, trigger_name=com.foo.receiver.beans.ACTData, version=3.4}, readOnlyProperties = false, readOnlyBody = false, droppable = false} first to FilePendingMessageCursor
> java.lang.RuntimeException: java.lang.NullPointerExceptionnull
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
> at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
> at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
> at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBrok
> er.java:301)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
> at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
> at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
> at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)null
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
> at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
> at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
> at java.lang.Thread.run(Thread.java:619)nullCaused by: java.lang.NullPointerExceptionnull
> at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:225)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> ... 26 morenull
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (AMQ-3490) NPEs during message processing, using
FileCursor
Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13105982#comment-13105982 ]
Gary Tully commented on AMQ-3490:
---------------------------------
part of the problem is that the plist store initialisation was setting the init-done flag early, such that in the case of the first exception above, the store was considered initialised. I have resolved[1] that so in the event of a failed attempt it will retry. the reason for the first exception is still a misery though.
[1] http://svn.apache.org/viewvc?rev=1171487&view=rev
> NPEs during message processing, using FileCursor
> ------------------------------------------------
>
> Key: AMQ-3490
> URL: https://issues.apache.org/jira/browse/AMQ-3490
> Project: ActiveMQ
> Issue Type: Bug
> Components: Message Store
> Affects Versions: 5.6.0
> Environment: Solaris, embedded broker, file cursor enabled
> Reporter: john richartz
>
> In a scenario where a single-consumer queue for non-presistent messages uses a file cursor to manage a backlog, bursts of messages result in NPEs.
> Thread dumps for 3 different examples:
> 2011-09-07 12:43:27,057 ERROR [cursors.FilePendingMessageCursor] [] : [Usage Async Task] Caught an IO Exception getting the DiskList7_PendingCursor:snTableQueue_CHF
> java.lang.NullPointerExceptionnull
> at java.io.Writer.write(Writer.java:140)null
> at java.io.BufferedWriter.newLine(BufferedWriter.java:225)null
> at java.util.Properties.writeComments(Properties.java:671)null
> at java.util.Properties.store0(Properties.java:805)null
> at java.util.Properties.store(Properties.java:796)null
> at org.apache.kahadb.page.PageFile.storeMetaData(PageFile.java:570)null
> at org.apache.kahadb.page.PageFile.load(PageFile.java:361)null
> at org.apache.activemq.store.kahadb.plist.PListStore.intialize(PListStore.java:285)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:218)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)null
> at org.apache.activemq.usage.Usage$1.run(Usage.java:268)null
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)null
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)null
> at java.lang.Thread.run(Thread.java: 619)null
> Exception in thread "Usage Async Task" java.lang.RuntimeException: java.lang.NullPointerException
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)
> at org.apache.activemq.usage.Usage$1.run(Usage.java:268)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at java.io.Writer.write(Writer.java:140)
> at java.io.BufferedWriter.newLine(BufferedWriter.java:225)
> at java.util.Properties.writeComments(Properties.java:671)
> ================================================================
> 2011-09-07 12:43:40,908 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
> Caught an IO Exception getting the DiskList 7_PendingCursor:snTableQueue_CHF
> java.lang.NullPointerExceptionnull
> at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPLis
> t(PListStore.java:225)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
> at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
> at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
> at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:301)null
> at o
> rg.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
> at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
> at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
> at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:68
> 1)null
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
> at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
> at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
> at java.lang.Thread.run(Thread.java:619)null
> =======================================================================================
> 2011-09-07 12:43:41,028 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
> Caught an Exception adding a message: ActiveMQObjectMessage {commandId = 82, responseRequired = false, messageId = ID:lgvn-330
> 53-1315415867932-0:19:1:1:78, originalDestination = null, originalTransactionId = null, producerId = ID:lgvn-33053-131541586793
> 2-0:19:1:1, destination = queue://snTableQueue_CHF, transactionId = null, expiration = 0, timestamp = 1315424620840,
> arrival = 0, brokerInTime = 1315424620881, brokerOutTime = 0, correlationId = null, replyTo = null, persistent = false, type = null
> , priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = org.apache.activemq.util.ByteSequence@d42d49, marshalledProperties = org.apache.activemq.util.ByteSequence@1e91c40, dataStructure = null, redeliveryCounter = 0, size = 0, properties = {TO=0, FROM=37, HOST=134.242.171.26, trigger_name=com.foo.receiver.beans.ACTData, version=3.4}, readOnlyProperties = false, readOnlyBody = false, droppable = false} first to FilePendingMessageCursor
> java.lang.RuntimeException: java.lang.NullPointerExceptionnull
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
> at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
> at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
> at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBrok
> er.java:301)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
> at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
> at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
> at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)null
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
> at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
> at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
> at java.lang.Thread.run(Thread.java:619)nullCaused by: java.lang.NullPointerExceptionnull
> at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:225)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> ... 26 morenull
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (AMQ-3490) NPEs during message processing, using
FileCursor
Posted by "john richartz (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13104712#comment-13104712 ]
john richartz commented on AMQ-3490:
------------------------------------
I don't have a test case that directly exposes this issue, but need to put one together. I'll work on that.
It's not stomp, so I guess it's openwire. There's perhaps 20 concurrent producers, each emits a burst of large messages once per hour and, of course, at the same time.
The producers create a connection like this:
QueueConnectionFactory queueFactory = (QueueConnectionFactory)getJndiElement(m_dataChannelQueueConnectionFactoryJndiName);
log(Level.TRACE, "QueueConnectionFactory successfully established");
Queue queue = (Queue) getJndiElement(queueName);
m_connection = queueFactory.createQueueConnection(getJndiUser(), getJndiPassword());
log(Level.TRACE, "QueueConnection created");
m_connection.setClientID("DataChannel_" + m_nodeId + "_" + queueName +"_" + messageNumber.toString());
messageNumber.incrementAndGet();
m_queueSession = m_connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
m_queueSender = m_queueSession.createSender(queue);
log(Level.TRACE, "QueueSession created: " + m_queueSender.toString());
m_queueSender.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
> NPEs during message processing, using FileCursor
> ------------------------------------------------
>
> Key: AMQ-3490
> URL: https://issues.apache.org/jira/browse/AMQ-3490
> Project: ActiveMQ
> Issue Type: Bug
> Components: Message Store
> Affects Versions: 5.6.0
> Environment: Solaris, embedded broker, file cursor enabled
> Reporter: john richartz
>
> In a scenario where a single-consumer queue for non-presistent messages uses a file cursor to manage a backlog, bursts of messages result in NPEs.
> Thread dumps for 3 different examples:
> 2011-09-07 12:43:27,057 ERROR [cursors.FilePendingMessageCursor] [] : [Usage Async Task] Caught an IO Exception getting the DiskList7_PendingCursor:snTableQueue_CHF
> java.lang.NullPointerExceptionnull
> at java.io.Writer.write(Writer.java:140)null
> at java.io.BufferedWriter.newLine(BufferedWriter.java:225)null
> at java.util.Properties.writeComments(Properties.java:671)null
> at java.util.Properties.store0(Properties.java:805)null
> at java.util.Properties.store(Properties.java:796)null
> at org.apache.kahadb.page.PageFile.storeMetaData(PageFile.java:570)null
> at org.apache.kahadb.page.PageFile.load(PageFile.java:361)null
> at org.apache.activemq.store.kahadb.plist.PListStore.intialize(PListStore.java:285)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:218)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)null
> at org.apache.activemq.usage.Usage$1.run(Usage.java:268)null
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)null
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)null
> at java.lang.Thread.run(Thread.java: 619)null
> Exception in thread "Usage Async Task" java.lang.RuntimeException: java.lang.NullPointerException
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)
> at org.apache.activemq.usage.Usage$1.run(Usage.java:268)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at java.io.Writer.write(Writer.java:140)
> at java.io.BufferedWriter.newLine(BufferedWriter.java:225)
> at java.util.Properties.writeComments(Properties.java:671)
> ================================================================
> 2011-09-07 12:43:40,908 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
> Caught an IO Exception getting the DiskList 7_PendingCursor:snTableQueue_CHF
> java.lang.NullPointerExceptionnull
> at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPLis
> t(PListStore.java:225)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
> at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
> at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
> at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:301)null
> at o
> rg.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
> at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
> at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
> at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:68
> 1)null
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
> at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
> at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
> at java.lang.Thread.run(Thread.java:619)null
> =======================================================================================
> 2011-09-07 12:43:41,028 ERROR [cursors.FilePendingMessageCursor] [1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
> Caught an Exception adding a message: ActiveMQObjectMessage {commandId = 82, responseRequired = false, messageId = ID:lgvn-330
> 53-1315415867932-0:19:1:1:78, originalDestination = null, originalTransactionId = null, producerId = ID:lgvn-33053-131541586793
> 2-0:19:1:1, destination = queue://snTableQueue_CHF, transactionId = null, expiration = 0, timestamp = 1315424620840,
> arrival = 0, brokerInTime = 1315424620881, brokerOutTime = 0, correlationId = null, replyTo = null, persistent = false, type = null
> , priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = org.apache.activemq.util.ByteSequence@d42d49, marshalledProperties = org.apache.activemq.util.ByteSequence@1e91c40, dataStructure = null, redeliveryCounter = 0, size = 0, properties = {TO=0, FROM=37, HOST=134.242.171.26, trigger_name=com.foo.receiver.beans.ACTData, version=3.4}, readOnlyProperties = false, readOnlyBody = false, droppable = false} first to FilePendingMessageCursor
> java.lang.RuntimeException: java.lang.NullPointerExceptionnull
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
> at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
> at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
> at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBrok
> er.java:301)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
> at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
> at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
> at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)null
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
> at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
> at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null
> at java.lang.Thread.run(Thread.java:619)nullCaused by: java.lang.NullPointerExceptionnull
> at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
> at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:225)null
> at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
> ... 26 morenull
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira