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

Exception im 'Alle Wertpapiere' Screen #273

Closed
guglegugle opened this issue Mar 31, 2015 · 8 comments
Closed

Exception im 'Alle Wertpapiere' Screen #273

guglegugle opened this issue Mar 31, 2015 · 8 comments
Labels

Comments

@guglegugle
Copy link

Hallo Benerich,
ich bekomme ab und an eine 'Comparison method violates its general contract!' Exception im 'Alle Wertpapiere' Screen. Tritt manchmal 10 mal hintereinander auf, dann aber wieder Tagelang nicht.
In der .log Datei steht folgendes:

!SESSION 2015-03-31 10:41:04.701 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_25
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Command-line arguments:  -os win32 -ws win32 -arch x86_64

!ENTRY org.eclipse.e4.ui.workbench 4 0 2015-03-31 10:43:03.855
!MESSAGE Internal Error
!STACK 0
java.lang.IllegalArgumentException: Comparison method violates its general contract!
    at java.util.TimSort.mergeLo(Unknown Source)
    at java.util.TimSort.mergeAt(Unknown Source)
    at java.util.TimSort.mergeCollapse(Unknown Source)
    at java.util.TimSort.sort(Unknown Source)
    at java.util.Arrays.sort(Unknown Source)
    at org.eclipse.jface.viewers.ViewerComparator.sort(ViewerComparator.java:189)
    at org.eclipse.jface.viewers.StructuredViewer.getSortedChildren(StructuredViewer.java:1061)
    at org.eclipse.jface.viewers.AbstractTableViewer.internalRefreshAll(AbstractTableViewer.java:667)
    at org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(AbstractTableViewer.java:615)
    at org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(AbstractTableViewer.java:607)
    at org.eclipse.jface.viewers.StructuredViewer$7.run(StructuredViewer.java:1500)
    at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1436)
    at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1397)
    at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1497)
    at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:521)
    at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1456)
    at name.abuchen.portfolio.ui.util.ColumnViewerSorter.setSorter(ColumnViewerSorter.java:270)
    at name.abuchen.portfolio.ui.util.ColumnViewerSorter$1.handleEvent(ColumnViewerSorter.java:234)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:164)
    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(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
@buchen buchen added the bug label Mar 31, 2015
@buchen
Copy link
Member

buchen commented Mar 31, 2015

Danke! Ich hoffe mit stack trace komme ich dem Ding auf die Spur :-)

@buchen
Copy link
Member

buchen commented Mar 31, 2015

Kannst Du mir sagen nach welcher Spalte die Ansicht sortiert ist? Ich vermute es tritt nur bei bestimmten Spalten auf.

@guglegugle
Copy link
Author

Ich hab meistens nach 'Name' oder 'Delta' sortiert. Im Moment kann ich es Dir nicht sagen worauf die Sortierung sagen, weil ich Die Exception schon bekomme wenn ich in den Screen reingehen will. Der bleibt dann leer. Kann ich die Einstellung in einer Config sehen?

@buchen
Copy link
Member

buchen commented Apr 1, 2015

Ich habe so einen Ahnung... Die Fehlermeldung bedeutet, der Sortieralogrithmus sei nicht stabil, d.h. wenn A > B und B > C ist, dann komme es zu einer Situation bei der nicht A > C gelte.

Wenn man nach "Delta" sortiert während die Kurse aktualisiert werden, dann könnte es zu einer solchen Situation kommen. 😦 Will check...

@guglegugle
Copy link
Author

Irgend sowas hab ich mir auch schon gedacht. In der .log Datei von heute hab ich noch FileNotFound Exceptions gefunden beim Kurs abfragen: z.B.

!MESSAGE DWS TOP DIVIDNDE LD
!SUBENTRY 2 name.abuchen.portfolio.ui 4 0 2015-04-01 11:50:19.554
!MESSAGE http://ichart.finance.yahoo.com/table.csv?ignore=.csv&s=HJUA.SG&a=2&b=5&c=2015&d=3&e=1&f=2015&g=d
!STACK 0
java.io.FileNotFoundException: http://ichart.finance.yahoo.com/table.csv?ignore=.csv&s=HJUA.SG&a=2&b=5&c=2015&d=3&e=1&f=2015&g=d
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at java.net.URL.openStream(Unknown Source)
    at name.abuchen.portfolio.online.impl.YahooFinanceQuoteFeed.openStream(YahooFinanceQuoteFeed.java:378)
    at name.abuchen.portfolio.online.impl.YahooFinanceQuoteFeed.openReader(YahooFinanceQuoteFeed.java:366)
    at name.abuchen.portfolio.online.impl.YahooFinanceQuoteFeed.internalGetQuotes(YahooFinanceQuoteFeed.java:232)
    at name.abuchen.portfolio.online.impl.YahooFinanceQuoteFeed.updateHistoricalQuotes(YahooFinanceQuoteFeed.java:164)
    at name.abuchen.portfolio.ui.UpdateQuotesJob.doUpdateHistoricalQuotes(UpdateQuotesJob.java:136)
    at name.abuchen.portfolio.ui.UpdateQuotesJob.run(UpdateQuotesJob.java:62)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!SUBENTRY 1 name.abuchen.portfolio.ui 4 4 2015-04-01 11:50:19.554

@buchen
Copy link
Member

buchen commented Apr 1, 2015

Dieser Fehler (FileNotFoundException bei einer Yahoo URL) tritt auf wenn unter dem Ticker Symbol (hier HJUA.SG) keine Kurse gefunden werden. Ich habe gerade gecheckt. Da gibt es tatsächlich keine. Dieser Fehler ist "normal" und heißt man muss nachschauen ob man die historischen Kurse woanders herbekommen kann.

@buchen
Copy link
Member

buchen commented Jul 16, 2015

Weitere (identischer) Stack Trace gemeldet: 😢

!ENTRY org.eclipse.e4.ui.workbench 4 0 2015-07-16 10:27:06.241
!MESSAGE Internal Error
!STACK 0
java.lang.IllegalArgumentException: Comparison method violates its general contract!
    at java.util.TimSort.mergeHi(Unknown Source)
    at java.util.TimSort.mergeAt(Unknown Source)
    at java.util.TimSort.mergeCollapse(Unknown Source)
    at java.util.TimSort.sort(Unknown Source)
    at java.util.Arrays.sort(Unknown Source)
    at org.eclipse.jface.viewers.ViewerComparator.sort(ViewerComparator.java:189)
    at org.eclipse.jface.viewers.StructuredViewer.getSortedChildren(StructuredViewer.java:1061)
    at org.eclipse.jface.viewers.AbstractTableViewer.internalRefreshAll(AbstractTableViewer.java:667)
    at org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(AbstractTableViewer.java:615)
    at org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(AbstractTableViewer.java:607)
    at org.eclipse.jface.viewers.AbstractTableViewer$1.run(AbstractTableViewer.java:567)
    at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1436)
    at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1397)
    at org.eclipse.jface.viewers.AbstractTableViewer.inputChanged(AbstractTableViewer.java:564)
    at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:292)
    at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1675)
    at name.abuchen.portfolio.ui.views.SecuritiesTable.setInput(SecuritiesTable.java:428)
    at name.abuchen.portfolio.ui.views.SecurityListView.setSecurityTableInput(SecurityListView.java:365)
    at name.abuchen.portfolio.ui.views.SecurityListView.createTopTable(SecurityListView.java:357)
    at name.abuchen.portfolio.ui.views.AbstractListView.createBody(AbstractListView.java:22)
    at name.abuchen.portfolio.ui.AbstractFinanceView.createViewControl(AbstractFinanceView.java:91)
    at name.abuchen.portfolio.ui.PortfolioPart.activateView(PortfolioPart.java:439)
    at name.abuchen.portfolio.ui.ClientEditorSidebar$ActivateViewAction.run(ClientEditorSidebar.java:63)
    at name.abuchen.portfolio.ui.Sidebar.select(Sidebar.java:237)
    at name.abuchen.portfolio.ui.Sidebar$Item$4.mouseDown(Sidebar.java:468)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:192)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:164)
    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(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1465)

@buchen
Copy link
Member

buchen commented Jul 26, 2015

Endlich gefunden. Und behoben. 😄

@buchen buchen closed this as completed Jul 26, 2015
@buchen buchen added this to the 2015 Q3 Release milestone Jul 26, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants