Bug 812261

Summary: Authorization infrastructure (org.eclipse.core.runtime.compatibility.auth) not installed.
Product: [Fedora] Fedora Reporter: Krzysztof Daniel <kdaniel>
Component: eclipse-mylyn-tasksAssignee: Krzysztof Daniel <kdaniel>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 17CC: akurtako, mbenitez, mziaei, overholt, sgehwolf, swagiaal, zx
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: eclipse-mylyn-commons-3.7.0-9.fc17 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-04-25 05:00:43 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 811953    
Bug Blocks: 811944    

Description Krzysztof Daniel 2012-04-13 09:08:22 UTC
java.lang.ClassNotFoundException: org.eclipse.core.internal.runtime.auth.AuthorizationDatabase
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:186)
	at org.eclipse.core.internal.runtime.AuthorizationHandler.getAuthClass(AuthorizationHandler.java:51)
	at org.eclipse.core.internal.runtime.AuthorizationHandler.loadKeyring(AuthorizationHandler.java:72)
	at org.eclipse.core.internal.runtime.AuthorizationHandler.getAuthorizationInfo(AuthorizationHandler.java:265)
	at org.eclipse.core.runtime.Platform.getAuthorizationInfo(Platform.java:634)
	at org.eclipse.mylyn.tasks.core.TaskRepository.getAuthInfo(TaskRepository.java:420)
	at org.eclipse.mylyn.tasks.core.TaskRepository.getCredentials(TaskRepository.java:499)
	at org.eclipse.mylyn.internal.tasks.core.TaskRepositoryLocation.getCredentials(TaskRepositoryLocation.java:59)
	at org.eclipse.mylyn.commons.net.WebUtil.createHostConfiguration(WebUtil.java:281)
	at org.eclipse.mylyn.internal.trac.core.client.TracWebClient$Request.execute(TracWebClient.java:227)
	at org.eclipse.mylyn.internal.trac.core.client.TracWebClient.connect(TracWebClient.java:359)
	at org.eclipse.mylyn.internal.trac.core.client.TracWebClient.search(TracWebClient.java:472)
	at org.eclipse.mylyn.internal.trac.core.TracRepositoryConnector.performQuery(TracRepositoryConnector.java:487)
	at org.eclipse.mylyn.internal.tasks.core.sync.SynchronizeQueriesJob.synchronizeQuery(SynchronizeQueriesJob.java:311)
	at org.eclipse.mylyn.internal.tasks.core.sync.SynchronizeQueriesJob.synchronizeQueries(SynchronizeQueriesJob.java:268)
	at org.eclipse.mylyn.internal.tasks.core.sync.SynchronizeQueriesJob.run(SynchronizeQueriesJob.java:201)
	at org.eclipse.mylyn.internal.tasks.core.sync.SynchronizeRepositoriesJob.updateQueries(SynchronizeRepositoriesJob.java:186)
	at org.eclipse.mylyn.internal.tasks.core.sync.SynchronizeRepositoriesJob.run(SynchronizeRepositoriesJob.java:142)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

Comment 1 Krzysztof Daniel 2012-04-13 12:25:58 UTC
Mylyn uses the old compatibility mechanism (shame on you, mylyn), which was removed from Eclipse 4.1.

It looks like mylyn-commons must build and bundle that plugin. I have the patch ready.

Comment 2 Severin Gehwolf 2012-04-13 13:33:25 UTC
This seems to be a problem with the o.e.mylyn.tasks.trac plug-in, changing component. I'm not sure if including that deprecated plug-in is the way to go. If really required I'd suggest to bundle this less prominently in mylyn-tasks. Thoughts?

Comment 3 Krzysztof Daniel 2012-04-13 14:03:04 UTC
See the related bugs. Unfortunately mylyn relies on that plugin for all tasks - and I guess even for task repositories. Without that plugin (and mylyn compatibility feature) mylyn is practically unusable. I have the fix for this ready - just the other libraries (low-level ones) have to be updated first.

Comment 4 Alexander Kurtakov 2012-04-17 10:56:11 UTC
If we have to ship this compat library it should be shipped with the package it originates from - eclipse-(rpc|platform?). The code was never part of mylyn itself and should never be part of mylyn package too.

Comment 5 Alexander Kurtakov 2012-04-17 10:57:32 UTC
And the ideal fix is to fix mylyn to not depend on the compat package. Does anyone checked what amount of effort would be needed it might be even done upstream already in their preparation for 4.x ?

Comment 6 Krzysztof Daniel 2012-04-17 11:18:14 UTC
(In reply to comment #4)
> and should never be part of mylyn package too.
The usual policy is that if you do not keep up with upstream, you have to maintain the library by yourself. Platform dropped that bundle because it was a very old API that nobody should be using - all projects should had been migrated to Equinox Secure Storage. Apparently mylyn had not. What's more, the compatibility auth plugin is right now a part of mylyn compatibility feature, which looks like it belongs to mylyn right now. Additionally, I do not want to penalize platform for mylyn not staying up to date. Also, compatibility plugin is a plugin, cannot be built with an eclipse-pdebuild without a feature :-(.


(In reply to comment #5)
> And the ideal fix is to fix mylyn to not depend on the compat package. Does
> anyone checked what amount of effort would be needed it might be even done
> upstream already in their preparation for 4.x ?

It looks like mylyn commiters already have patches, that were even released (see bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=278474), but they do not have time to check if they will be backward compatible.

Comment 7 Alexander Kurtakov 2012-04-17 11:35:58 UTC
(In reply to comment #6)
> (In reply to comment #4)
> > and should never be part of mylyn package too.
> The usual policy is that if you do not keep up with upstream, you have to
> maintain the library by yourself. Platform dropped that bundle because it was a
> very old API that nobody should be using - all projects should had been
> migrated to Equinox Secure Storage. Apparently mylyn had not. What's more, the
> compatibility auth plugin is right now a part of mylyn compatibility feature,
> which looks like it belongs to mylyn right now. Additionally, I do not want to
> penalize platform for mylyn not staying up to date. Also, compatibility plugin
> is a plugin, cannot be built with an eclipse-pdebuild without a feature :-(.

If the plugin in question is now in mylyn - fine. But if this wasn't the case we were not allowed to mix them as per Fedora rules.

> 
> 
> (In reply to comment #5)
> > And the ideal fix is to fix mylyn to not depend on the compat package. Does
> > anyone checked what amount of effort would be needed it might be even done
> > upstream already in their preparation for 4.x ?
> 
> It looks like mylyn commiters already have patches, that were even released
> (see bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=278474), but they do not
> have time to check if they will be backward compatible.

Comment 8 Krzysztof Daniel 2012-04-17 11:50:08 UTC
(In reply to comment #7)

> If the plugin in question is now in mylyn - fine. But if this wasn't the case we
> were not allowed to mix them as per Fedora rules.
Technically speaking:
compatibility.auth plugin is not in mylyn repository. But it is shipped as a part of 
http://git.eclipse.org/c/cbi/org.eclipse.mylyn.commons.git/tree/org.eclipse.mylyn.commons.compatibility-feature, and nothing else.

Is it enough to claim mylyn ownership?

Comment 9 Fedora Update System 2012-04-17 13:33:45 UTC
eclipse-mylyn-commons-3.7.0-9.fc17,eclipse-mylyn-3.7.0-3.fc17,eclipse-mylyn-builds-3.7.0-2.fc17,eclipse-mylyn-tasks-3.7.0-3.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/eclipse-mylyn-commons-3.7.0-9.fc17,eclipse-mylyn-3.7.0-3.fc17,eclipse-mylyn-builds-3.7.0-2.fc17,eclipse-mylyn-tasks-3.7.0-3.fc17

Comment 10 Fedora Update System 2012-04-18 22:14:30 UTC
Package eclipse-mylyn-commons-3.7.0-9.fc17, eclipse-mylyn-3.7.0-3.fc17, eclipse-mylyn-builds-3.7.0-2.fc17, eclipse-mylyn-tasks-3.7.0-3.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing eclipse-mylyn-commons-3.7.0-9.fc17 eclipse-mylyn-3.7.0-3.fc17 eclipse-mylyn-builds-3.7.0-2.fc17 eclipse-mylyn-tasks-3.7.0-3.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-6159/eclipse-mylyn-commons-3.7.0-9.fc17,eclipse-mylyn-3.7.0-3.fc17,eclipse-mylyn-builds-3.7.0-2.fc17,eclipse-mylyn-tasks-3.7.0-3.fc17
then log in and leave karma (feedback).

Comment 11 Fedora Update System 2012-04-25 05:00:43 UTC
eclipse-mylyn-commons-3.7.0-9.fc17, eclipse-mylyn-3.7.0-3.fc17, eclipse-mylyn-builds-3.7.0-2.fc17, eclipse-mylyn-tasks-3.7.0-3.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.