Modify

Opened 6 years ago

Closed 6 years ago

#18406 closed defect (irreproducible)

StackOverflowError at AbstractTileSourceLayer$TileSet.lambda$tilePositions$2

Reported by: anonymous Owned by: Don-vip
Priority: critical Milestone:
Component: Core imagery Version:
Keywords: template_report 32bit Cc:

Description

What steps will reproduce the problem?

What is the expected result?

What happens instead?

Please provide any additional information below. Attach a screenshot if possible.

URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2019-12-01 23:10:15 +0100 (Sun, 01 Dec 2019)
Build-Date:2019-12-02 02:30:57
Revision:15553
Relative:URL: ^/trunk

Identification: JOSM/1.5 (15553 fr) Windows 10 64-Bit
OS Build number: Windows 10 Enterprise 1809 (17763)
Memory Usage: 365 MB / 989 MB (159 MB allocated, but free)
Java version: 1.8.0_211-b12, Oracle Corporation, Java HotSpot(TM) Client VM
Screen: \Display0 1680x1050
Maximum Screen Size: 1680x1050
Dataset consistency test: No problems found

Plugins:
+ DirectDownload (35221)
+ Mapillary (1.5.20)
+ OpeningHoursEditor (35242)
+ apache-commons (35092)
+ apache-http (34908)
+ auto_tools (73)
+ cadastre-fr (35194)
+ ejml (35122)
+ geotools (35169)
+ jaxb (35014)
+ jna (34908)
+ jts (35122)
+ measurement (35221)
+ michigan_left (34908)
+ opendata (35179)
+ public_transport (35221)
+ rex (53)
+ utilsplugin2 (35238)

Last errors/warnings:
- W: No configuration settings found.  Using hardcoded default values for all pools.
- E: Handled by bug report queue: java.lang.StackOverflowError. Cause : java.lang.StackOverflowError
- E: Handled by bug report queue: java.lang.OutOfMemoryError: unable to create new native thread


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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (15) of main
java.lang.StackOverflowError
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at java.util.concurrent.ForkJoinTask.getThrowableException(Unknown Source)
	at java.util.concurrent.ForkJoinTask.reportException(Unknown Source)
	at java.util.concurrent.ForkJoinTask.invoke(Unknown Source)
	at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(Unknown Source)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(Unknown Source)
	at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
	at java.util.stream.ReferencePipeline.forEach(Unknown Source)
	at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer$TileSet.visitTiles(AbstractTileSourceLayer.java:1314)
	at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.paintTileImages(AbstractTileSourceLayer.java:1014)
	at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.drawInViewArea(AbstractTileSourceLayer.java:1550)
	at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.access$2600(AbstractTileSourceLayer.java:143)
	at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer$TileSourcePainter.doPaint(AbstractTileSourceLayer.java:1931)
	at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer$TileSourcePainter.paint(AbstractTileSourceLayer.java:1925)
	at org.openstreetmap.josm.gui.MapView.paintLayer(MapView.java:466)
	at org.openstreetmap.josm.gui.MapView.drawMapContent(MapView.java:581)
	at org.openstreetmap.josm.gui.MapView.paint(MapView.java:488)
	at javax.swing.JComponent.paintChildren(Unknown Source)
	at javax.swing.JComponent.paint(Unknown Source)
	at javax.swing.JComponent.paintToOffscreen(Unknown Source)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
	at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
	at javax.swing.RepaintManager.paint(Unknown Source)
	at javax.swing.JComponent._paintImmediately(Unknown Source)
	at javax.swing.JComponent.paintImmediately(Unknown Source)
	at javax.swing.RepaintManager$4.run(Unknown Source)
	at javax.swing.RepaintManager$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
	at javax.swing.RepaintManager.access$1200(Unknown Source)
	at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
	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)
Caused by: java.lang.StackOverflowError
	at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer$TileSet.lambda$tilePositions$2(AbstractTileSourceLayer.java:1269)
	at java.util.stream.IntPipeline$4$1.accept(Unknown Source)
	at java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Unknown Source)
	at java.util.Spliterator$OfInt.forEachRemaining(Unknown Source)
	at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
	at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
	at java.util.stream.ReferencePipeline.forEach(Unknown Source)
	at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
	at java.util.stream.IntPipeline$4$1.accept(Unknown Source)
	at java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Unknown Source)
	at java.util.Spliterator$OfInt.forEachRemaining(Unknown Source)
	at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
	at java.util.stream.ForEachOps$ForEachTask.compute(Unknown Source)
	at java.util.concurrent.CountedCompleter.exec(Unknown Source)
	at java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(Unknown Source)
	at java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
	at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

Attachments (0)

Change History (4)

comment:1 by Don-vip, 6 years ago

Component: CoreCore imagery
Milestone: 19.12
Owner: changed from team to Don-vip
Priority: normalcritical
Status: newassigned
Summary: blocageStackOverflowError at AbstractTileSourceLayer$TileSet.lambda$tilePositions$2

comment:2 by stoecker, 6 years ago

We don't have stack size in status report.

comment:3 by Don-vip, 6 years ago

Worth noting the bug report shows JOSM is run on Windows with a 32-bit Oracle JVM. It seems on Windows, the default stack size is 320k for 32bit and 1024k for 64bit. I'm trying to reproduce with a 32-bit JVM too, maybe there's something we can do to reduce our stack usage.

comment:4 by Don-vip, 6 years ago

Keywords: 32bit added
Milestone: 19.12
Resolution: irreproducible
Status: assignedclosed

Can't reproduce. I manage to get OOM with low memory settings, but never encountered a stack overflow. It seems even not possible in Java to get the actual stack size information, so I can't really do anything except advising you to uninstall your 32-bit JVM and use a 64-bit JVM instead.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Don-vip.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.