Hi Chanaka,

Thanks for looking into this. Hope we can get it merged to the kernel soon
:).

Thanks,
NuwanD.

On Wed, Oct 7, 2015 at 5:19 PM, Chanaka Fernando <chana...@wso2.com> wrote:

> Hi NuwanD,
>
> I have found the root cause for this issue. As mentioned in [1], this
> error is coming from kernel level and that has been propagated to the
> synapse level. Actual root cause is mentioned below.
>
> [2015-10-07 17:13:38,135] ERROR - ServerWorker Error processing GET
> reguest for : /t/api.com/responseapi/weather?q=London. Error detail:
> null.
> java.util.EmptyStackException
>     at java.util.Stack.peek(Stack.java:102)
>     at java.util.Stack.pop(Stack.java:84)
>     at
> org.wso2.carbon.context.internal.CarbonContextDataHolder.endTenantFlow(CarbonContextDataHolder.java:1291)
>     at
> org.wso2.carbon.context.PrivilegedCarbonContext.endTenantFlow(PrivilegedCarbonContext.java:75)
>     at
> org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.processRequest(MultitenantMessageReceiver.java:229)
>     at
> org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.receive(MultitenantMessageReceiver.java:78)
>     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>     at
> org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:317)
>     at
> org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:149)
>     at
> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
>     at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>     at java.lang.Thread.run(Thread.java:745)
>
>
> There is a separate mail thread to discuss about this issue and previously
> Jagath has given a fix but that was not merged to the kernel. I will reply
> to that thread and continue the fix on that thread.
>
> [1] https://wso2.org/jira/browse/ESBJAVA-4142
>
> Thanks,
> Chanaka
>
> On Tue, Oct 6, 2015 at 4:49 PM, Chanaka Fernando <chana...@wso2.com>
> wrote:
>
>> Hi NuwanD,
>>
>> I can reproduce the issue with the provided configuration. I have already
>> created a fix for this issue and currently testing it. I'll update the
>> thread once I finalized the fix and merge the PR.
>>
>> On Tue, Oct 6, 2015 at 2:59 PM, Nuwan Dias <nuw...@wso2.com> wrote:
>>
>>> Attaching the two APIs I used for testing. To reproduce this issue,
>>> create a tenant with the domain as 'wso2.com' and deploy these two APIs
>>> within the tenant space and restart the server.
>>>
>>> Then access the API without the version using the following URL.
>>>
>>> http://localhost:8280/t/wso2.com/responseapi/weather?q=London
>>>
>>> Thanks,
>>> NuwanD.
>>>
>>> On Tue, Oct 6, 2015 at 2:53 PM, Chanaka Fernando <chana...@wso2.com>
>>> wrote:
>>>
>>>> Hi Nuwan,
>>>>
>>>> I had a look into the code which is causing this NPE. According to the
>>>> way it is written, this NPE can be occurred. I have tried to replicate what
>>>> NuwanD has mentioned but couldn't reproduce the same NPE. This can be
>>>> occurred due to synapse configuration issue.
>>>>
>>>> @NuwanD: Can you share the configurations which you have used to
>>>> reproduce this issue?
>>>>
>>>>
>>>> Thanks,
>>>> Chanaka
>>>>
>>>> On Thu, Oct 1, 2015 at 10:41 AM, Chanaka Fernando <chana...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi All,
>>>>>
>>>>> We are looking into this issue.
>>>>>
>>>>> On Thu, Oct 1, 2015 at 10:37 AM, Sandapa Handakumbura <
>>>>> sand...@wso2.com> wrote:
>>>>>
>>>>>> Hi Nuwan,
>>>>>>
>>>>>> I faced a similar issue during ESB 4.9.0 release testing. First
>>>>>> request for proxy services (after tenant unloading/ server restart) 
>>>>>> failed
>>>>>> in tenant mode [1]. Unfortunately ESB team could not reproduce it and I
>>>>>> could not identify the exact steps to reproduce it either.
>>>>>>
>>>>>> Hope the team will look in to this since you have identified steps to
>>>>>> reproduce the issue.
>>>>>>
>>>>>> [1] https://wso2.org/jira/browse/ESBJAVA-4142
>>>>>>
>>>>>> Thanks,
>>>>>> Sandapa
>>>>>>
>>>>>>
>>>>>> On Thu, Oct 1, 2015 at 4:47 AM, Nuwan Dias <nuw...@wso2.com> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I have a scenario on the ESB where I have created two APIs with the
>>>>>>> same context in the tenant space. The first API doesn't have a version 
>>>>>>> and
>>>>>>> the second API has a version. The first API receives the request and
>>>>>>> forwards to the second API. See illustration below.
>>>>>>>
>>>>>>> Client (/twitter) --> Twitter_API (/twitter/1.0.0) -->
>>>>>>> Twitter_API_v1.0.0
>>>>>>>
>>>>>>> This scenario however causes the following [1] NPE on the first
>>>>>>> request that's sent to the server. The subsequent requests pass until a
>>>>>>> server restart happens.
>>>>>>>
>>>>>>> I tried logging into the management console of the ESB using tenant
>>>>>>> credentials to check whether it was related to tenant loading. The first
>>>>>>> request still failed with the same error. Any idea why this is 
>>>>>>> happening?
>>>>>>> This issue first occurred to me in API Manager after migrating to the
>>>>>>> latest released version of Synapse. And is causing test failures in the
>>>>>>> product. It worked fine in the older versions of Synapse (2.1.2- version
>>>>>>> range).
>>>>>>>
>>>>>>> [1]
>>>>>>>
>>>>>>> [2015-10-01 04:41:39,519] ERROR - PassThroughHttpSender Failed to
>>>>>>> submit the response
>>>>>>> java.lang.NullPointerException
>>>>>>> at
>>>>>>> org.apache.synapse.transport.passthru.util.SourceResponseFactory.create(SourceResponseFactory.java:64)
>>>>>>> at
>>>>>>> org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:462)
>>>>>>> at
>>>>>>> org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:267)
>>>>>>> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
>>>>>>> at
>>>>>>> org.wso2.carbon.core.multitenancy.transports.TenantTransportSender.invoke(TenantTransportSender.java:231)
>>>>>>> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
>>>>>>> at
>>>>>>> org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:212)
>>>>>>> at
>>>>>>> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:444)
>>>>>>> at
>>>>>>> org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:102)
>>>>>>> at
>>>>>>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)
>>>>>>> at
>>>>>>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)
>>>>>>> at
>>>>>>> org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:149)
>>>>>>> at org.apache.synapse.rest.Resource.process(Resource.java:297)
>>>>>>> at org.apache.synapse.rest.API.process(API.java:335)
>>>>>>> at
>>>>>>> org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:97)
>>>>>>> at
>>>>>>> org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:52)
>>>>>>> at
>>>>>>> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:266)
>>>>>>> at
>>>>>>> org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:529)
>>>>>>> at
>>>>>>> org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:172)
>>>>>>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>>>>>>> at
>>>>>>> org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.processResponse(MultitenantMessageReceiver.java:166)
>>>>>>> at
>>>>>>> org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.receive(MultitenantMessageReceiver.java:82)
>>>>>>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>>>>>>> at
>>>>>>> org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:247)
>>>>>>> at
>>>>>>> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
>>>>>>> at
>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>> at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>> at java.lang.Thread.run(Thread.java:745)
>>>>>>> [2015-10-01 04:41:39,521] ERROR - Axis2Sender
>>>>>>> Access-Control-Allow-Credentials:true,Access-Control-Allow-Methods:GET,
>>>>>>> POST,Access-Control-Allow-Origin:*,Content-Type:application/json;
>>>>>>> charset=utf-8,X-Source:redis,<?xml version='1.0'
>>>>>>> encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="
>>>>>>> http://www.w3.org/2003/05/soap-envelope";><soapenv:Body/></soapenv:Envelope>
>>>>>>> Unexpected error sending message back
>>>>>>> org.apache.axis2.AxisFault: Failed to submit the response
>>>>>>> at
>>>>>>> org.apache.synapse.transport.passthru.PassThroughHttpSender.handleException(PassThroughHttpSender.java:610)
>>>>>>> at
>>>>>>> org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:269)
>>>>>>> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
>>>>>>> at
>>>>>>> org.wso2.carbon.core.multitenancy.transports.TenantTransportSender.invoke(TenantTransportSender.java:231)
>>>>>>> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
>>>>>>> at
>>>>>>> org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:212)
>>>>>>> at
>>>>>>> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:444)
>>>>>>> at
>>>>>>> org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:102)
>>>>>>> at
>>>>>>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)
>>>>>>> at
>>>>>>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)
>>>>>>> at
>>>>>>> org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:149)
>>>>>>> at org.apache.synapse.rest.Resource.process(Resource.java:297)
>>>>>>> at org.apache.synapse.rest.API.process(API.java:335)
>>>>>>> at
>>>>>>> org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:97)
>>>>>>> at
>>>>>>> org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:52)
>>>>>>> at
>>>>>>> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:266)
>>>>>>> at
>>>>>>> org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:529)
>>>>>>> at
>>>>>>> org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:172)
>>>>>>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>>>>>>> at
>>>>>>> org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.processResponse(MultitenantMessageReceiver.java:166)
>>>>>>> at
>>>>>>> org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.receive(MultitenantMessageReceiver.java:82)
>>>>>>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>>>>>>> at
>>>>>>> org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:247)
>>>>>>> at
>>>>>>> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
>>>>>>> at
>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>> at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>> at java.lang.Thread.run(Thread.java:745)
>>>>>>> Caused by: java.lang.NullPointerException
>>>>>>> at
>>>>>>> org.apache.synapse.transport.passthru.util.SourceResponseFactory.create(SourceResponseFactory.java:64)
>>>>>>> at
>>>>>>> org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:462)
>>>>>>> at
>>>>>>> org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:267)
>>>>>>> ... 25 more
>>>>>>>
>>>>>>> Thanks,
>>>>>>> NuwanD.
>>>>>>>
>>>>>>> --
>>>>>>> Nuwan Dias
>>>>>>>
>>>>>>> Technical Lead - WSO2, Inc. http://wso2.com
>>>>>>> email : nuw...@wso2.com
>>>>>>> Phone : +94 777 775 729
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Dev mailing list
>>>>>>> Dev@wso2.org
>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Sandapa Handakumbura
>>>>>> Associate Technical Lead
>>>>>> WSO2.Inc. ; http://wso2.com/
>>>>>> M : +94777115866
>>>>>>
>>>>>> _______________________________________________
>>>>>> Dev mailing list
>>>>>> Dev@wso2.org
>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> --
>>>>> Chanaka Fernando
>>>>> Senior Technical Lead
>>>>> WSO2, Inc.; http://wso2.com
>>>>> lean.enterprise.middleware
>>>>>
>>>>> mobile: +94 773337238
>>>>> Blog : http://soatutorials.blogspot.com
>>>>> LinkedIn:http://www.linkedin.com/pub/chanaka-fernando/19/a20/5b0
>>>>> Twitter:https://twitter.com/chanakaudaya
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> --
>>>> Chanaka Fernando
>>>> Senior Technical Lead
>>>> WSO2, Inc.; http://wso2.com
>>>> lean.enterprise.middleware
>>>>
>>>> mobile: +94 773337238
>>>> Blog : http://soatutorials.blogspot.com
>>>> LinkedIn:http://www.linkedin.com/pub/chanaka-fernando/19/a20/5b0
>>>> Twitter:https://twitter.com/chanakaudaya
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Nuwan Dias
>>>
>>> Technical Lead - WSO2, Inc. http://wso2.com
>>> email : nuw...@wso2.com
>>> Phone : +94 777 775 729
>>>
>>
>>
>>
>> --
>> --
>> Chanaka Fernando
>> Senior Technical Lead
>> WSO2, Inc.; http://wso2.com
>> lean.enterprise.middleware
>>
>> mobile: +94 773337238
>> Blog : http://soatutorials.blogspot.com
>> LinkedIn:http://www.linkedin.com/pub/chanaka-fernando/19/a20/5b0
>> Twitter:https://twitter.com/chanakaudaya
>>
>>
>>
>>
>>
>
>
> --
> --
> Chanaka Fernando
> Senior Technical Lead
> WSO2, Inc.; http://wso2.com
> lean.enterprise.middleware
>
> mobile: +94 773337238
> Blog : http://soatutorials.blogspot.com
> LinkedIn:http://www.linkedin.com/pub/chanaka-fernando/19/a20/5b0
> Twitter:https://twitter.com/chanakaudaya
>
>
>
>
>


-- 
Nuwan Dias

Technical Lead - WSO2, Inc. http://wso2.com
email : nuw...@wso2.com
Phone : +94 777 775 729
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to