Universal Plugin Manager stops working after upgrading it to version 2.7 or greater
Symptoms
Updates cannot be retrieved for plugins nor can new plugins be browsed via the Universal Plugin Manager.
The following appears in the atlassian-confluence.log
:
2012-10-23 11:04:50,830 ERROR [scheduler_Worker-2] [org.quartz.core.JobRunShell] run Job pluginSchedulerJobGroup.NotificationCacheUpdateJob-job threw an unhandled Exception:
java.lang.NoClassDefFoundError: org/ietf/jgss/GSSException
at org.apache.http.impl.auth.SPNegoSchemeFactory.newInstance(SPNegoSchemeFactory.java:55)
at org.apache.http.auth.AuthSchemeRegistry.getAuthScheme(AuthSchemeRegistry.java:114)
at org.apache.http.impl.client.AuthenticationStrategyImpl.select(AuthenticationStrategyImpl.java:180)
at org.apache.http.impl.client.HttpAuthenticator.authenticate(HttpAuthenticator.java:139)
at org.apache.http.impl.client.DefaultRequestDirector.createTunnelToTarget(DefaultRequestDirector.java:913)
at org.apache.http.impl.client.DefaultRequestDirector.establishRoute(DefaultRequestDirector.java:818)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:644)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
at org.apache.http.impl.client.cache.CachingHttpClient.callBackend(CachingHttpClient.java:720)
at org.apache.http.impl.client.cache.CachingHttpClient.handleCacheMiss(CachingHttpClient.java:502)
at org.apache.http.impl.client.cache.CachingHttpClient.execute(CachingHttpClient.java:434)
at org.apache.http.impl.client.cache.CachingHttpClient.execute(CachingHttpClient.java:353)
at com.atlassian.marketplace.client.impl.CommonsHttpHelper.executeMethod(CommonsHttpHelper.java:143)
at com.atlassian.marketplace.client.impl.CommonsHttpHelper.get(CommonsHttpHelper.java:86)
at com.atlassian.marketplace.client.impl.DefaultMarketplaceClient.getEntity(DefaultMarketplaceClient.java:118)
at com.atlassian.marketplace.client.impl.DefaultMarketplaceClient.getRoot(DefaultMarketplaceClient.java:113)
at com.atlassian.marketplace.client.impl.DefaultMarketplaceClient.applications(DefaultMarketplaceClient.java:98)
at com.atlassian.upm.pac.PacClientImpl.unknown(PacClientImpl.java:181)
at com.atlassian.upm.pac.PacClientImpl.forgetPacReachableState(PacClientImpl.java:212)
at com.atlassian.upm.notification.cache.NotificationCacheUpdaterImpl.updatePluginUpdateNotification(NotificationCacheUpdaterImpl.java:91)
at com.atlassian.upm.notification.cache.NotificationCacheUpdaterImpl.updateAllNotifications(NotificationCacheUpdaterImpl.java:62)
at com.atlassian.upm.notification.cache.NotificationCacheUpdateScheduler$NotificationCacheUpdateJob.execute(NotificationCacheUpdateScheduler.java:78)
at com.atlassian.sal.confluence.scheduling.ConfluencePluginScheduler$ConfluencePluginJob.execute(ConfluencePluginScheduler.java:99)
at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
at com.atlassian.confluence.schedule.quartz.ConfluenceQuartzThreadPool$1.run(ConfluenceQuartzThreadPool.java:20)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
Caused by: java.lang.ClassNotFoundException: org.ietf.jgss.GSSException
at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:772)
at org.apache.felix.framework.ModuleImpl.access$200(ModuleImpl.java:73)
at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1690)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 27 more
Cause
There is an NTLM based proxy in place between Confluence and the internet
Workaround
The Cntlm Authentication Proxy can be used to forward requests coming from Confluence through the proxy
Resolution
As NTLM proxies are not supported for Confluence, a solution within the product is not guaranteed. See the bug report, When using NTLM proxy, NoClassDefFoundError for class /ietf/jgss/GSSException, for more details.