JDK-6989729 : jarreorder warnings (classlists files are out of date)
  • Type: Bug
  • Component: performance
  • Sub-Component: libraries
  • Affected Version: 6,7
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2010-10-05
  • Updated: 2011-04-25
  • Resolved: 2011-04-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 7
7 b137Fixed
Related Reports
Relates :  
Relates :  
Description
(cd  /BUILD_AREA/jdk7/build/solaris-i586/../solaris-i586-fastdebug/classes && \
    /localtools/solaris-i586/jdk1.6.0_14/bin/java -XX:-PrintVMOptions -XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput -client -Xmx896m -Xms128m -XX:PermSize=32m -XX:MaxPermSize=160m -jar /BUILD_AREA/jdk7/build/solaris-i586/../solaris-i586-fastdebug/btjars/jarreorder.jar \
	-o  /BUILD_AREA/jdk7/build/solaris-i586/../solaris-i586-fastdebug/tmp/reorder/file_list.temp /BUILD_AREA/jdk7/build/solaris-i586/../solaris-i586-fastdebug/lib/classlist /BUILD_AREA/jdk7/build/solaris-i586/../solaris-i586-fastdebug/tmp/not_rt_jar.list . )
WARNING: Path does not exist as file or directory: java/util/Hashtable$EmptyEnumerator.class
WARNING: Path does not exist as file or directory: java/util/Hashtable$EmptyIterator.class
WARNING: Path does not exist as file or directory: java/io/File$1.class
WARNING: Path does not exist as file or directory: sun/misc/JavaIODeleteOnExitAccess.class
WARNING: Path does not exist as file or directory: java/io/Console$1$1.class
WARNING: Path does not exist as file or directory: sun/awt/DebugHelper.class
WARNING: Path does not exist as file or directory: sun/awt/DebugHelperStub.class
WARNING: Path does not exist as file or directory: sun/java2d/SunGraphicsEnvironment$TTFilter.class
WARNING: Path does not exist as file or directory: sun/java2d/SunGraphicsEnvironment$T1Filter.class
WARNING: Path does not exist as file or directory: sun/awt/AWTAutoShutdown$PeerMap.class
WARNING: Path does not exist as file or directory: sun/font/FontManager$1.class
WARNING: Path does not exist as file or directory: sun/font/FontManager$FontRegistrationInfo.class
WARNING: Path does not exist as file or directory: sun/awt/color/ProfileDeferralInfo.class
WARNING: Path does not exist as file or directory: sun/awt/color/ProfileDeferralMgr.class
WARNING: Path does not exist as file or directory: sun/awt/color/ProfileActivator.class
WARNING: Path does not exist as file or directory: sun/java2d/pipe/DuctusShapeRenderer.class
WARNING: Path does not exist as file or directory: sun/java2d/pipe/DuctusRenderer.class
WARNING: Path does not exist as file or directory: sun/awt/X11/XToolkit$7.class
WARNING: Path does not exist as file or directory: java/awt/EventQueueItem.class
WARNING: Path does not exist as file or directory: sun/awt/X11/XToolkit$XErrorHandler.class
WARNING: Path does not exist as file or directory: sun/awt/X11/XToolkit$5.class
WARNING: Path does not exist as file or directory: java/util/LinkedList$Entry.class
WARNING: Path does not exist as file or directory: sun/awt/X11/XWM$2.class
WARNING: Path does not exist as file or directory: sun/awt/X11/XProtocol$1.class
WARNING: Path does not exist as file or directory: sun/awt/X11/IXAnyEvent.class
WARNING: Path does not exist as file or directory: java/awt/MutableBoolean.class
WARNING: Path does not exist as file or directory: sun/awt/X11/XToolkit$6.class
WARNING: Path does not exist as file or directory: java/awt/Component$NativeInLightFixer.class
WARNING: Path does not exist as file or directory: javax/swing/UIManager$3.class
WARNING: Path does not exist as file or directory: javax/swing/SystemEventQueueUtilities.class
WARNING: Path does not exist as file or directory: javax/swing/SystemEventQueueUtilities$SystemEventQueue.class
WARNING: Path does not exist as file or directory: sun/awt/X11/ComponentAccessor.class
WARNING: Path does not exist as file or directory: sun/awt/X11/ComponentAccessor$1.class
WARNING: Path does not exist as file or directory: javax/swing/SystemEventQueueUtilities$ComponentWorkRequest.class
WARNING: Path does not exist as file or directory: sun/security/provider/Sun$1.class
WARNING: Path does not exist as file or directory: java/util/regex/Pattern$8.class
WARNING: Path does not exist as file or directory: javax/swing/text/SimpleAttributeSet$1.class
WARNING: Path does not exist as file or directory: sun/font/FileFont$FileFontDisposer.class
WARNING: Path does not exist as file or directory: sun/nio/cs/ext/EUC_KR$Decoder.class
WARNING: Path does not exist as file or directory: sun/nio/cs/ext/MS950$Decoder.class
WARNING: Path does not exist as file or directory: sun/nio/cs/ext/GBK$Decoder.class
WARNING: Path does not exist as file or directory: sun/java2d/x11/X11RemoteOffScreenImage.class
WARNING: Path does not exist as file or directory: sun/awt/image/RemoteOffScreenImage.class
WARNING: Path does not exist as file or directory: sun/java2d/x11/X11RemoteOffScreenImage$X11RemoteSurfaceManager.class
WARNING: Path does not exist as file or directory: sun/awt/image/OffScreenSurfaceManager.class
WARNING: Path does not exist as file or directory: sun/awt/image/CachingSurfaceManager.class
WARNING: Path does not exist as file or directory: sun/awt/image/RasterListener.class
WARNING: Path does not exist as file or directory: sun/java2d/x11/X11CachingSurfaceManager.class
WARNING: Path does not exist as file or directory: javax/swing/ToolTipManager$Actions.class
WARNING: Path does not exist as file or directory: sun/awt/color/CMM.class
WARNING: Path does not exist as file or directory: java/util/CurrencyData.class
WARNING: Path does not exist as file or directory: javax/swing/tree/DefaultMutableTreeNode$1.class
WARNING: Path does not exist as file or directory: sun/java2d/SunGraphicsEnvironment$5.class
WARNING: Path does not exist as file or directory: sun/security/jca/ProviderConfig$4.class
WARNING: Path does not exist as file or directory: java/util/Collections$EmptySet$1.class
WARNING: Path does not exist as file or directory: javax/swing/SystemEventQueueUtilities$RunnableCanvas.class
WARNING: Path does not exist as file or directory: javax/swing/SystemEventQueueUtilities$RunnableCanvasGraphics.class
WARNING: Path does not exist as file or directory: com/sun/java/swing/plaf/gtk/GTKNativeEngine.class
WARNING: Path does not exist as file or directory: com/sun/java/swing/plaf/gtk/GTKNativeEngine$WidgetType.class
WARNING: Path does not exist as file or directory: sun/font/FontManager$FontConfigInfo.class
WARNING: Path does not exist as file or directory: com/sun/java/swing/plaf/gtk/GTKNativeStyle.class
WARNING: Path does not exist as file or directory: javax/swing/plaf/synth/DefaultMenuLayout.class
WARNING: Path does not exist as file or directory: java/util/logging/LogManager$6.class
WARNING: Path does not exist as file or directory: sun/security/provider/PolicyInfo.class
WARNING: Path does not exist as file or directory: sun/security/provider/SelfPermission.class
WARNING: Path does not exist as file or directory: sun/applet/AppletClassLoader$4.class
WARNING: Path does not exist as file or directory: sun/awt/X11/XMenuBarPeer$1.class
WARNING: Path does not exist as file or directory: sun/awt/MostRecentThreadAppContext.class
WARNING: Path does not exist as file or directory: META-INF/services/com.sun.tools.xjc.Plugin
WARNING: Path does not exist as file or directory: sun/awt/motif/X11GB2312ecoder.class
WARNING: Path does not exist as file or directory: sun/awt/motif/X11GB2312ncoder.class
WARNING: Path does not exist as file or directory: sun/awt/motif/X11GBKncoder.class
WARNING: Path does not exist as file or directory: sun/awt/motif/X11KSC5601ecoder.class
WARNING: Path does not exist as file or directory: sun/awt/motif/X11KSC5601ncoder.class
WARNING: Path does not exist as file or directory: com/sun/crypto/provider
Included order file javax/crypto/SecretKey.class is also excluded, skipping.
Included order file sun/security/rsa/SunRsaSign.class is also excluded, skipping.
Included order file sun/nio/cs/ext/GBK.class is also excluded, skipping.
Included order file sun/nio/cs/ext/MS950.class is also excluded, skipping.
Included order file sun/nio/cs/ext/DoubleByteDecoder.class is also excluded, skipping.
Included order file sun/nio/cs/ext/EUC_KR.class is also excluded, skipping.
Included order file sun/nio/cs/ext/ExtendedCharsets.class is also excluded, skipping.
Included order file sun/security/provider/Sun.class is also excluded, skipping.

Comments
EVALUATION http://hg.openjdk.java.net/jdk7/build/jdk/rev/da5e33af0e61
05-04-2011

SUGGESTED FIX The safest thing to do now, is to fix the warnings reported here by removing the missing classes from the re-order list. This will fix the warnings, and not affect the current class ordering which will leave the performance as is. There will still be a small number of "Path does not exist..." warnings because items in the exclusion list no longer exist. This will need to be revisited when the modularization changes are put in place. A new bug will be filed for post-jdk7 for the work to do the more complete re-order list update.
31-03-2011

EVALUATION Given that jdk7 fcs is coming up soon, we can't risk a change the re-order lists without extensive performance testing. Unfortunately, we don't have the full client/server performances tests back online yet. The safest thing to do now, is to fix the warnings reported here by removing the missing classes from the re-order list. This will fix the warnings, and not effect the current class ordering which will leave the performance as is. This bug will be used to track a change for that approach. A new bug will be filed for post-jdk7 for the work to do the more complete re-order list update that can look at: 1) improving perfomance from an updated re-ordering 2) look at a way to keep the list from getting out-of-date.
29-03-2011

EVALUATION This class file ordering issue is directly related to performance. Effectively the classlists are out of date, and probably are causing all kinds of strange performance differences from the original initial jdk that these lists applied to. It's not 100% clear how this relates to the class data sharing, so the hotspot team might need to be involved. But bottom line, this makefile logic and classlists are for performance, and the lists are stale. See: http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/0a56bdd709d0/make/tools/sharing/ http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/0a56bdd709d0/make/java/redist/Makefile (look for /classlist) http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/0a56bdd709d0/make/common/Release.gmk (look for /classlist)
13-01-2011