JDK-8058780 : Clipboard support is broken
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 9
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_7
  • CPU: x86_64
  • Submitted: 2014-09-18
  • Updated: 2014-09-19
  • Resolved: 2014-09-19
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9Resolved
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
java version "1.9.0-ea"
Java(TM) SE Runtime Environment (build 1.9.0-ea-b30)
Java HotSpot(TM) Client VM (build 1.9.0-ea-b30, mixed mode, sharing)


ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]

A DESCRIPTION OF THE PROBLEM :
The access to clipboard crashes.  Copy-paste from java to windows does not work.
Exception in thread "main" java.lang.InternalError: Default flavor mapping not found
	at java.awt.datatransfer.SystemFlavorMap.initSystemFlavorMap(SystemFlavorMap.java:205)
	at java.awt.datatransfer.SystemFlavorMap.getNativeToFlavor(SystemFlavorMap.java:107)
	at java.awt.datatransfer.SystemFlavorMap.nativeToFlavorLookup(SystemFlavorMap.java:369)
	at java.awt.datatransfer.SystemFlavorMap.getFlavorsForNative(SystemFlavorMap.java:607)
	at sun.awt.datatransfer.DataTransferer.getFlavorsForFormatsAsSet(DataTransferer.java:487)
	at sun.awt.datatransfer.SunClipboard.formatArrayAsDataFlavorSet(SunClipboard.java:344)
	at sun.awt.datatransfer.SunClipboard.isDataFlavorAvailable(SunClipboard.java:186)
	at x.X.main(X.java:12)

the code in SystemFlavorMap expects file flavormap.properties  in "/sun/datatransfer/resources/":

InputStream is = SystemFlavorMap.class.getResourceAsStream("/sun/datatransfer/resources/flavormap.properties");

while the JDK actually stores this file in C:\Java\jdk1.9\jre\lib\resources.jar!\sun\awt\datatransfer\flavormap.properties

REGRESSION.  Last worked in version 8u20

ADDITIONAL REGRESSION INFORMATION: 
java version "1.9.0-ea"
Java(TM) SE Runtime Environment (build 1.9.0-ea-b30)
Java HotSpot(TM) Client VM (build 1.9.0-ea-b30, mixed mode, sharing)


STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run following:
package x;

import java.awt.*;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;

public class X {
    public static void main(String[] args) {
        Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
        clipboard.isDataFlavorAvailable(DataFlavor.stringFlavor);
    }
}

It crashes with exception:
Exception in thread "main" java.lang.InternalError: Default flavor mapping not found
	at java.awt.datatransfer.SystemFlavorMap.initSystemFlavorMap(SystemFlavorMap.java:205)
	at java.awt.datatransfer.SystemFlavorMap.getNativeToFlavor(SystemFlavorMap.java:107)
	at java.awt.datatransfer.SystemFlavorMap.nativeToFlavorLookup(SystemFlavorMap.java:369)
	at java.awt.datatransfer.SystemFlavorMap.getFlavorsForNative(SystemFlavorMap.java:607)
	at sun.awt.datatransfer.DataTransferer.getFlavorsForFormatsAsSet(DataTransferer.java:487)
	at sun.awt.datatransfer.SunClipboard.formatArrayAsDataFlavorSet(SunClipboard.java:344)
	at sun.awt.datatransfer.SunClipboard.isDataFlavorAvailable(SunClipboard.java:186)
	at x.X.main(X.java:12)



EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
no exception
ACTUAL -
exception

ERROR MESSAGES/STACK TRACES THAT OCCUR :
Exception in thread "main" java.lang.InternalError: Default flavor mapping not found
	at java.awt.datatransfer.SystemFlavorMap.initSystemFlavorMap(SystemFlavorMap.java:205)
	at java.awt.datatransfer.SystemFlavorMap.getNativeToFlavor(SystemFlavorMap.java:107)
	at java.awt.datatransfer.SystemFlavorMap.nativeToFlavorLookup(SystemFlavorMap.java:369)
	at java.awt.datatransfer.SystemFlavorMap.getFlavorsForNative(SystemFlavorMap.java:607)
	at sun.awt.datatransfer.DataTransferer.getFlavorsForFormatsAsSet(DataTransferer.java:487)
	at sun.awt.datatransfer.SunClipboard.formatArrayAsDataFlavorSet(SunClipboard.java:344)
	at sun.awt.datatransfer.SunClipboard.isDataFlavorAvailable(SunClipboard.java:186)
	at x.X.main(X.java:12)


REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
package x;

import java.awt.*;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;

public class X {
    public static void main(String[] args) {
        Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
        clipboard.isDataFlavorAvailable(DataFlavor.stringFlavor);
    }
}

---------- END SOURCE ----------


Comments
Looks like a duplicate of JDK-8055746.
19-09-2014