[ https://issues.apache.org/jira/browse/ARTEMIS-4130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17683459#comment-17683459 ]
Timothy A. Bish commented on ARTEMIS-4130: ------------------------------------------ There is a relation to ARTEMIS-2431 though in that the error condition that's getting returned from pipelined open should not be about an NPE etc but should indicate the access violation which it now does. > failed amqp connect attempt leads to 3 stack traces in log > ---------------------------------------------------------- > > Key: ARTEMIS-4130 > URL: https://issues.apache.org/jira/browse/ARTEMIS-4130 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP > Affects Versions: 2.27.1 > Reporter: Erwin Dondorp > Priority: Major > Time Spent: 10m > Remaining Estimate: 0h > > context: > * server login.conf allows only "PropertiesLoginModule required" (i.e. > username+password only) > * client is using AMQP with Python Proton library > * client is connecting anonymously to this server > the connect attempt is supposed to fail because it is trying anonymous login > on a server that does not allow that. but that is not the problem. > instead of a simple rejected login, this results in 3 stack traces in the > artemis server logfile per connect attempt. the client still gets its > rejection, but in the form of a "amqp:internal-error / Unrecoverable error: > NullPointerException". > this is the log for a single connect attempt: > {noformat} > 2023-01-15 12:46:35,847 WARN [org.apache.activemq.artemis.core.server] > AMQ222216: Security problem while authenticating: AMQ229031: Unable to > validate user from /10.11.1.3:62895. Username: null; SSL certificate subject > DN: unavailable > 2023-01-15 12:46:35,847 WARN > [org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext] > AMQ229031: Unable to validate user from /10.11.1.3:62895. Username: null; SSL > certificate subject DN: unavailable > org.apache.activemq.artemis.api.core.ActiveMQSecurityException: AMQ229031: > Unable to validate user from /10.11.1.3:62895. Username: null; SSL > certificate subject DN: unavailable > at > org.apache.activemq.artemis.core.security.impl.SecurityStoreImpl.authenticationFailed(SecurityStoreImpl.java:360) > ~[artemis-server-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.core.security.impl.SecurityStoreImpl.authenticate(SecurityStoreImpl.java:189) > ~[artemis-server-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.validateUser(ActiveMQServerImpl.java:1744) > ~[artemis-server-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.validateUser(AMQPConnectionContext.java:595) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.onRemoteOpen(AMQPConnectionContext.java:553) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.handler.Events.dispatch(Events.java:32) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.dispatch(ProtonHandler.java:565) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.flush(ProtonHandler.java:361) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.inputBuffer(ProtonHandler.java:318) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.inputBuffer(AMQPConnectionContext.java:242) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.broker.ActiveMQProtonRemotingConnection.bufferReceived(ActiveMQProtonRemotingConnection.java:134) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:691) > ~[artemis-server-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:73) > ~[artemis-core-client-2.27.1.jar:2.27.1] > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800) > ~[netty-transport-classes-epoll-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:499) > ~[netty-transport-classes-epoll-4.1.82.Final.jar:4.1.82.Final] > at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:397) > ~[netty-transport-classes-epoll-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) > ~[netty-common-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) > ~[netty-common-4.1.82.Final.jar:4.1.82.Final] > at > org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) > ~[artemis-commons-2.27.1.jar:?] > 2023-01-15 12:46:35,848 WARN [org.apache.activemq.artemis.core.server] > AMQ222216: Security problem while authenticating: AMQ229031: Unable to > validate user from /10.11.1.3:62895. Username: null; SSL certificate subject > DN: unavailable > 2023-01-15 12:46:35,848 WARN > [org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler] > AMQ229031: Unable to validate user from /10.11.1.3:62895. Username: null; SSL > certificate subject DN: unavailable > org.apache.activemq.artemis.api.core.ActiveMQSecurityException: AMQ229031: > Unable to validate user from /10.11.1.3:62895. Username: null; SSL > certificate subject DN: unavailable > at > org.apache.activemq.artemis.core.security.impl.SecurityStoreImpl.authenticationFailed(SecurityStoreImpl.java:360) > ~[artemis-server-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.core.security.impl.SecurityStoreImpl.authenticate(SecurityStoreImpl.java:189) > ~[artemis-server-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.validateUser(ActiveMQServerImpl.java:1744) > ~[artemis-server-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.createSession(ActiveMQServerImpl.java:1724) > ~[artemis-server-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback.init(AMQPSessionCallback.java:207) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.AMQPSessionContext.initialize(AMQPSessionContext.java:86) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.onRemoteOpen(AMQPConnectionContext.java:691) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.handler.Events.dispatch(Events.java:50) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.dispatch(ProtonHandler.java:565) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.flush(ProtonHandler.java:361) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.inputBuffer(ProtonHandler.java:318) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.inputBuffer(AMQPConnectionContext.java:242) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.broker.ActiveMQProtonRemotingConnection.bufferReceived(ActiveMQProtonRemotingConnection.java:134) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:691) > ~[artemis-server-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:73) > ~[artemis-core-client-2.27.1.jar:2.27.1] > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800) > ~[netty-transport-classes-epoll-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:499) > ~[netty-transport-classes-epoll-4.1.82.Final.jar:4.1.82.Final] > at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:397) > ~[netty-transport-classes-epoll-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) > ~[netty-common-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) > ~[netty-common-4.1.82.Final.jar:4.1.82.Final] > at > org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) > ~[artemis-commons-2.27.1.jar:?] > 2023-01-15 12:46:35,849 WARN > [org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler] null > java.lang.NullPointerException: null > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback.getAddress(AMQPSessionCallback.java:724) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerReceiverContext.getRoutingType(ProtonServerReceiverContext.java:169) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerReceiverContext.initialize(ProtonServerReceiverContext.java:119) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.AMQPSessionContext.addReceiver(AMQPSessionContext.java:256) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.remoteLinkOpened(AMQPConnectionContext.java:391) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.onRemoteOpen(AMQPConnectionContext.java:712) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.handler.Events.dispatch(Events.java:68) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.dispatch(ProtonHandler.java:565) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.flush(ProtonHandler.java:361) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.inputBuffer(ProtonHandler.java:318) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.inputBuffer(AMQPConnectionContext.java:242) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.protocol.amqp.broker.ActiveMQProtonRemotingConnection.bufferReceived(ActiveMQProtonRemotingConnection.java:134) > ~[artemis-amqp-protocol-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:691) > ~[artemis-server-2.27.1.jar:2.27.1] > at > org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:73) > ~[artemis-core-client-2.27.1.jar:2.27.1] > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) > ~[netty-transport-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800) > ~[netty-transport-classes-epoll-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:499) > ~[netty-transport-classes-epoll-4.1.82.Final.jar:4.1.82.Final] > at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:397) > ~[netty-transport-classes-epoll-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) > ~[netty-common-4.1.82.Final.jar:4.1.82.Final] > at > io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) > ~[netty-common-4.1.82.Final.jar:4.1.82.Final] > at > org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) > ~[artemis-commons-2.27.1.jar:?] > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)