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

Thorsten Schöning commented on AXIS2-5775:
------------------------------------------

I think I've encountered the same problem today in version 1.6.2. Because that 
is very old, I plan to upgrade anyway and are unable to reproduce it currently, 
I don't think it's worth it to spent time looking into this more detailed. 
Nevertheless, I would like to document the problem here as well, just in case I 
need to have a further look in future.

{CODE}
2018-04-19 11:48:33,874 ERROR de.am_soft.util.backend.client.ClBase.callImpl: 
Exception occurred during method invocation.
java.lang.NullPointerException: null
        at 
org.apache.axis2.context.AbstractContext.needPropertyDifferences(AbstractContext.java:239)
 ~[axis2-kernel-1.6.2.jar:1.6.2]
        at 
org.apache.axis2.context.AbstractContext.setProperty(AbstractContext.java:202) 
~[axis2-kernel-1.6.2.jar:1.6.2]
        at 
org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:270) 
~[axis2-transport-http-1.6.2.jar:na]
        at 
org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:194) 
~[axis2-transport-http-1.6.2.jar:na]
        at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75) 
~[axis2-transport-http-1.6.2.jar:na]
        at 
org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:404)
 ~[axis2-transport-http-1.6.2.jar:na]
        at 
org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:231)
 ~[axis2-transport-http-1.6.2.jar:na]
        at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443) 
~[axis2-kernel-1.6.2.jar:1.6.2]
        at 
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406)
 ~[axis2-kernel-1.6.2.jar:1.6.2]
        at 
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
 ~[axis2-kernel-1.6.2.jar:1.6.2]
        at 
org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) 
~[axis2-kernel-1.6.2.jar:1.6.2]
        at 
org.apache.axis2.client.ServiceClient.sendRobust(ServiceClient.java:475) 
~[axis2-kernel-1.6.2.jar:1.6.2]
        at 
org.apache.axis2.client.ServiceClient.sendRobust(ServiceClient.java:456) 
~[axis2-kernel-1.6.2.jar:1.6.2]
        at 
org.apache.axis2.rpc.client.RPCServiceClient.invokeRobust(RPCServiceClient.java:158)
 ~[axis2-adb-1.6.2.jar:1.6.2]
        at 
de.am_soft.util.backend.client.soap_dispatcher.ClSdImpl.dispatchImpl(ClSdImpl.java:437)
 ~[lib/:na]
        at 
de.am_soft.util.backend.client.soap_dispatcher.ClSdImpl.dispatch(ClSdImpl.java:488)
 ~[lib/:na]
        at de.am_soft.util.backend.client.ClBase.callImpl(ClBase.java:92) 
[lib/:na]
        at de.am_soft.util.backend.client.ClBase.callImpl(ClBase.java:115) 
[lib/:na]
        at de.am_soft.sm_mtg.comm.backend.BkPackets.process(BkPackets.java:36) 
[lib/:na]
        at de.am_soft.sm_mtg.d.processor.Worker.processIncoming(Worker.java:90) 
[lib/:na]
        at de.am_soft.sm_mtg.d.processor.Processor$1.call(Processor.java:220) 
[lib/:na]
        at de.am_soft.sm_mtg.d.processor.Processor$1.call(Processor.java:1) 
[lib/:na]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
[na:1.8.0_161]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
 [na:1.8.0_161]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
 [na:1.8.0_161]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
[na:1.8.0_161]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
[na:1.8.0_161]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_161]
{CODE}

The NPE happens at the following line:

{CODE}
ClusteringAgent clusteringAgent = 
cc.getAxisConfiguration().getClusteringAgent();
{CODE}

http://grepcode.com/file/repo1.maven.org/maven2/org.apache.axis2/axis2-kernel/1.6.2/org/apache/axis2/context/AbstractContext.java/#239

The NPE seems to happen while preparing a new SOAP request and I'm pretty sure 
to not share clients:

{CODE}
        RPCServiceClient        serviceClient   = new RPCServiceClient();
        QName                   qname           = new QName(this.uri, method);
        Object[]                        response                = null;

        serviceClient.setOptions(this.getDefaultOptions(method));
        
this.initHttpConnectionManager(serviceClient.getServiceContext().getConfigurationContext());

        if ((returnTypes == null) || (returnTypes.length == 0) || 
(returnTypes[0] == null))
        {
437             serviceClient.invokeRobust(qname, args);
        }
        else
        {
                response = serviceClient.invokeBlocking(qname, args, 
returnTypes);
        }
        response = this.createNativeResponse(response);
{CODE}

at 
de.am_soft.util.backend.client.soap_dispatcher.ClSdImpl.dispatchImpl(ClSdImpl.java:437)
 ~[lib/:na]

{CODE}
private Options getDefaultOptions(String action)
{
        Options retVal = new Options();

        retVal.setAction(action);
        retVal.setTo(new EndpointReference(this.epr));
        retVal.setCallTransportCleanup(true);
        retVal.setTimeOutInMilliSeconds(0);

        return retVal;
}

private void initHttpConnectionManager(ConfigurationContext cfgCtx)
{
        MultiThreadedHttpConnectionManager connMgr = 
(MultiThreadedHttpConnectionManager) 
cfgCtx.getProperty(HTTPConstants.MULTITHREAD_HTTP_CONNECTION_MANAGER);

        if (connMgr == null)
        {
                connMgr = new MultiThreadedHttpConnectionManager();
                
cfgCtx.setProperty(HTTPConstants.MULTITHREAD_HTTP_CONNECTION_MANAGER, connMgr);
        }

        HttpConnectionManagerParams connMgrParams = connMgr.getParams();
        
connMgrParams.setMaxConnectionsPerHost(HostConfiguration.ANY_HOST_CONFIGURATION,
 100);
        connMgrParams.setMaxTotalConnections(100);
}
{CODE}

> upgrading from axis2 1.4 to 1.6.4
> ---------------------------------
>
>                 Key: AXIS2-5775
>                 URL: https://issues.apache.org/jira/browse/AXIS2-5775
>             Project: Axis2
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 1.6.4
>            Reporter: Rajesh
>            Priority: Major
>
> Hi All,
> This is related to existing JIRA AXIS2-5774.
> We are upgrading from axis2 1.4 to 1.6.4. We upgraded successfully and got 
> response from provider with execute() method.
> After 4 to 8 request , the service is throwing below error intemittently.
> (Modified now)
> Error:
> =======================
> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:423)
>       at 
> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406)
>       at 
> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
>       at 
> org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) 
> =========================
> So we added few logging to Kernel 1.6.4 and found that after few request 
> Cleanup() method in the serviceclient is cleaning the AxisConfiguration,hence 
> the following request getting failed with Null error.
> Also we see changes in AxisCOnfiguration in 1.4 and 1.6.4 in Cleanup method().
> Is this the normal behaviour in axis2 1.6.4?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to