[ 
https://issues.apache.org/jira/browse/ARTEMIS-3665?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17499079#comment-17499079
 ] 

Jan Filipski commented on ARTEMIS-3665:
---------------------------------------

sure. I have detailed NPE from JDK17 :)
Client receives topology with 4 entries, two of them has nulls on "A" element. 
If client uses loadbalancing, it will try to open connections based on 
topology, with faulty entry.

I think is not reproducible on fresh server installation (with recreated 
cluster topology), but I can't delete artemis data on cluster. I'm not familiar 
with Artemis internals.
{code:java}
javax.jms.JMSException: Failed to create session factory
        at 
org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:867)
 ~[?:?]
        at 
org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:284)
 ~[?:?]
        at 
org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:279)
 ~[?:?]
        at 
org.messaginghub.pooled.jms.JmsPoolConnectionFactory.createProviderConnection(JmsPoolConnectionFactory.java:661)
 ~[?:?]
        at 
org.messaginghub.pooled.jms.JmsPoolConnectionFactory$1.makeObject(JmsPoolConnectionFactory.java:108)
 ~[?:?]
        at 
org.messaginghub.pooled.jms.JmsPoolConnectionFactory$1.makeObject(JmsPoolConnectionFactory.java:105)
 ~[?:?]
        at 
org.apache.commons.pool2.impl.GenericKeyedObjectPool.create(GenericKeyedObjectPool.java:1073)
 ~[?:?]
        at 
org.apache.commons.pool2.impl.GenericKeyedObjectPool.addObject(GenericKeyedObjectPool.java:1279)
 ~[?:?]
        at 
org.messaginghub.pooled.jms.JmsPoolConnectionFactory.createJmsPoolConnection(JmsPoolConnectionFactory.java:715)
 ~[?:?]
        at 
org.messaginghub.pooled.jms.JmsPoolConnectionFactory.createConnection(JmsPoolConnectionFactory.java:247)
 ~[?:?]
        at 
org.messaginghub.pooled.jms.JmsPoolConnectionFactory.createConnection(JmsPoolConnectionFactory.java:242)
 ~[?:?]
        at Proxy5a7fd605_7148_4f32_bb40_d21fd081d2b6.createConnection(Unknown 
Source) ~[?:?]
        ... 39 more
Caused by: java.lang.NullPointerException: Cannot invoke 
"org.apache.activemq.artemis.api.core.TransportConfiguration.getFactoryClassName()"
 because the return value of "org.apache.activemq.artemis.api.core.Pair.getA()" 
is null
        at 
org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.<init>(ClientSessionFactoryImpl.java:192)
 ~[?:?]
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:683)
 ~[?:?]
        at 
org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:865)
 ~[?:?]
        at 
org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:284)
 ~[?:?]
        at 
org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:279)
 ~[?:?]
        at 
org.messaginghub.pooled.jms.JmsPoolConnectionFactory.createProviderConnection(JmsPoolConnectionFactory.java:661)
 ~[?:?]
        at 
org.messaginghub.pooled.jms.JmsPoolConnectionFactory$1.makeObject(JmsPoolConnectionFactory.java:108)
 ~[?:?]
        at 
org.messaginghub.pooled.jms.JmsPoolConnectionFactory$1.makeObject(JmsPoolConnectionFactory.java:105)
 ~[?:?]
        at 
org.apache.commons.pool2.impl.GenericKeyedObjectPool.create(GenericKeyedObjectPool.java:1073)
 ~[?:?]
        at 
org.apache.commons.pool2.impl.GenericKeyedObjectPool.addObject(GenericKeyedObjectPool.java:1279)
 ~[?:?]
        at 
org.messaginghub.pooled.jms.JmsPoolConnectionFactory.createJmsPoolConnection(JmsPoolConnectionFactory.java:715)
 ~[?:?]
        at 
org.messaginghub.pooled.jms.JmsPoolConnectionFactory.createConnection(JmsPoolConnectionFactory.java:247)
 ~[?:?]
        at 
org.messaginghub.pooled.jms.JmsPoolConnectionFactory.createConnection(JmsPoolConnectionFactory.java:242)
 ~[?:?]
        at Proxy5a7fd605_7148_4f32_bb40_d21fd081d2b6.createConnection(Unknown 
Source) ~[?:?]
        ... 39 more{code}

> NullPointerException in ServerLocator.createSessionFactory
> ----------------------------------------------------------
>
>                 Key: ARTEMIS-3665
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3665
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>    Affects Versions: 2.17.0
>         Environment: Linux version 3.10.0-1160.49.1.el7.x86_64 
> ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 
> 4.8.5-44) (GCC) ) #1 SMP Tue Nov 30 15:51:32 UTC 2021
> Artemis 2.17.0
> Connection string is:
> (tcp://ba-artms21.qa.raveu.net:61616,tcp://ba-artms22.qa.raveu.net:61616)
>            Reporter: Stephen Baker
>            Assignee: Clebert Suconic
>            Priority: Major
>             Fix For: 2.20.0
>
>
> In one environment I am frequently seeing a {{NullPointerException}} in 
> {{ServerLocator.createSessionFactory()}}:
> {noformat}
> java.lang.NullPointerException
>   at 
> org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.<init>(ClientSessionFactoryImpl.java:189
>   at 
> org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:683){noformat}
> The line in the report is:
> {noformat}
> connectorFactory = 
> instantiateConnectorFactory(connectorConfig.getA().getFactoryClassName());{noformat}
> Unfortunately I'm not able to reproduce in my development environment which 
> makes debugging difficult.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to