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
