[ https://issues.apache.org/jira/browse/ARTEMIS-5598?focusedWorklogId=976853&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-976853 ]
ASF GitHub Bot logged work on ARTEMIS-5598: ------------------------------------------- Author: ASF GitHub Bot Created on: 29/Jul/25 21:15 Start Date: 29/Jul/25 21:15 Worklog Time Spent: 10m Work Description: jbertram commented on code in PR #5848: URL: https://github.com/apache/activemq-artemis/pull/5848#discussion_r2241034257 ########## artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerConsumerImpl.java: ########## @@ -526,7 +526,11 @@ public void proceedDeliver(MessageReference reference) throws Exception { } } finally { pendingDelivery.countDown(); - callback.afterDelivery(); + synchronized (lock) { Review Comment: I just incorporated `volatile`. I missed your update the last time. Issue Time Tracking ------------------- Worklog Id: (was: 976853) Time Spent: 50m (was: 40m) > Mitigate race condition on ServerConsumer callback > -------------------------------------------------- > > Key: ARTEMIS-5598 > URL: https://issues.apache.org/jira/browse/ARTEMIS-5598 > Project: ActiveMQ Artemis > Issue Type: Bug > Reporter: Justin Bertram > Assignee: Justin Bertram > Priority: Major > Labels: pull-request-available > Time Spent: 50m > Remaining Estimate: 0h > > There is a race condition in {{ServerConsumerImpl}} involving {{callback}} > which can result in a {{NullPointerException}}, e.g.: > {noformat} > java.lang.NullPointerException > at > org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.proceedDeliver(ServerConsumerImpl.java:532) > at > org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl$BrowserDeliverer.run(ServerConsumerImpl.java:1488) > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57) > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32) > at > org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68) > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > at > org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118){noformat} > The race happens when a message is being delivered at the same time the > consumer is closed. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org For additional commands, e-mail: issues-h...@activemq.apache.org For further information, visit: https://activemq.apache.org/contact