Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

There was an error fetching extended information for this repository (Unhandled event loop exception) #150

Open
jodzga opened this issue May 27, 2016 · 6 comments

Comments

@jodzga
Copy link

jodzga commented May 27, 2016

When I try to create a new query I am getting "Unhandled event loop exception":

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at org.review_board.ereviewboard.ui.ReviewboardUiUtil.refreshRepositoryData(ReviewboardUiUtil.java:104)
at org.review_board.ereviewboard.ui.wizard.ReviewboardQueryPage.updateRepositoryData(ReviewboardQueryPage.java:162)
at org.review_board.ereviewboard.ui.wizard.ReviewboardQueryPage.createControl(ReviewboardQueryPage.java:410)
at org.eclipse.jface.wizard.Wizard.createPageControls(Wizard.java:175)
at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:705)
at org.eclipse.jface.wizard.WizardDialog.createContents(WizardDialog.java:597)
at org.eclipse.jface.window.Window.create(Window.java:430)
at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1096)
at org.eclipse.mylyn.internal.tasks.ui.actions.NewQueryAction.run(NewQueryAction.java:92)
at org.eclipse.mylyn.internal.tasks.ui.actions.NewQueryAction.run(NewQueryAction.java:55)
at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:247)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4230)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1491)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1514)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1499)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1299)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4072)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3698)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
Caused by: java.lang.reflect.InvocationTargetException
at org.review_board.ereviewboard.ui.ReviewboardUiUtil$1.run(ReviewboardUiUtil.java:94)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
Caused by: org.review_board.ereviewboard.core.exception.ReviewboardApiException: There was an error fetching extended information for this repository.
at org.review_board.ereviewboard.core.client.RestfulReviewboardReader.checkedGetJSonRootObject(RestfulReviewboardReader.java:115)
at org.review_board.ereviewboard.core.client.RestfulReviewboardReader.readRepositoryInfo(RestfulReviewboardReader.java:298)
at org.review_board.ereviewboard.core.client.RestfulReviewboardClient.loadRepositoryInfo(RestfulReviewboardClient.java:247)
at org.review_board.ereviewboard.core.client.RestfulReviewboardClient.updateRepositoryData(RestfulReviewboardClient.java:437)
at org.review_board.ereviewboard.ui.ReviewboardUiUtil$1.run(ReviewboardUiUtil.java:92)
... 1 more

In the "Reviewboard Repository Settings" I can successfully validate settings.

I am using Reviewboard 2.0.18.

@jodzga
Copy link
Author

jodzga commented May 27, 2016

I looked deeper into it and found out that the problem is that for one of the queries made by the plugin ReveiwBoard server returns 500:
https://rbserver.com/api/repositories/9/info/
There are few others that return 200 e.g.:
https://rbserver.com/api/repositories/4/info/
https://rbserver.com/api/repositories/6/info/
It seems that the problem is on the server, not in the plugin.
It would be great if plugin could handle this problem gracefully but I don't know enough to determine if this information from the server is absolutely necessary for plugin to work or not.

@jodzga
Copy link
Author

jodzga commented May 28, 2016

Looked into it and it turns out that this is an expected behavior:
https://www.reviewboard.org/docs/manual/1.5/webapi/2.0/errors/210-repository-info-error/

I think a correct behavior for the plugin would be to ignore this error and continue. Is that possible?

@rombert
Copy link
Owner

rombert commented May 30, 2016

Thanks for the report. I may not be able to look into this soon. Can you verify the error on the server side related to that repository? This may be fixable by ignoring the error, but we may hit inconsistencies later on.

Seems related to #118

@jodzga
Copy link
Author

jodzga commented May 31, 2016

I verified that it is caused by repository. Visiting repository returns:

<D:error xmlns:D="DAV:" xmlns:m="http://apache.org/dav/xmlns" xmlns:C="svn:">
<C:error/>
<m:human-readable errcode="2">Could not open the requested SVN filesystem</m:human-readable>
</D:error>

It would be great if plugin could ignore it, perhaps try to re-fetch it later. In my case this is a legacy repo not used anymore so ignoring failures related to it is unlikely to cause problems but I don't know enough about ReviewBoard to say that ignoring 500 it is safe in general. On the other hand, one misconfigured/flaky repo renders plugin completely unusable.

@rombert rombert added this to the 0.13.5 milestone Aug 17, 2017
@rombert
Copy link
Owner

rombert commented Aug 17, 2017

Agreed we should be more robust here. Unfortunately I don't have the time to work on it myself. Contributions welcome :-)

@ssenegas
Copy link

+1 This issue still exist with Eclipse IDE for Java Developers
Version: 2022-03 (4.23.0)
Build id: 20220310-1457
Windows 10 64 bits
eReviewBoard 0.13.4 <-> Review Board 3.0.19

!ENTRY org.eclipse.ui 4 0 2022-06-13 14:19:03.056 !MESSAGE Unhandled event loop exception !STACK 0 java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at org.review_board.ereviewboard.ui.ReviewboardUiUtil.refreshRepositoryData(ReviewboardUiUtil.java:104) at org.review_board.ereviewboard.ui.wizard.ReviewboardQueryPage.updateRepositoryData(ReviewboardQueryPage.java:162) at org.review_board.ereviewboard.ui.wizard.ReviewboardQueryPage.createControl(ReviewboardQueryPage.java:410) at org.eclipse.jface.wizard.Wizard.createPageControls(Wizard.java:178) at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:743) at org.eclipse.jface.wizard.WizardDialog.createContents(WizardDialog.java:635) at org.eclipse.jface.window.Window.create(Window.java:431) at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1094) at org.eclipse.mylyn.internal.tasks.ui.wizards.NewRepositoryWizard$1.run(NewRepositoryWizard.java:181) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4035) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3635) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155) at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596) at org.eclipse.equinox.launcher.Main.run(Main.java:1467) Caused by: java.lang.reflect.InvocationTargetException at org.review_board.ereviewboard.ui.ReviewboardUiUtil$1.run(ReviewboardUiUtil.java:94) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122) Caused by: org.review_board.ereviewboard.core.exception.ReviewboardApiException: There was an error fetching extended information for this repository. at org.review_board.ereviewboard.core.client.RestfulReviewboardReader.checkedGetJSonRootObject(RestfulReviewboardReader.java:115) at org.review_board.ereviewboard.core.client.RestfulReviewboardReader.readRepositoryInfo(RestfulReviewboardReader.java:298) at org.review_board.ereviewboard.core.client.RestfulReviewboardClient.loadRepositoryInfo(RestfulReviewboardClient.java:247) at org.review_board.ereviewboard.core.client.RestfulReviewboardClient.updateRepositoryData(RestfulReviewboardClient.java:437) at org.review_board.ereviewboard.ui.ReviewboardUiUtil$1.run(ReviewboardUiUtil.java:92) ... 1 more

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants