Known and Resolved Issues
This chapter lists high visibility bugs that have been addressed in these releases. It is not a complete listing of all of the bugs addressed. If you still have issues with any of these bugs, please file a new bug at http://bugreport.apple.com/ under the Java (new bugs)
component, version X
. Refer to the bug number indicated below in your new bug if you believe it is the same issue.
Java Accessibility
Radar #3941214
Changes to JSliders are not spoken by VoiceOver.
Description:
Changes made to JSlider values are not propagated to the native accessibility system, and are not read by VoiceOver.
Resolution:
This issue has been resolved.
Radar #7498065
JEditorPanes do not interact with VoiceOver like native NSTextViews.
Description:
Arrow key behavior and several line editing commands do not trigger the same notifications to the native accessibility system and VoiceOver that native Cocoa text editors do.
Resolution:
This issue has been resolved.
Radar #8002471
Subclasses of Window returning bad AX values can cause accessibility to crash.
Description:
Subclassing a Window and returning null values for several accessibility properties can cause the native accessibility system in the Java process to crash.
Resolution:
This issue has been resolved.
Radar #8408792
Hidden components are not invisible to VoiceOver.
Description:
Java layouts that contain hidden items are still relayed to the native accessibility system and are read by VoiceOver, even though they are nowhere on screen.
Resolution:
This issue has been resolved.
Radar #8414664
JLabels are read twice by VoiceOver.
Description:
JLabels provide both a title and a text role to the native accessibility system and are read twice by VoiceOver.
Resolution:
This issue has been resolved.
Java Application Support
Radar #8059824
The $USER_HOME
variable is not expanded in all fields of a bundled Java app's Info.plist.
Description:
The $JAVAROOT
, $APP_PACKAGE
, and $USER_HOME
variables are not always expanded in each of the Java dictionary elements: Arguments, Properties, VMOptions, and WorkingDirectory.
Resolution:
This issue has been resolved.
Java Aqua LAF
Radar #7961076
Segmented button types don't apply if JButton.segmentPosition
is set before JButton.buttonType
.
Description:
If the client properties for the segmented button styles are applied out of order, the button will not render in the expected style.
Resolution:
This issue has been resolved.
Radar #8013559
Pressing the delete key in JFormattedTextFields causes two characters to be deleted.
Description:
JFormattedTextFields deleted two characters each time the delete key was pressed in the last release.
Resolution:
This issue has been resolved.
Radar #8166171
JTables, JLists, and JTrees use saturated highlight color, even when in background.
Description:
JTables, JLists, and JTrees use a saturated variant of the selection color in the Appearance preference pane in System Preferences. This color should not be used when the window is in the background.
Resolution:
This issue has been partially resolved. JTables and JLists now use the correct inactive grey color when the parent window is in the background, however JTrees still use the fully saturated color.
Java AWT
Radar #5751700
Using an AWT print dialog could prevent natural application shutdown.
Description:
An application that displays an AWT print dialog with no parent window may not exit naturally when its last window has been disposed. An internal parent frame was not disposed properly.
Resolution:
This issue has been resolved.
Radar #7175180
There is no way to mark a window to hide when its application deactivates.
Description:
Currently, windows marked with the “small" style, and setAlwaysOnTop(true)
deactivate automatically when their parent application goes into the background. There is no way to specify this behavior for normal windows.
Resolution:
This issue has been resolved. Setting the Window.hidesOnDeactivate
client property of the window's root pane to Boolean.TRUE
will make the window hide when its parent application deactivates.
Radar #7183326
In J2SE 5.0, there is no way to define a window's minimum size.
Description:
Setting a Window minimum size is not a defined behavior of the J2SE 5.0 specification; it is in Java SE 6.
Resolution:
This issue has been resolved. Set the Window.minimumSize
client property on the root pane of a window to a new Dimension object. The existing behavior of Window.setMinimumSize()
remains unchanged in J2SE 5.0.
Radar #7551587
Dialogs marked DOCUMENT_MODAL
fail to activate application.
Description:
Dialogs marked as DOCUMENT_MODAL
against their parent cause a failure to activate their application when clicked on.
Resolution:
This issue has been resolved.
Radar #7993710
AWT file dialogs sometimes do not return file names with extensions on OS X v10.6.
Description:
AWT file dialogs sometimes do not return a file name with an extension to user code, depending on the system policy for showing file extensions. This problem only affects OS X v10.6.
Resolution:
This issue has been resolved.
Radar #8017481
apple.awt.CToolkit.postEvent()
occasionally throws a NullPointerException.
Description:
Occasionally, an internal logic error in the AWT would cause NullPointerExceptions to be emitted from the CToolkit class.
Resolution:
This issue has been resolved.
Radar #8036170
Document-modal sheets sometimes show up behind their parent window
Description:
Due to window ordering/layering issues with a sheet's growbox, sometimes a sheet would roll down behind its parent window.
Resolution:
This issue has been resolved.
Radar #8065637
Showing an AWT file dialog and another modal dialog concurrently can cause a ClassCastException.
Description:
A ClassCastException is thrown by showing a modal dialog while an AWT file dialog is already present.
Resolution:
This issue has been resolved.
Radar #8102825
Frames are created behind document modal dialogs.
Description:
In some situations, new JFrames are ordered behind existing document modal dialogs.
Resolution:
This issue has been resolved.
Radar #8211234
Pressing Cmd-Ctrl-Space causes a native RuntimeException.
Description:
Due to missing data in the native event record for some keystrokes (including Cmd-Ctrl-Space), a native RuntimeException is thrown on the AWT event dispatch thread.
Resolution:
This issue has been resolved.
Radar #8221065
Mousing over a window changes the mouse cursor, even if popup menu is above the window.
Description:
In cases where an underlying Java window has different cursor regions, the cursor still changes while mousing over those regions, even if there is a popup in front of the window.
Resolution:
This issue has been resolved.
Radar #8321523
Java should not use device-dependent color correction.
Description:
Java uses the color correction profile of the primary display device to express its color rendering intent to the native graphics system. The colors used by the AWT are actually in the generic or sRGB colorspace, and should not be interpreted as already device-correct.
Workaround:
Change the color profile of the primary display to "Generic" in the Displays preference pane.
Resolution:
This issue has been resolved in Java SE 6. Sampled colors on screen using the Robot may no longer match the same literal RGB values used in the Java app. There are also performance penalties for translating images between different colorspaces.
Java Core Frameworks
Radar #7958643
JNFExceptions do not retain a JNI global ref to their jthrowables.
Description:
When a JNFException is thrown in Objective-C, the jthrowable cannot be moved between threads or stored in containers, because its underlying jthrowable was not held in a JNI global ref.
Resolution:
This issue has been resolved. The associated jthrowable is now held in a JNI global ref, and is destroyed when the the native JNFException is deallocated.
Radar #8452740
Java software updates do not update their framework BridgeSupport files.
Description:
Java software updates for OS X v10.5 and 10.6 have not been updating the BridgeSupport metadata for the native Java frameworks that have been updated.
Resolution:
This issue has been resolved. The BridgeSupport XML metadata files now reflect the API in the Java frameworks.
Java Deploy
Radar #8146434
Java Preferences needs a UI to show 3rd party JVMs added to the system.
Description:
The UI in Java Preferences does not show enough information to discriminate between multiple versions of the same JVM or between Apple and non-Apple JVMs.
Resolution:
This issue has been resolved. Java Preferences now shows all discovered JVMs with any advertised capabilities in a single list. This list shows the name, vendor, architecture, and full version of each JVM. It also coalesces multiple versions of the same major platform version from the same vendor into the same line.
Java Docs & Info
Radar #8264584
The /usr/libexec/java_home man page did not explain that it excludes disabled JVMs
Description:
The /usr/libexec/java_home man page did not contain text that described that it only returned JVMs that were enabled in the Java Preferences app.
Resolution:
This issue has been resolved.
Java EAWT
Radar #3198576
Quitting a Java app on OS X does not generate window closing events.
Description:
By default the eAWT calls System.exit(0)
when asked to quit a Java application. Some cross-platform applications would like to gracefully handle Quit on OS X, without using the platform-specific eAWT API.
Resolution:
This issue has been resolved. Applications can now request that the eAWT send WindowClosing events to all open AWT windows instead of calling System.exit(0)
when the user chooses Quit from the application menu. By setting the apple.eawt.quitStrategy
system property to CLOSE_ALL_WINDOWS
, the eAWT will send a close event to every window in back-to-front order.
Radar #4083709
Java apps have no way to determine the Spotlight query used to find files they are associated with.
Description:
Native Cocoa apps can use the search text used to find a file to highlight text, or jump to a sub-section of a document.
Resolution:
This issue has been resolved. Java apps can now register a com.apple.eawt.OpenFilesHandler
which handles com.apple.eawt.AppEvent.OpenFilesEvent
s. Calling getSearchTerm()
will return the search criteria used to find the file.
Radar #4623624
The eAWT ApplicationEvent quit handler is not logout-friendly.
Description:
The design of the legacy ApplicationEvent handler doesn't allow for the decision to proceed with quit or cancel quit to be postponed without creating a modal dialog. Most applications which require more complex UI to save changes would have to end up canceling a pending logout to show the correct UI.
Resolution:
This issue has been resolved. The legacy ApplicationEvent handler API has been deprecated. Applications can now register a com.apple.eawt.QuitHandler
which uses a QuitResponse object to confirm or cancel the quit, but the handler may return, and the response object may be called back later from any thread. It is the app's responsibility to call cancelQuit()
or performQuit()
in a timely fashion.
Radar #4714211
Java apps have no way to listen for "open URL" events.
Description:
Native applications can register with LaunchServices to handle custom URL schemes.
Resolution:
This issue has been resolved. Bundled Java applications can now add the CFBundleURLTypes dictionary to their Info.plist, and register a com.apple.eawt.OpenURIHandler
. The handler will be called with a com.apple.eawt.AppEvent.OpenURIEvent
that contains the URI the application is being asked to open.
Radar #5445495
Java apps cannot discriminate between opening a group of files, or opening several files successively.
Description:
The design of the legacy ApplicationEvent handler only allowed an application to be notified of a single file open at one time. A group of files dropped on an application's icon would be serially dispatched into the same single-file handler. Apps looking to create groupings inside their app like playlists or photo albums had to implement a timer that would delay handling the file opening until the number of new files added appeared to quiesce.
Resolution:
This issue has been resolved. The legacy ApplicationEvent handler API has been deprecated. Applications can now register a com.apple.eawt.OpenFilesHandler
which offers a list of files, grouped by the original user selection that initiaited the open file request.
Radar #5756768
Java apps cannot be suddenly terminated.
Description:
The eAWT does not expose a way for applications to opt-into being suddenly terminated, to speed log-out and shut down.
Resolution:
This issue has been resolved. Java applications on OS X v10.6 can now opt-in to being suddenly terminated. Apps can raise and lower their sudden termination count via the enableSuddenTermination()
and disableSuddenTermination()
methods on the com.apple.eawt.Application
. For more information on Sudden Termination, see NSProcessInfo Class Reference.
Radar #8343136
Setting the PopupMenu for the Dock icon fails if it has no parent.
Description:
The com.apple.eawt.Application.setDockMenu(PopupMenu)
method could fail if the provided PopupMenu did not already have a parent frame or MenuBar associated with it.
Resolution:
This issue has been resolved. A dummy MenuBar is constructed for the provided PopupMenu if it has no existing parent.
Java HotSpot
Radar #2830171
Avoid paging out GC'd pages.
Description:
When the system is under memory pressure, pages of Java heap with no live objects on them are still paged out to disk.
Resolution:
This issue has been resolved. HotSpot now marks uncommited pages with madvise()
to signal that the pages are garbage and do not need to be paged out.
Java Install
Radar #8421130
JavaVM.framework headers (jni.h, etc) missing after installing update.
Description:
Due to restructuring of the frameworks and .jdk bundles in this update, the existing header symlinks do not point at valid locations, and code that uses them will fail to compile.
Workaround:
Install the Java Developer package for your system from http://connect.apple.com, which installs complete copies of the JavaVM.framework headers. The Java Developer package is now the authoritative source for all Java developer documentation, headers, and JDK source (it is a superset of the previous Java Documentation package).
Radar #8485138
Class sharing not available until reboot.
Description:
Due to internal restructuring of the JavaVM.framework, .jdk bundles, and the updateSharing daemon, class sharing archives are not generated until the next reboot. Class sharing is a performance optimization for the 32-bit client HotSpot.
Workaround:
Run launchctl load /System/Library/LaunchAgents/com.apple.java.updateSharing.plist
or reboot.
Java JDK
Radar #3672275
Java Developer Previews should be uninstallable.
Description:
Java Developer Previews have always replaced the system JDK(s), with no way to roll back to the previous version.
Resolution:
This issue has been partially resolved. Java Developer Previews now install Java SE 6 .jdk bundles into /Library/Java/JavaVirtualMachines
, which can be added or removed by the developer. The presence or non-presence of these JDKs do not impact the system JDK at /System/Library/Java/JavaVirtualMachines/1.6.0.jdk
. Java Developer Previews for OS X v10.5 Leopard will continue to replace the system 1.5.0 JDK until the end of Leopard's service lifetime.
Java Plugin2
Radar #6934589
When using the out-of-process applet plugin, the JVM selection logic would always choose Java SE 6 (64-bit if available).
Description:
Plugin2 was hardwired to always pick the "best" JVM. The "best" JVM is actually the one the user chooses in Java Preferences that satisfies the applet’s minimum requirements.
Workaround:
Since J2SE 5.0 does not yet support Plugin2 as well as Java SE 6, dragging Java SE 6 to the top of the JVM list in Java Preferences will allow it to be used again for Plugin2.
Resolution:
This issue has been resolved.
Radar #7571031
When using the out-of-process applet plugin, right-clicks are not detected in Carbon-based browsers.
Description:
The Carbon event record does not contain the necessary information to determine which button invoked a click.
Resolution:
This issue has been resolved. The global hardware state is examined on clicks in Carbon browsers.
Radar #7631574
Detaching applet from webpage using option-drag conflicts with standard alt-modifier behavior.
Description:
When using the out-of-process applet plugin, attempting to initiate alt-modifier drags caused the applet to detach from the webpage.
Resolution:
This issue has been resolved. Holding down the command-key now causes a titlebar to show around the applet, which can be used to drag the applet out of the page. The showing/hiding titlebar does not conflict with standard meta-modifier clicks or drags within the content of the applet.
Radar #8253286
Mouse Click count in Java applets on Cocoa browsers were not reported correctly.
Description:
Java Plugin2 did not report the correct mouse click count on Cocoa based browsers.
Resolution:
This issue has been resolved.
Java Proxy
Radar #8043041
Proxy PAC file parsing doesn't work.
Description:
Network configurations that use non-trivial PAC files do not work in applets or Web Start applications.
Resolution:
This issue has been resolved. In Java SE 6, PAC files are now processed using the javax.script JavaScript engine, and are properly evaluated.
Java ScreenMenuBar
Radar #8312040
Certain mouse events were not being generated by the Screen menubar.
Description:
Mouse entered events were not being generated by menus when the Screen Menu bar was used.
Resolution:
This issue has been resolved.
Java Swing
Radar #8093871
JComboBox items don't select when clicked in some cases when using non-Aqua look and feels.
Description:
Due to a change in BasicComboPopup for Aqua, non-Aqua look and feels lost the ability to select items from JComboBox popups using multiple discrete clicks (down-drag-release works).
Resolution:
This issue has been resolved.
Java VM Tools
Radar #8284751
JDWP debugging can fail to connect on OS X v10.6.
Description:
Crash reports indicate that a significant number of JDWP debugging sessions fail to connect on OS X v10.6. When all JDWP transports fail to connect, the debugger process calls jni_FatalError
, which aborts the virtual machine with the error AGENT_ERROR_TRANSPORT_INIT(197)
, and crashes.
Resolution:
This issue has been partially resolved. Upon failure of all transports to connect, a subsequent attempt is made to connect to localhost.
Java Web Start
Radar #7924184
Web Start applications launched from the command line displayed incorrect App name.
Description:
Web Start applications that were launched manually from the command line did not show the correct application name in their menus as well as the Dock.
Resolution:
This issue has been resolved.
Radar #8049225
Some Web Start applications would not launch in offline mode.
Description:
Web Start applications that depended on pre-installed jars did not launch when not connected to the network.
Resolution:
This issue has been resolved.
Radar #8379158
Web Start applications may launch in the wrong architecture.
Description:
Web Start applications that rely on the arch order being specified via the order of the resource elements did not launch in the correct architecture.
Resolution:
This issue has been resolved.
Radar #8504491
Web Start applications will show the install dialog twice.
Description:
Web Start applications that depend on signed Java extensions will show the install dialog twice if the extension has not already been installed.
Copyright © 2010 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2010-10-20