Modify

Opened 6 years ago

Last modified 3 years 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 by richlv, 6 years ago

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 6 years ago by richlv (previous) (diff)

comment:2 by Don-vip, 6 years ago

Keywords: javabug added

comment:3 by Don-vip, 6 years ago

Owner: changed from Larry0ua to rebsc

comment:4 by Don-vip, 5 years ago

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

comment:5 by skyper, 5 years ago

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

comment:6 by Don-vip, 4 years ago

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

comment:7 by Don-vip, 3 years ago

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

comment:8 by Don-vip, 3 years ago

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. Next status will be 'closed'.
to The owner will be changed from rebsc to the specified user.
Next status will be 'needinfo'. The owner will be changed from rebsc to richlv.
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from rebsc to anonymous. Next status will be 'assigned'.

Add Comment


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