... the user friendly GPS tool


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Speichern der Anzeigepositionen
#21
Moin,

das Problem ist aus der IDE nicht reproduzierbar. Egal ob ich es per "Run" einfach starte oder per "Debug" debugge. Der Fehler tritt nicht auf.

Nehme ich eine kompilierte Version von der Webseite tritt das Problem in ca. 8 von 10 Starts auf.
Dabei ist es egal ob es die aktuelle freigegebene Version oder die Vorabversion ist. Auch egal ist ob .exe oder .jar

Habe nun per "mvn clean package" eine Version erstellt inkl. dem Stack Dump.
Dort tritt der Fehler wieder auf.

Das ist das Log was dann kommt:
Code:
Apr 24, 2018 3:22:09 PM slash.navigation.converter.gui.RouteConverter$MapSplitPaneListener propertyChange
INFORMATION: Changed map divider to 1300
java.lang.Exception: Stack trace
       at java.lang.Thread.dumpStack(Unknown Source)
       at slash.navigation.converter.gui.RouteConverter$MapSplitPaneListener.propertyChange(RouteConverter.java:1158)
       at java.beans.PropertyChangeSupport.fire(Unknown Source)
       at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
       at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
       at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
       at java.awt.Component.firePropertyChange(Unknown Source)
       at javax.swing.JComponent.firePropertyChange(Unknown Source)
       at javax.swing.JSplitPane.setDividerLocation(Unknown Source)
       at slash.navigation.converter.gui.RouteConverter.setMapView(RouteConverter.java:442)
       at slash.navigation.converter.gui.RouteConverter$5$1.run(RouteConverter.java:389)
       at java.awt.event.InvocationEvent.dispatch(Unknown Source)
       at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
       at java.awt.EventQueue.access$500(Unknown Source)
       at java.awt.EventQueue$3.run(Unknown Source)
       at java.awt.EventQueue$3.run(Unknown Source)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
       at java.awt.EventQueue.dispatchEvent(Unknown Source)
       at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
       at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
       at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
       at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
       at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
       at java.awt.EventDispatchThread.run(Unknown Source)
Apr 24, 2018 3:22:09 PM slash.navigation.converter.gui.RouteConverter setMapView
INFORMATION: Initialized map divider to 1300
Apr 24, 2018 3:22:09 PM slash.navigation.converter.gui.RouteConverter$MapSplitPaneListener propertyChange
INFORMATION: Changed map divider to 17
java.lang.Exception: Stack trace
       at java.lang.Thread.dumpStack(Unknown Source)
       at slash.navigation.converter.gui.RouteConverter$MapSplitPaneListener.propertyChange(RouteConverter.java:1158)
       at java.beans.PropertyChangeSupport.fire(Unknown Source)
       at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
       at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
       at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
       at java.awt.Component.firePropertyChange(Unknown Source)
       at javax.swing.JComponent.firePropertyChange(Unknown Source)
       at javax.swing.JSplitPane.setDividerLocation(Unknown Source)
       at javax.swing.plaf.basic.BasicSplitPaneUI$BasicHorizontalLayoutManager.layoutContainer(Unknown Source)
       at java.awt.Container.layout(Unknown Source)
       at java.awt.Container.doLayout(Unknown Source)
       at java.awt.Container.validateTree(Unknown Source)
       at java.awt.Container.validateTree(Unknown Source)
       at java.awt.Container.validateTree(Unknown Source)
       at java.awt.Container.validateTree(Unknown Source)
       at java.awt.Container.validateTree(Unknown Source)
       at java.awt.Container.validateTree(Unknown Source)
       at java.awt.Container.validate(Unknown Source)
       at java.awt.Window.dispatchEventImpl(Unknown Source)
       at java.awt.Component.dispatchEvent(Unknown Source)
       at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
       at java.awt.EventQueue.access$500(Unknown Source)
       at java.awt.EventQueue$3.run(Unknown Source)
       at java.awt.EventQueue$3.run(Unknown Source)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
       at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
       at java.awt.EventQueue$4.run(Unknown Source)
       at java.awt.EventQueue$4.run(Unknown Source)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
       at java.awt.EventQueue.dispatchEvent(Unknown Source)
       at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
       at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
       at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
       at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
       at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
       at java.awt.EventDispatchThread.run(Unknown Source)
Apr 24, 2018 3:22:09 PM slash.navigation.download.performer.GetPerformer download
Man sieht sehr schön das er zuerst das Panel auf 1300 setzt. Diesen Wert hatte ich vorher eingestellt.
Dann wird der Wert anschließend wieder exakt auf 17 gesetzt.
Viele Grüße
Reply
#22
Da kommen sich das Setzen der Größe in meinem Code und das Swing-Rendering in die Quere. Ich habe gerade gesehen, dass der MapSplitPaneListener vor der Initialisierung der Karte und dem Setzen der DividerLocation passiert. Das hat den ersten Callback an den MapSplitPaneListener zur Folge, der wahrscheinlich ein erneutes Rendering auslöst.

Ich habe die Codezeile jetzt verschoben. Bitte hole doch mal meinen letzten Commit zu Dir herüber und teste.
--
Christian
Reply
#23
Hab es gerade getestet.

Problem ist immer noch da. Allerdings kommt nun nur noch ein Stack Dump weil wohl die Routine nur noch einmal durchlaufen wird:

Code:
Apr 25, 2018 3:34:57 PM slash.navigation.converter.gui.RouteConverter$6 run
INFORMATION: Initialized profile divider to 723
Apr 25, 2018 3:34:57 PM slash.navigation.converter.gui.RouteConverter setMapView
INFORMATION: Initialized map divider to 1306
Apr 25, 2018 3:34:57 PM slash.navigation.converter.gui.RouteConverter$MapSplitPaneListener propertyChange
INFORMATION: Changed map divider to 17
java.lang.Exception: Stack trace
       at java.lang.Thread.dumpStack(Unknown Source)
       at slash.navigation.converter.gui.RouteConverter$MapSplitPaneListener.propertyChange(RouteConverter.java:1157)
       at java.beans.PropertyChangeSupport.fire(Unknown Source)
       at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
       at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
       at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
       at java.awt.Component.firePropertyChange(Unknown Source)
       at javax.swing.JComponent.firePropertyChange(Unknown Source)
       at javax.swing.JSplitPane.setDividerLocation(Unknown Source)
       at javax.swing.plaf.basic.BasicSplitPaneUI$BasicHorizontalLayoutManager.layoutContainer(Unknown Source)
       at java.awt.Container.layout(Unknown Source)
       at java.awt.Container.doLayout(Unknown Source)
       at java.awt.Container.validateTree(Unknown Source)
       at java.awt.Container.validateTree(Unknown Source)
       at java.awt.Container.validateTree(Unknown Source)
       at java.awt.Container.validateTree(Unknown Source)
       at java.awt.Container.validateTree(Unknown Source)
       at java.awt.Container.validateTree(Unknown Source)
       at java.awt.Container.validate(Unknown Source)
       at java.awt.Window.dispatchEventImpl(Unknown Source)
       at java.awt.Component.dispatchEvent(Unknown Source)
       at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
       at java.awt.EventQueue.access$500(Unknown Source)
       at java.awt.EventQueue$3.run(Unknown Source)
       at java.awt.EventQueue$3.run(Unknown Source)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
       at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
       at java.awt.EventQueue$4.run(Unknown Source)
       at java.awt.EventQueue$4.run(Unknown Source)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
       at java.awt.EventQueue.dispatchEvent(Unknown Source)
       at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
       at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
       at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
       at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
       at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
       at java.awt.EventDispatchThread.run(Unknown Source)
Apr 25, 2018 3:34:57 PM slash.navigation.download.performer.GetPerformer download
INFORMATION: Download from https://api.routeconverter.com/v1/tileservers/?format=xml returned with status code 304 and content length null

"Initialized map divider to 1306": 1306 war der korrekte Wert auf den der Divider hätte landen sollen.

Viele Grüße
Reply
#24
(Yesterday, 14:37)wblcx Wrote: Problem ist immer noch da.

Nächste Idee: das Initialisieren des ProfileView überholt das Initialisieren des MapView.

Um die Reihefolge erst MapView dann ProfileView zu erhalten könntest Du die Zeile 347

Code:
openProfileView();

in RouteConverter#show

hinter Zeile 387

Code:
setMapView(getMapViewPreference());

verschieben und nochmals testen.
--
Christian
Reply
#25
Moin,

hab ich gemacht und der Fehler scheint weg zu sein.
Habe den RouteConverter 20x gestartet und jedes mal war es korrekt.


Viele Grüße und Danke!
Reply
#26
Bei mir auf einem älteren langsamen Rechner ist jetzt zuerst die Positionsliste zu sehen, dann nimmt sich die Karte Platz auf der linken Seite und dann das Profil Platz unten.

Zuvor kam das Fenster hoch mit der fertigen Aufteilung und nur die Karte benötigte noch Zeit fürs Initialisieren. Fühlte sich irgendwie fixer an.

Könntest Du mal ausprobieren,

openProfileView();

vor

setMapView(getMapViewPreference());

zu platzieren?
--
Christian
Reply
#27
Funktioniert bei mir auch.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)