Awesome! I'll register now,

Many thanks,
Kevin


On Fri, Mar 8, 2013 at 3:54 PM, Muhammed Shariq <[email protected]> wrote:

> Hi Kevin,
>
> First of thanks for analyzing the issue in detail and coming back with the
> fixes. Of course we would be more than happy to accept patches for any bugs
> you encounter :) You can provide patches through our bug tracker [1] and an
> engineer from relevant team will verify the fix and commit it to the trunk.
>
> Since this is a fix for ESB you can raise an issue in ESB project [2] and
> attach the patch there. Note that you will have to register in Oxygen Tank
> in order to be able to login to Jira.
>
> [1] - https://wso2.org/jira/secure/Dashboard.jspa
> [2] - https://wso2.org/jira/browse/ESBJAVA
> [3] - http://wso2.org/
>
> On Wed, Mar 6, 2013 at 10:18 PM, Kevin Sewell <[email protected]>wrote:
>
>> Hi Guys,
>>
>> Sorry if this not the right channel but I was wondering what the
>> procedure is to contribute patches and bug fixes.
>>
>> I have been experiencing a Heisenbug on the wso2esb 4.6.0 / stratos 1.6.0.
>>
>> It appears that the buggy code is in
>> org.wso2.carbon.proxyadmin.ProxyServiceDeployer.init(ConfigurationContext
>> configCtx). The while loop is waiting for the MediationPersistenceManager
>> to be initialized and I assume is supposed to retry 10 times which should
>> be *while(mpm == null && retry < 10)* . However, the conditional states 
>> *while(mpm
>> == null || retry < 10).* Which causes two problems, one very trivial,
>> the other not so much.
>>
>> 1) The while loop will always execute ten times
>> 2) The MediationPersistenceManager is initialised in
>> org.wso2.carbon.mediation.initializer.multitenancy.TenantServiceBusInitializer
>> and
>> the order in which TenantServiceBusInitializer or
>> ProxyAdminServiceComponent (or any other Axis2ConfigurationContextObserver)
>> gets invoked via
>> org.wso2.carbon.core.multitenancy.utils.TenantAxisUtils.createTenantConfigurationContext(ConfigurationContext
>> mainConfigCtx, String tenantDomain) is non-deterministic (from what I can
>> see).
>>
>> The problem here is that when the
>> TenantServiceBusInitializer.createdConfigurationContext(ConfigurationContext
>> configContext) is set to be invoked after
>> ProxyAdminServiceComponent..createdConfigurationContext(ConfigurationContext
>> configContext), due to the ordering of the array of services returned by
>> the org.osgi.util.tracker.ServiceTracker, the loop in
>> org.wso2.carbon.proxyadmin.ProxyServiceDeployer.init(ConfigurationContext
>> configCtx) never completes and TenantServiceBusInitializer.
>> createdConfigurationContext(ConfigurationContext configContext) is never
>> invoked.
>>
>> The user will then experience an exception when trying to access any of
>> the synapse component UIs because of a NullPointer thrown when the
>> associated Admin classes try to obtain a lock via
>> AbstractServiceBusAdmin.getLock()
>>
>> Many thanks,
>> Kevin
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Thanks,
> Shariq.
> Phone: +94 777 202 225
>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to