Bug 408761 - ArrayIndexOutOfBoundsException when opening a review
Summary: ArrayIndexOutOfBoundsException when opening a review
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Mylyn (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows 7
: P2 minor (vote)
Target Milestone: 2.0   Edit
Assignee: Miles Parker CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-22 17:51 EDT by Tomasz Zarna CLA
Modified: 2013-07-12 12:13 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tomasz Zarna CLA 2013-05-22 17:51:55 EDT
I'm on Mylyn Reviews 2.0.0.I20130506-1308.

I use a feature that allows me to open gerrit links in Task Editor rather than in my browser. This is what happened when clicking on a gerrit link:

java.lang.ArrayIndexOutOfBoundsException: 5
	at org.eclipse.emf.common.util.BasicEList.assign(BasicEList.java:118)
	at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:418)
	at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:301)
	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl$EAdapterList.add(BasicNotifierImpl.java:193)
	at org.eclipse.mylyn.reviews.core.spi.remote.emf.RemoteEmfConsumer.<init>(RemoteEmfConsumer.java:119)
	at org.eclipse.mylyn.reviews.core.spi.remote.emf.AbstractRemoteEmfFactory.getConsumerForRemoteKey(AbstractRemoteEmfFactory.java:122)
	at org.eclipse.mylyn.internal.gerrit.core.remote.GerritRemoteFactoryProvider.pullUser(GerritRemoteFactoryProvider.java:71)
	at org.eclipse.mylyn.internal.gerrit.core.remote.GerritReviewRemoteFactory.pull(GerritReviewRemoteFactory.java:102)
	at org.eclipse.mylyn.internal.gerrit.core.remote.GerritReviewRemoteFactory.pull(GerritReviewRemoteFactory.java:1)
	at org.eclipse.mylyn.reviews.core.spi.remote.emf.RemoteEmfConsumer.pull(RemoteEmfConsumer.java:154)
	at org.eclipse.mylyn.reviews.core.spi.remote.JobRemoteService$1$1.run(JobRemoteService.java:63)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Comment 1 Miles Parker CLA 2013-05-22 18:21:45 EDT
Is this still happening with latest master?
Comment 2 Tomasz Zarna CLA 2013-05-27 15:51:33 EDT
Now I get a different exception:

java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "$Proxy16.changeDetail(Lcom/google/gerrit/reviewdb/Change$Id;Lcom/google/gwt/user/client/rpc/AsyncCallback;)V" the class loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) of the current class, $Proxy16, and the class loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) for interface com/google/gerrit/common/data/ChangeDetailService have different Class objects for the type cCallback;)V used in the signature
	at java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404)
	at java.lang.Class.getConstructor0(Class.java:2714)
	at java.lang.Class.getConstructor(Class.java:1674)
	at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:607)
	at org.eclipse.mylyn.internal.gerrit.core.client.GerritService.create(GerritService.java:58)
	at org.eclipse.mylyn.internal.gerrit.core.client.GerritClient.getService(GerritClient.java:905)
	at org.eclipse.mylyn.internal.gerrit.core.client.GerritClient.getChangeDetailService(GerritClient.java:802)
	at org.eclipse.mylyn.internal.gerrit.core.client.GerritClient.access$3(GerritClient.java:801)
	at org.eclipse.mylyn.internal.gerrit.core.client.GerritClient$4.execute(GerritClient.java:292)
	at org.eclipse.mylyn.internal.gerrit.core.client.GerritClient.executeOnce(GerritClient.java:887)
	at org.eclipse.mylyn.internal.gerrit.core.client.GerritClient.execute(GerritClient.java:873)
	at org.eclipse.mylyn.internal.gerrit.core.client.GerritClient.getChangeDetail(GerritClient.java:289)
	at org.eclipse.mylyn.internal.gerrit.core.client.GerritClient.getChange(GerritClient.java:459)
	at org.eclipse.mylyn.internal.gerrit.core.GerritTaskDataHandler.getTaskData(GerritTaskDataHandler.java:98)
	at org.eclipse.mylyn.internal.gerrit.core.GerritConnector.getTaskData(GerritConnector.java:156)
	at org.eclipse.mylyn.internal.tasks.ui.OpenRepositoryTaskJob.run(OpenRepositoryTaskJob.java:112)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Comment 3 Miles Parker CLA 2013-05-28 18:52:32 EDT
Okay, this is a genuinely odd one -- it does *not* appear to be related to life-cycle issues.
Comment 4 Steffen Pingel CLA 2013-05-28 18:57:54 EDT
It looks like this was introduced by the framework changes. Let's keep it on the milestone for now until we have determined how to handle it.
Comment 5 Miles Parker CLA 2013-06-10 18:58:29 EDT
This appears to be working fine under current master. It looks like it may have been caused by a concurrency issue which should all have been resolved. Tomek, please confirm on master and reopen if you see an issue.
Comment 6 Tomasz Zarna CLA 2013-07-12 06:50:48 EDT
Got it again, running of master (c603cfc349a6deed355ea6388166665d71c8fb96), starting Eclipse with a review already open.

java.lang.ArrayIndexOutOfBoundsException: 2
	at org.eclipse.emf.common.util.BasicEList.assign(BasicEList.java:118)
	at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:418)
	at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:301)
	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl$EAdapterList.add(BasicNotifierImpl.java:193)
	at org.eclipse.mylyn.reviews.core.spi.remote.emf.RemoteEmfConsumer.<init>(RemoteEmfConsumer.java:124)
	at org.eclipse.mylyn.reviews.core.spi.remote.emf.AbstractRemoteEmfFactory.getConsumerForLocalKey(AbstractRemoteEmfFactory.java:183)
	at org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetContentIdRemoteFactory.pull(PatchSetContentIdRemoteFactory.java:40)
	at org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetContentIdRemoteFactory.pull(PatchSetContentIdRemoteFactory.java:1)
	at org.eclipse.mylyn.reviews.core.spi.remote.emf.RemoteEmfConsumer.pull(RemoteEmfConsumer.java:164)
	at org.eclipse.mylyn.reviews.core.spi.remote.JobRemoteService$1.run(JobRemoteService.java:60)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Comment 7 Tomasz Zarna CLA 2013-07-12 06:52:16 EDT
Except for the error I don't see any negative side effects, lowering severity to 'minor'.
Comment 8 Steffen Pingel CLA 2013-07-12 09:53:51 EDT
Since 2.0 was already released we should treat this a new problem. Tomek, can you file a new bug and attach the updated stack trace?
Comment 9 Tomasz Zarna CLA 2013-07-12 12:13:57 EDT
Here you go: bug 412873.