Modify

Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#14085 closed defect (duplicate)

JOSM display corrupted after changing screen resolution

Reported by: thomasthekitty@… Owned by: team
Priority: normal Milestone:
Component: Core Version:
Keywords: javabug Cc:

Description (last modified by Don-vip)

When I changed the resolution of my display, JOSM's main window turned blank and the "You have encountered a bug in JOSM" window appeared on top of it. The bug window had many elements of the GUI missing. I have attached a stack trace.

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 en) Linux Mint 18 Sarah
Memory Usage: 326 MB / 661 MB (138 MB allocated, but free)
Java version: 1.8.0_111-8u111-b14-2ubuntu0.16.04.2-b14, Oracle Corporation, OpenJDK 64-Bit Server VM
Screen: :0.0 1366x768
Maximum Screen Size: 1366x768
Java package: openjdk-8-jre:amd64-8u111-b14-2ubuntu0.16.04.2

Plugins:
+ FastDraw (32938)
+ Mapillary (v1.3.1)
+ apache-commons (32699)
+ apache-http (32699)
+ buildings_tools (32944)
+ turnrestrictions (32796)
+ utilsplugin2 (32815)

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

Last errors/warnings:
- E: Handled by bug report queue: java.lang.ClassCastException: sun.awt.image.BufImgSurfaceData cannot be cast to sun.java2d.xr.XRSurfaceData
- W: Too many errors. Dropping ReportedException [thread=Thread[AWT-EventQueue-0,6,main], exception=java.lang.ClassCastException: sun.awt.image.BufImgSurfaceData cannot be cast to sun.java2d.xr.XRSurfaceData, methodWarningFrom=BugReportExceptionHandler#handleException]
- E: Handled by bug report queue: java.lang.ClassCastException: sun.awt.image.BufImgSurfaceData cannot be cast to sun.java2d.xr.XRSurfaceData
- W: Too many errors. Dropping ReportedException [thread=Thread[AWT-EventQueue-0,6,main], exception=java.lang.ClassCastException: sun.awt.image.BufImgSurfaceData cannot be cast to sun.java2d.xr.XRSurfaceData, methodWarningFrom=BugReportExceptionHandler#handleException]
- E: Handled by bug report queue: java.lang.ClassCastException: sun.awt.image.BufImgSurfaceData cannot be cast to sun.java2d.xr.XRSurfaceData
- W: Too many errors. Dropping ReportedException [thread=Thread[AWT-EventQueue-0,6,main], exception=java.lang.ClassCastException: sun.awt.image.BufImgSurfaceData cannot be cast to sun.java2d.xr.XRSurfaceData, methodWarningFrom=BugReportExceptionHandler#handleException]
- E: Handled by bug report queue: java.lang.ClassCastException: sun.awt.image.BufImgSurfaceData cannot be cast to sun.java2d.xr.XRSurfaceData
- W: Too many errors. Dropping ReportedException [thread=Thread[AWT-EventQueue-0,6,main], exception=java.lang.ClassCastException: sun.awt.image.BufImgSurfaceData cannot be cast to sun.java2d.xr.XRSurfaceData, methodWarningFrom=BugReportExceptionHandler#handleException]
- E: Handled by bug report queue: java.lang.ClassCastException: sun.awt.image.BufImgSurfaceData cannot be cast to sun.java2d.xr.XRSurfaceData
- W: Too many errors. Dropping ReportedException [thread=Thread[AWT-EventQueue-0,6,main], exception=java.lang.ClassCastException: sun.awt.image.BufImgSurfaceData cannot be cast to sun.java2d.xr.XRSurfaceData, methodWarningFrom=BugReportExceptionHandler#handleException]


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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (17) of main
java.lang.ClassCastException: sun.awt.image.BufImgSurfaceData cannot be cast to sun.java2d.xr.XRSurfaceData
	at sun.java2d.xr.XRPMBlitLoops.cacheToTmpSurface(XRPMBlitLoops.java:148)
	at sun.java2d.xr.XrSwToPMBlit.Blit(XRPMBlitLoops.java:356)
	at sun.java2d.SurfaceDataProxy.updateSurfaceData(SurfaceDataProxy.java:498)
	at sun.java2d.SurfaceDataProxy.replaceData(SurfaceDataProxy.java:455)
	at sun.java2d.SurfaceData.getSourceSurfaceData(SurfaceData.java:233)
	at sun.java2d.pipe.DrawImage.renderImageCopy(DrawImage.java:566)
	at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:67)
	at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:1014)
	at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3318)
	at sun.awt.image.ImageRepresentation.drawToBufImage(ImageRepresentation.java:813)
	at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:1021)
	at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3318)
	at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3296)
	at javax.swing.ImageIcon.paintIcon(ImageIcon.java:425)
	at javax.swing.plaf.basic.BasicButtonUI.paintIcon(BasicButtonUI.java:292)
	at javax.swing.plaf.basic.BasicButtonUI.paint(BasicButtonUI.java:216)
	at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
	at javax.swing.plaf.metal.MetalButtonUI.update(MetalButtonUI.java:150)
	at javax.swing.JComponent.paintComponent(JComponent.java:780)
	at javax.swing.JComponent.paint(JComponent.java:1056)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at org.openstreetmap.josm.gui.widgets.MultiSplitPane.paintChildren(MultiSplitPane.java:206)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JSplitPane.paintChildren(JSplitPane.java:1047)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
	at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
	at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
	at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:854)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
	at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
	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:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	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 (1)

stacktrace.txt (8.0 KB ) - added by anonymous 8 years ago.
The stack trace that appeared in the "you have encountered a bug" window

Download all attachments as: .zip

Change History (5)

by anonymous, 8 years ago

Attachment: stacktrace.txt added

The stack trace that appeared in the "you have encountered a bug" window

comment:1 by anonymous, 8 years ago

Note that this bug does not occur when changing resolution in a single-monitor setup, only when using two displays. I am using a laptop with an external monitor to trigger this bug. I have no idea whether the bug is caused by something other than JOSM (a Java bug, etc.) or whether it only happens on certain hardware.

Steps to reproduce:

  1. Plug in an external monitor. I have mine set up so that they are not

mirrored, rather, I can display separate programs on each monitor.

  1. Start JOSM and open Bing imagery.
  2. Change the resolution of the monitor.

This causes JOSM to crash: a bug window pops up. If you click "ignore this warning," another bug window pops up. I have also triggered this bug by unplugging the
secondary monitor.

comment:2 by Don-vip, 8 years ago

Description: modified (diff)

comment:3 by Don-vip, 8 years ago

Resolution: duplicate
Status: newclosed

Closed as duplicate of #11002.

comment:4 by skyper, 8 years ago

Keywords: javabug added

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
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.