Modify

Opened 4 years ago

Last modified 21 months ago

#17480 new defect

"java.lang.IllegalArgumentException: Invalid scanline stride" in PicLayer when loading a large image

Reported by: richlv Owned by: rebsc
Priority: major Milestone:
Component: Plugin piclayer Version: tested
Keywords: exception javabug Cc:

Description

Attempting to load a 223MB PNG image:

URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2019-03-03 00:16:03 +0100 (Sun, 03 Mar 2019)
Build-Date:2019-03-02 23:16:53
Revision:14824
Relative:URL: ^/trunk

Identification: JOSM/1.5 (14824 en) Linux openSUSE Tumbleweed
Memory Usage: 447 MB / 910 MB (98 MB allocated, but free)
Java version: 1.8.0_191-b12, Oracle Corporation, OpenJDK 64-Bit Server VM
Screen: :0.0 1680x1050
Maximum Screen Size: 1680x1050
Java package: java-1_8_0-openjdk:x86_64-1.8.0.191
VM arguments: [-Djava.net.useSystemProxies=true]
Dataset consistency test: No problems found

Plugins:
+ AddrInterpolation (34867)
+ ColumbusCSV (34867)
+ DxfImport (1013)
+ HouseNumberTaggingTool (34867)
+ InfoMode (34755)
+ Mapillary (1.5.18)
+ PicLayer (34867)
+ apache-commons (34506)
+ apache-http (34632)
+ ejml (34389)
+ geotools (34513)
+ graphview (34867)
+ jaxb (34678)
+ jna (34867)
+ jts (34524)
+ log4j (34527)
+ measurement (34867)
+ opendata (34911)
+ pbf (34867)
+ photo_geotagging (34867)
+ photoadjust (34867)
+ reverter (34867)
+ terracer (34867)
+ utilsplugin2 (34915)

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1

Last errors/warnings:
- W: No configuration settings found.  Using hardcoded default values for all pools.
- E: Handled by bug report queue: java.lang.IllegalArgumentException: Invalid scanline stride


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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (14) of main
java.lang.IllegalArgumentException: Invalid scanline stride
	at java.awt.image.ComponentSampleModel.getBufferSize(ComponentSampleModel.java:274)
	at java.awt.image.ComponentSampleModel.verify(ComponentSampleModel.java:252)
	at java.awt.image.ComponentSampleModel.<init>(ComponentSampleModel.java:170)
	at java.awt.image.PixelInterleavedSampleModel.<init>(PixelInterleavedSampleModel.java:87)
	at java.awt.image.PixelInterleavedSampleModel.createCompatibleSampleModel(PixelInterleavedSampleModel.java:144)
	at javax.imageio.ImageTypeSpecifier.getSampleModel(ImageTypeSpecifier.java:1039)
	at javax.imageio.ImageTypeSpecifier.createBufferedImage(ImageTypeSpecifier.java:1072)
	at javax.imageio.ImageReader.getDestination(ImageReader.java:2892)
	at com.sun.imageio.plugins.png.PNGImageReader.readImage(PNGImageReader.java:1317)
	at com.sun.imageio.plugins.png.PNGImageReader.read(PNGImageReader.java:1614)
	at javax.imageio.ImageIO.read(ImageIO.java:1448)
	at javax.imageio.ImageIO.read(ImageIO.java:1308)
	at org.openstreetmap.josm.plugins.piclayer.layer.PicLayerFromFile.createImage(PicLayerFromFile.java:86)
	at org.openstreetmap.josm.plugins.piclayer.layer.PicLayerAbstract.initialize(PicLayerAbstract.java:156)
	at org.openstreetmap.josm.plugins.piclayer.actions.newlayer.NewLayerFromFileAction.addNewLayerFromFile(NewLayerFromFileAction.java:134)
	at org.openstreetmap.josm.plugins.piclayer.actions.newlayer.NewLayerFromFileAction.actionPerformed(NewLayerFromFileAction.java:125)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:842)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:886)
	at java.awt.Component.processMouseEvent(Component.java:6539)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3315)
	at java.awt.Component.processEvent(Component.java:6304)
	at java.awt.Container.processEvent(Container.java:2239)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2297)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
	at java.awt.Container.dispatchEventImpl(Container.java:2283)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
	at java.awt.EventQueue$4.run(EventQueue.java:733)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Attachments (0)

Change History (8)

comment:1 Changed 4 years ago by richlv

There were similar reports earlier:

  • #12544 - while it talks about splitting the image, that's only a workaround.
  • #15071 - talks about GeoTIFF being unsupported, not directly related.

https://github.com/haraldk/TwelveMonkeys/issues/398 talks about providing a better error message (in another project) instead of exception-ing.

Last edited 4 years ago by richlv (previous) (diff)

comment:2 Changed 4 years ago by Don-vip

Keywords: javabug added

comment:3 Changed 4 years ago by Don-vip

Owner: changed from Larry0ua to rebsc

comment:4 Changed 4 years ago by Don-vip

Ticket #17963 has been marked as a duplicate of this ticket.

comment:5 Changed 3 years ago by skyper

Ticket #19365 has been marked as a duplicate of this ticket.

comment:6 Changed 3 years ago by Don-vip

Ticket #20157 has been marked as a duplicate of this ticket.

comment:7 Changed 21 months ago by Don-vip

Ticket #20170 has been marked as a duplicate of this ticket.

comment:8 Changed 21 months ago by Don-vip

Priority: normalmajor

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain rebsc.
as The resolution will be set.
to The owner will be changed from rebsc to the specified user.
The owner will change to richlv
as duplicate The resolution will be set to duplicate.The specified ticket will be cross-referenced with this ticket
The owner will be changed from rebsc to anonymous.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.