Josm V. 11223

startet in etwa so auch bei mir. (Win7 64 bit).

Diesen Code hab ich in einer Textdatei mit dem Namen JOSM.bat:

java -jar -Xmx4G C:\Daten\gis\OSM_Erfassung\josm-tested.jar

Danke :sunglasses:

Sven

Bei deinem String kommt es hinter das -localfile, da das 32-bit-Java standardmäßig nur 256MB RAM zulässt, welches aber zu wenig ist für größere Daten.

“C:\Program Files\Java\jre1.8.0_111\bin\javaws.exe” -localfile -Xmx4G -J-Djnlp.application.href=https://josm.openstreetmap.de/download/josm.jnlp “C:\Users\User1\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\56\1ee8cfb8-64f332fb”

Dann sollten keine Speicherprobleme mehr auftreten.

Wenn ein 32bit-System sich nicht am 4G verschluckt, meines Wissens sind nur etwa 3,7 G möglich. Besser nur 3G zuweisen, das ist mit Sicherheit im grünen Bereich.
Aber 2G müssten auch locker reichen, meine 4 sind schon Luxus.

–ks

Mal abgesehen davon, dass bei 4 GB nicht mehr viel Platz für andere Prozesse bleibt. :wink:

Ich würde zudem die normale Version anstatt des Webstarts nehmen.

Wenn Du JOSM über die Kommandozeile startest und einen Abbruch bekommst, dann sollte es einen Traceback geben, der einen Hinweis
auf das Problem gibt. Am wahrscheinlichsten ist hier ein Plugin, welches (noch) nicht mit der neuen Version kompatibel ist.

Die werden ja nicht exklusiv JOSM zugewiesen, sondern das ist die Obergrenze. Der tatsächlich zugewiesene Speicher wird schon dynamisch nach Bedarf gehandhabt – auf vernümpftigen Betrübssystemen jedenfalls, weiß nicht, ob das bei Windoof auch so ist :slight_smile:

–ks

Hier bislang keine Probleme mit dieser Version. (Win-7.64)

Auf einem 32bit Windows ist der Heap für java auf maximal 1.4 bis 1.6 GB begrenzt.

http://www.oracle.com/technetwork/java/hotspotfaq-138619.html#gc_heap_32bit

Gruß Klaus

Da les ich, dass zwar theoretisch 4 GB möglich sind, auf den meisten 32bit-Windosen aber die Obergrenze wegen diverser systembedingter Umstände (natürlich braucht das Betrübssystem selbst auch noch Speicher) bei 1,4 bis 1,6 GB liegen wird. Da steht nicht, dass das prinzipiell auf jedem 32bit-Windows darauf begrenzt ist.

–ks

Sprachliche Interpretationen bei technischen Sachverhalten bringen nichts … mehr als 1536 MB java-Heap gehen unter 32bit-Windows nicht.

Gruß Klaus

Danke für eure Mühe!
Ich habe inzwischen den Xmx Parameter wie von simsidii beschrieben mit -Xmx1G eingebaut; hilft aber auch nichts.

Der Start von der JOSM Homepage "Launch josm.jnlp (version 11223) führt bei mir zuverlässig auf:

Da werde ich wohl dem Wunsch nach einer Fehlermeldung entsprechen müssen?

Irgendwie habe ich doch die Vermutung, dass bei einem der Updates zwischen 10168 und 11223 etwas mit der Speicherverwaltung schief gegangen ist (was sich evtl. nur bei Win32 zeigt). Denn - um es noch einmal zu wiederholen - mit der alten Version gab es (ohne Xmx Parameter, immer 32 bit) keinerlei Probleme, auch größere Datenmengen zu laden.
Wenn alles nicht greift, werde ich wohl oder übel versuchen, ein “downdate” zu machen.

Zeige uns bitte erst einmal die komplette Fehlermeldung. Dafür die drei Häkchen oben aktivieren und den gesamten Text kopieren.

Hier der gesamte Fehlertext:
{{{
URL:http://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2016-11-06 20:18:38 +0100 (Sun, 06 Nov 2016)
Build-Date:2016-11-06 21:45:03
Revision:11223
Relative:URL: ^/trunk

Identification: JOSM/1.5 (11223 de) Windows 8.1 32-Bit
Memory Usage: 137 MB / 247 MB (42 MB allocated, but free)
Java version: 1.8.0_111-b14, Oracle Corporation, Java HotSpot™ Client VM
Screen: \Display0 1920x1200, \Display1 1440x900
Maximum Screen Size: 1920x1200
VM arguments: [-Djava.security.manager, -Djava.security.policy=file:<java.home>\lib\security\javaws.policy, -DtrustProxy=true, -Djnlpx.home=<java.home>\bin, -Djnlpx.origFilenameArg=%UserProfile%\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\56\1ee8cfb8-64f332fb, -Djnlpx.remove=false, -Djava.util.Arrays.useLegacyMergeSort=true, -Djnlpx.splashport=61220, -Djnlp.application.href=https://josm.openstreetmap.de/download/josm.jnlp, -Djnlpx.jvm=<java.home>\bin\javaw.exe, -Djnlpx.vmargs=LURqYXZhLnV0aWwuQXJyYXlzLnVzZUxlZ2FjeU1lcmdlU29ydD10cnVlAC1Eam5scC5hcHBsaWNhdGlvbi5ocmVmPWh0dHBzOi8vam9zbS5vcGVuc3RyZWV0bWFwLmRlL2Rvd25sb2FkL2pvc20uam5scAA=]

Plugins:

  • DirectDownload (32309)
  • DirectUpload (32158)
  • FastDraw (32309)
  • HouseNumberTaggingTool (32309)
  • RoadSigns (32309)
  • apache-commons (32584)
  • apache-http (32584)
  • auto_tools (1479831713)
  • contourmerge (1014)
  • jts (32539)
  • log4j (32309)
  • public_transport (32309)
  • reverter (32309)
  • scripting (30723)
  • turnrestrictions (32158)
  • utilsplugin2 (33088)

Tagging presets:

Map paint styles:

Last errors/warnings:

  • W: java.util.zip.ZipException: error in opening zip file
  • W: PluginException: : org.openstreetmap.josm.plugins.PluginException: Ungültige JAR-Datei ‘<josm.pref>\plugins\geotools.jar.new’
  • W: Durchsuchen der Datei »geotools.jar.new« nach Erweiterungsinformationen ist fehlgeschlagen. Datei wird übersprungen.
  • W: Installation der Erweiterung <josm.pref>\plugins\geotools.jar aus der temporären Datei ‘<josm.pref>\plugins\geotools.jar.new’ ist fehlgeschlagen. error in opening zip file: java.util.zip.ZipException: error in opening zip file
  • E: Fehler beim Laden des Bildes ‘styles/standard/health/pharmacy.png’
  • W: [NODE, CLOSEDWAY] Pharmacy: Could not get presets icon styles/standard/health/pharmacy.png
  • E: Handled by bug report queue: java.lang.NoClassDefFoundError: org/openstreetmap/josm/gui/MapView$LayerChangeListener. Ursache: java.lang.ClassNotFoundException: org.openstreetmap.josm.gui.MapView$LayerChangeListener

=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-2 (54) of javawsApplicationThreadGroup
java.lang.NoClassDefFoundError: org/openstreetmap/josm/gui/MapView$LayerChangeListener
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.privateGetMethodRecursive(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at org.openstreetmap.josm.plugins.PluginProxy.addDownloadSelection(PluginProxy.java:71)
at org.openstreetmap.josm.plugins.PluginHandler.addDownloadSelection(PluginHandler.java:1122)
at org.openstreetmap.josm.gui.download.DownloadDialog.buildMainPanel(DownloadDialog.java:121)
at org.openstreetmap.josm.gui.download.DownloadDialog.(DownloadDialog.java:219)
at org.openstreetmap.josm.gui.download.DownloadDialog.(DownloadDialog.java:207)
at org.openstreetmap.josm.gui.download.DownloadDialog.getInstance(DownloadDialog.java:65)
at org.openstreetmap.josm.actions.DownloadAction.actionPerformed(DownloadAction.java:43)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(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)
Caused by: java.lang.ClassNotFoundException: org.openstreetmap.josm.gui.MapView$LayerChangeListener
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
… 60 more

=== RUNNING THREADS ===
Thread: AWT-Shutdown (53) of system
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
sun.awt.AWTAutoShutdown.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: Thread-15 (45) of javawsApplicationThreadGroup
sun.nio.fs.WindowsNativeDispatcher.GetQueuedCompletionStatus0(Native Method)
sun.nio.fs.WindowsNativeDispatcher.GetQueuedCompletionStatus(Unknown Source)
sun.nio.fs.WindowsWatchService$Poller.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: AWT-EventQueue-2 (54) of javawsApplicationThreadGroup
Stacktrace see above.

Thread: Java2D Disposer (10) of system
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
sun.java2d.Disposer.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: RemoteControl HTTPS Server (70) of javawsApplicationThreadGroup
java.net.DualStackPlainSocketImpl.accept0(Native Method)
java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source)
java.net.AbstractPlainSocketImpl.accept(Unknown Source)
java.net.PlainSocketImpl.accept(Unknown Source)
java.net.ServerSocket.implAccept(Unknown Source)
sun.security.ssl.SSLServerSocketImpl.accept(Unknown Source)
org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpsServer.run(RemoteControlHttpsServer.java:406)

Thread: MemoryCache-DelayedCleanup (19) of javawsSecurityThreadGroup
java.lang.Object.wait(Native Method)
java.util.TimerThread.mainLoop(Unknown Source)
java.util.TimerThread.run(Unknown Source)

Thread: AWT-Windows (12) of system
sun.awt.windows.WToolkit.eventLoop(Native Method)
sun.awt.windows.WToolkit.run(Unknown Source)

Thread: CacheCleanUpThread (21) of javawsSecurityThreadGroup
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
com.sun.deploy.cache.CleanupThread.run(Unknown Source)

Thread: CacheMemoryCleanUpThread (18) of javawsSecurityThreadGroup
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
com.sun.deploy.cache.MemoryCache$LoadedResourceCleanupThread.run(Unknown Source)

Thread: Reference Handler (2) of system
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
java.lang.ref.Reference.tryHandlePending(Unknown Source)
java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)

Thread: Nashorn AST Serializer (64) of javawsApplicationThreadGroup
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.pollFirst(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.poll(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: Timer-1 (67) of javawsApplicationThreadGroup
java.lang.Object.wait(Native Method)
java.util.TimerThread.mainLoop(Unknown Source)
java.util.TimerThread.run(Unknown Source)

Thread: Image Fetcher 0 (66)
java.lang.Object.wait(Native Method)
sun.awt.image.ImageFetcher.nextImage(Unknown Source)
sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
sun.awt.image.ImageFetcher.run(Unknown Source)

Thread: RemoteControl HTTP Server (68) of javawsApplicationThreadGroup
java.net.DualStackPlainSocketImpl.accept0(Native Method)
java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source)
java.net.AbstractPlainSocketImpl.accept(Unknown Source)
java.net.PlainSocketImpl.accept(Unknown Source)
java.net.ServerSocket.implAccept(Unknown Source)
java.net.ServerSocket.accept(Unknown Source)
org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:103)

Thread: Nashorn AST Serializer (65) of javawsApplicationThreadGroup
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.pollFirst(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.poll(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: Javaws Secure Thread (15) of javawsSecurityThreadGroup
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
com.sun.javaws.ui.JavawsSysRun$SecureThread.run(Unknown Source)

Thread: Attach Listener (5) of system

Thread: Timer-2 (74) of javawsApplicationThreadGroup
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
java.util.TimerThread.mainLoop(Unknown Source)
java.util.TimerThread.run(Unknown Source)

Thread: Signal Dispatcher (4) of system

Thread: traceMsgQueueThread (8) of main
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
com.sun.deploy.trace.Trace$TraceMsgQueueChecker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: message-notifier-0 (73) of javawsApplicationThreadGroup
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: RemoteControl HTTPS Server (71) of javawsApplicationThreadGroup
java.net.DualStackPlainSocketImpl.accept0(Native Method)
java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source)
java.net.AbstractPlainSocketImpl.accept(Unknown Source)
java.net.PlainSocketImpl.accept(Unknown Source)
java.net.ServerSocket.implAccept(Unknown Source)
sun.security.ssl.SSLServerSocketImpl.accept(Unknown Source)
org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpsServer.run(RemoteControlHttpsServer.java:406)

Thread: TimerQueue (56) of javawsApplicationThreadGroup
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
java.util.concurrent.DelayQueue.take(Unknown Source)
javax.swing.TimerQueue.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: Keep-Alive-Timer (24)
java.lang.Thread.sleep(Native Method)
sun.net.www.http.KeepAliveCache.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: RemoteControl HTTP Server (69) of javawsApplicationThreadGroup
java.net.DualStackPlainSocketImpl.accept0(Native Method)
java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source)
java.net.AbstractPlainSocketImpl.accept(Unknown Source)
java.net.PlainSocketImpl.accept(Unknown Source)
java.net.ServerSocket.implAccept(Unknown Source)
java.net.ServerSocket.accept(Unknown Source)
org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:103)

Thread: Finalizer (3) of system
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

Thread: File Watcher (46) of javawsApplicationThreadGroup
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.takeFirst(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.take(Unknown Source)
sun.nio.fs.AbstractWatchService.take(Unknown Source)
org.openstreetmap.josm.io.FileWatcher.processEvents(FileWatcher.java:114)
org.openstreetmap.josm.io.FileWatcher$$Lambda$12/2026952.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: DestroyJavaVM (17) of main
}}}

Vermutlich irgendein altes Plugin, das von einer Interface-Änderung am LayerChangeListener noch nichts mitbekommen hat.

Ich würde mal das Plugin-Verzeichnis umbenennen und nochmal probieren.

Das war der entscheidende Hinweis! Danke mmd!
Jetzt bleibt nur noch abzuwarten, ob sich JOSM bei größeren Datenmengen doch noch wieder aufhängt.

So, nach mehreren Versuchen mit -Xmx1G steht fest, JOSM stürzt immer noch ab, wenn man eine Weile editiert hat. Der Anfangsfehler (#19) wurde allerdings entsprechend mmd beseitigt. Habe jetzt mal -Xmx2G eingebaut. Mal sehen, ob’s hilft.

Hast Du denn mal probiert die jar zu verwenden?

Ich habe gestern Abend gesehen, dass der Java Web Start das -Xmx ignoriert, ich lad mir jetzt auch die .jar direkt runter

Das geht schon auch mit Java Webstart, allerdings muss man dazu das .jnlp herunterladen, im Texteditor entsprechend anpassen und dann mit dem abgeänderten .jnlp arbeiten, siehe https://josm.openstreetmap.de/ticket/10213

Weil das alles recht unschönes Gefrickele ist mit etwas Aufwand verbunden ist, sollte die Seite josm.openstreetmap.de am besten gleich einige zusätzliche alternative Web Start-Links anbieten, in denen der maximale Speicher bereits auf den angekündigten Wert vorbelegt wurde. Dann gilt’s nur noch den passenden Link zu klicken und gut is.

Das habe ich jetzt auch gemacht, -Xmx1G eingebaut und - ganz vorsichtig formuliert - es funktioniert!
Bin erst mal zufrieden.

Danke an alle.
Reinhard