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 #4198660
Removing tabs from JTabbedPane with accessibility screen reader running can crash.
Description:
A bug in the native accessibility bridge for JTabbedPanes could cause a crash if all tabs were removed from a JTabbedPane while the native screen reader was focused on the UI.
Resolution:
This issue has been resolved.
Java Applets
Radar #3196480
The Java applet console window minimizes instead of closing.
Description:
The Java applet and Web Start console window would minimize instead of closing when its close button was clicked. This design prevented the Java console from becoming inaccessible once closed, but was highly inconsistent with standard OS X window management.
Resolution:
This issue has been resolved. When the Java console is activated on OS X, a coffee cup icon is installed in the menu bar which is used to hide and show the console.
Radar #6426533
Applets do not receive scroll events in Safari.
Description:
The base NSView for AWT controls did not forward scroll events to their Java peers under some circumstances.
Resolution:
This issue has been resolved.
Radar #6649881
Deliver next generation applet plug-in (Plugin2) for development testing.
Description:
Developers need to be able to try out the next generation out-of-process applet plug-in. While there are a number of outstanding issues, developers should be able to try out this technology and report bugs back to Apple in a GM release.
Resolution:
This issue has been resolved. Developers can use Plugin2 by selecting "Run applets: (*) In their own process" from the Java Preferences application.
Radar #6972083
Applets in Java SE 6 were not correctly disposed in some circumstances.
Description:
An error in the internal applet lifecycle management prevented destroy()
from being called on some applets, and allowing them to be properly deallocated.
Resolution:
This issue has been resolved.
Java Application Support
Radar #7032365
There is no way to create a Java application that uses Objective-C garbage collection in JNI.
Description:
The JavaApplicationStub for bundled Java applications on OS X is compiled to run in Objective-C non-garbage-collected mode. It is not generally possible to create a new JavaApplicationStub with ObjC-GC turned on.
Resolution:
This issue has been resolved. A new JavaApplicationStubGC has been added to /System/Library/Frameworks/JavaVM.framework/Resources/MacOS
, which supports ObjC-GC. It is currently only for development purposes of JNI libraries and to test Java's native code under the ObjC-GC environment.
Radar #7164785
Not all Java command line tools are present in /usr/bin
.
Description:
The Java command line tools present in the default /usr/bin
path were only the list present in J2SE 5.0, and were not updated for Java SE 6.
Resolution:
This issue has been addressed in Java for OS X v10.6 Update 1. The jrunscript, schemagen, wsgen, wsimport, and xjc tools have been added to /usr/bin
.
Radar #7192142
Applications fail to launch without a JavaVM.framework/Versions/1.4.2 present.
Description:
Certain server and education packages are known to fail if a JVM is not present at /System/Library/Frameworks/JavaVM.framework/Versions/1.4.2
. J2SE 1.4 is no longer supported by Sun or Apple and will not be introduced by or updated in future Java updates for OS X. These applications actually work fine in Java SE 6, so a symlink from 1.4.2 to CurrentJDK resolves this issue in OS X v10.6.
Resolution:
This issue has been resolved in Java for OS X v10.6 Update 1. A symlink from 1.4.2 pointing to CurrentJDK has been added for backwards compatibility.
Java Aqua LAF
Radar #3305882
JRadioButtonMenuItem is drawn inconsistently between in-window and screen menu bar.
Description:
The artwork for JRadioButtonMenuItem and JCheckBoxMenuItems rendering for in-window menus and popups was inherited from the Basic look and feel classes.
Resolution:
This issue has been resolved. The standard OS X menu check mark (and the selected-inverted variant) are used for both radio and check menu items.
Radar #5590828
JPopupMenus do not have rounded corners.
Description:
JPopupMenus, sub-menus, JComboBox popups, and the root in-window menus did not have rounded corners, like the native OS X popups.
Resolution:
This issue has been resolved. If a developer performs custom drawing in the corners of these popups, the transparent rounded corners will become squared off.
Radar #6270171
The "TitledBorder.aquaVariant" border allocates too much space at the top.
Description:
The border obtained from UIManager.getBorder("TitledBorder.aquaVariant")
is designed to be used as a general replacement for titled borders. To obtain an Aqua-style inset border without space for a title, use UIManager.getBorder("InsetBorder.aquaVariant")
.
Resolution:
This issue has been resolved by the introduction of "InsetBorder.aquaVariant".
Radar #6994970
JComboBox popups in Java SE 6 fail to select when using a non-String list model.
Description:
In Java SE 6, using JComboBoxes with a non-String based list model would fail to select values chosen by the JComboBox popup.
Resolution:
This issue has been resolved.
Radar #7152014
JComboBox popup keybindings do not match native OS X.
Description:
JComboBox popup keybindings for Home, End, Page Up, and Page Down would both highlight and commit the highlighted value without closing the popup.
Resolution:
This issue has been resolved. The target value is now only highlighted, not committed.
Radar #7153660
JCheckBoxes used as ListCellRenderers shift alignment when selected in Java SE 6.
Description:
JCheckBoxes installed as JList cell renderers were being applied an additional set of insets when selected.
Resolution:
This issue has been resolved.
Radar #7165246
There is no way to show "prompting" text for search-field variant of JTextField.
Description:
For JTextFields set to the "search" variant, there has been no way to show "prompting" text when the field does not have focus. For more information about transforming a JTextField into a search field, see New Control Styles available within J2SE 5.0 on Mac OS X 10.5.
Resolution:
This issue has been addressed. The string value of the "JTextField.Search.Prompt" client property will be displayed when the search field does not have focus.
Radar #7276949
JCheckBoxMenuItem and JRadioButtonMenuItem have no indeterminate state.
Description:
This is an enhancement request for an indeterminate state for JCheckBoxMenuItem and JRadioButtonMenuItem. Setting the "JMenuItem.selectedState" client property for the JMenuItem to "indeterminate" causes them to be rendered with a dash instead of a check.
Resolution:
This issue has been resolved.
Java AWT
Radar #6193836
Robot.mouseWheel(int)
scrolls in the opposite direction compared to MouseWheelEvent.getValue()
.
Description:
The scroll events synthesized from Robot.mouseWheel(int)
moved the scroll pane in the opposite direction as the int value from MouseWheelEvent.getValue()
.
Resolution:
This issue has been resolved.
Radar #7038002
Windows throw NullPointerExceptions when dragged onto additional displays.
Description:
If a window is dragged onto a secondary display which had been attached after the Java application was launched, the window throws a NullPointerException originating from its GraphicsEnvironment.
Resolution:
This issue has been resolved in Java SE 6 (previously addressed in J2SE 5.0).
Radar #7086030
Applying "apple.awt.documentModalSheet" to non-modal windows clips the bottom of the window.
Description:
Applying the "apple.awt.documentModalSheet" client property to a window that is not a document modal dialog had the side effect of clipping the bottom of the window's contents.
Resolution:
This issue has been resolved.
Radar #7119767
Window content is not updated on hide/show In Java SE 6.
Description:
Windows hidden and then shown were not properly redrawing their content.
Resolution:
This issue has been resolved.
Radar #7145312
AWT FileDialog throws a NullPointerException when selecting root volume in "apple.awt.fileDialogForDirectories" mode.
Description:
When using an AWT FileDialog in "apple.awt.fileDialogForDirectories" mode, selecting the root volume "/" would cause a NullPointerException to be thrown from the native FileDialog peer.
Resolution:
This issue has been resolved.
Radar #7156629
AWT components in modal dialogs do not repaint, appear to lag, refresh on resize.
Description:
The Java graphics window tick flusher was not firing when the AppKit runloop was being run in a modal mode.
Resolution:
This issue has been resolved.
Radar #7173154
Frame.setIconImage()
is broken and Window.setIconImages()
is unimplemented in Java SE 6.
Description:
The new Window.setIconImages()
API in Java SE 6 was unimplemented, and as a result accidentally regressed the existing Frame.setIconImage()
API.
Resolution:
This issue has been resolved.
Radar #7361468
Momentum scrolling moves too quickly in Java scroll panes.
Description:
Momentum scrolling used by the Magic Mouse (and normal scrolling to a lesser degree) moved too quickly in Java scroll panes compared to native scroll views.
Resolution:
This issue has been resolved.
Java Core Frameworks
Radar #7276124
JavaNativeFoundation should provide date conversion.
Description:
The JavaNativeFoundation.framework now has low-level NSTimeInterval/milliseconds since epoc and NSDate/java.util.Calendar conversion functions in JNFDate.h
. [JNFDefaultCoercions defaultCoercer]
now also returns a date coercer as a standard coercion.
Resolution:
This issue has been resolved.
Radar #7317460
JavaNativeFoundation should provide array creation helpers.
Description:
JNFJNI.h now provides object and primitive array creation functions. These helpers will throw Objective-C exceptions if a Java exception occurs during invocation (NegativeArraySizeException, ClassNotFoundException, etc).
Resolution:
This issue has been resolved.
Radar #7354148
JNF_COCOA_EXIT does not properly pop autorelease pool on early return or exception throw.
Description:
The JNF_COCOA_EXIT macro did not properly pop the autorelease pool set up in the JNF_COCOA_ENTER macro if the intervening code threw an Objective-C exception or returned early.
Resolution:
This issue has been resolved. The JNF_COCOA_EXIT macro now performs the autorelease pool pop within a @finally clause.
Radar #7361122
JavaNativeFoundation cannot be used by Objective-C++ code.
Description:
The JNF_EXPORT macro in JNFJNI.h did not export a C++ compatible extern "C" declaration when compiled as Objective-C++.
Resolution:
This issue has been resolved.
Java Deploy
Radar #6456853
Trusting an applet needs to store origin as well as signing certificate chain.
Description:
When trusting signed Java content to run without prompting for both applets and Web Start applications, both the code origin and the signing certificate chain should be stored.
Resolution:
This issue has been resolved.
Java DnD
Radar #6923825
The first drag-enter event fails to initiate a drag-and-drop gesture.
Description:
The drag flavor types were not recognized the first time the user dragged over the window, but were later recognized on subsequent drag-enters.
Resolution:
This issue has been resolved.
Java EAWT
Radar #6731693
Java applications should be able to request the user's attention.
Description:
A new API has been added to the EAWT to allow a Java application to request the user's attention in situations like a download completing or a new instant message. The com.apple.eawt.Application.requestUserAttention(boolean)
function takes an argument if the request is urgent or not. The Dock icon will only be bounced if the Java app is in the background.
Resolution:
This issue has been resolved.
Java EIO
Radar #7123115
Java applications should be able to reveal files in the Finder and move files to the trash.
Description:
The com.apple.eio.FileManager now has two new desktop interaction methods, revealInFinder(File)
and moveToTrash(File)
. You can use revealInFinder()
to open a Finder window in the parent directory of a file and select it. You can use moveToTrash()
to move a file to the most appropriate Trash directory for the volume that contains that file. Both functions return a boolean if the operation succeeded, like their native Cocoa counterparts.
Resolution:
This issue has been resolved.
Java HotSpot
Radar #4409386
Using an invalid encoding causes the JVM to crash.
Description:
Passing an unknown value for the "file.encoding" system property would cause the JVM to crash.
Resolution:
This issue has been resolved. An UnsupportedEncodingException error is now printed.
Radar #6675249
Java SE 6 was not allowing ergonomics to decide on heap size with -server.
Description:
Legacy code was setting the maximum heap size to 128M with -server.
Resolution:
This issue has been resolved. Standard Java SE 6 ergonomics are now used to choose the heap size for -server invocations.
Radar #7061573
Java limits open file descriptors to OPEN_MAX (10240) even if kernel limits are higher.
Description:
The JVM was artificially limited to opening 10240 file descriptors, even if KERN_MAXFILESPERPROC is set higher.
Resolution:
This issue has been resolved.
Radar #7075389
The jmap command line tool fails with NoSuchSymbolException.
Description:
Attaching to a java process with jmap would produce the exception: Could not find symbol "heapOopSize" in any of the known library names (-)
.
Resolution:
This issue has been resolved. The "heapOopSize" symbol has been corrected.
Radar #7199114
Sending SIGTERM signal to parent process also kills child Java processes.
Description:
On previous releases of Java for OS X, killing a parent process via SIGTERM would also kill and Java child processes. This did not match the behavior of Java on other operating systems, nor the behavior of other runtimes or shell tools on OS X.
Resolution:
The signal SIGTERM is now ignored by child processes when sent to a parent process. This signal handling change now makes Java more consistent with other native processes.
Radar #7267505
The CMS garbage collector is unstable with -XX:+UseCompressedOops in Java SE 6.
Description:
The CMS garbage collector has several known issues with the compressed OOPs feature in Java SE 6.
Workaround:
The parallel garbage collector is automatically substituted for CMS when -XX:+UseCompressedOops is requested.
Java JavaLib
Radar #7236003
Timezone offset is calculated incorrectly for some regions (Toronto).
Description:
The offset from GMT was incorrectly calculated for some timezone regions that did not have exact matches in the tzmappings file.
Resolution:
This issue has been resolved.
Java ScreenMenuBar
Radar #5290925
Java applications need a way to define a default menu bar.
Description:
The com.apple.eawt.Application now has a setDefaultMenuBar(JMenuBar)
method that sets a default menu bar when no other Frames are open. This feature requires both the Aqua Look and Feel and apple.laf.useScreenMenuBar=true
property to set up the native menu bar delegates correctly.
Resolution:
This issue has been resolved. This should remove the need to create an invisible or offscreen window to simulate the appearance of a true "default" menu bar.
Radar #6981526
Dialog windows with null parents cause screen menu bar failure.
Description:
Java applications that use dialog windows without a parent frame would fail to properly restore their menu bar when they opted into the Aqua Look and Feel screen menu bar.
Resolution:
This issue has been resolved in Java for OS X v10.6 Update 1 (it was addressed in an earlier update to Java for OS X v10.5).
Radar #7276070
Sub-menus fail to generate MenuListener events on OS X v10.6.
Description:
Sub-menus of JMenus attached via the screen menu bar fail to fire MenuListener events of OS X v10.6, due to changes in the AppKit menu notification architecture.
Resolution:
This issue has been resolved in Java for OS X v10.6 Update 1.
Java Security
Radar #7011999
Kerberos 5 authentication fails in Java SE 6 in some circumstances.
Description:
A problem handling zero length salt values could prevent authentication via Kerberos 5.
Resolution:
This issue has been resolved.
Java Sound
Radar #3261490
javax.sound.midi.* API unimplemented for hardware MIDI devices.
Description:
The javax.sound.midi.* API has been unimplemented for hardware MIDI devices on OS X.
Resolution:
This issue has been resolved.
Radar #7107797
MIDI playback delays massively after system sleep.
Description:
Sleeping and waking a system with a Java application playing MIDI will cause a large delay to be introduced into the MIDI playback timing.
Resolution:
This issue has been resolved.
Radar #7264692
There is sound distortion on the right channel when using a 48000 Hz sample rate.
Description:
Setting the system to globally use the 48000 Hz sample rate caused sound played from Java to have a distortion in its right channel.
Resolution:
This issue has been resolved.
Java Swing
Radar #3017655
Discontiguous multi-selection modifier is not Command (Meta) in non-Aqua Look and Feels.
Description:
The discontiguous multi-selection modifier hardcoded into the Basic look and feel has been Control, which is the default on other platforms, but not on OS X. This also conflicts with the Ctrl-click popup trigger, and makes it impossible to invoke a contextual menu on a multiple selection.
Resolution:
This issue has been resolved. The Basic look and feel now correctly picks up the appropriate platform modifier key.
Java Text
Radar #7182998
Complex character input method fails to show intermediate composition on PPC.
Description:
Complex text (like Japanese or Chinese) composition failed to properly render the intermediate forms under composition on PPC hardware. The underlying glyph codes sent to the native rendering pipeline were not properly encoded from the character surrogate pairs.
Resolution:
This issue has been resolved.
Java Toolkit
Radar #7276165
The JavaAppleScriptEngine should coerce date types.
Description:
AppleScript date types should coerce into java.util.Calendar objects when returned by AppleScript script executions. Java Calendar and Date objects should coerce to AppleScript date objects when passed into AppleScript script executions.
Resolution:
This issue has been resolved.
Java VM Tools
Radar #7331567
jmap -histo, jmap -dump, jstack does not work against some applications.
Description:
The JVM attach API failed to receive the UNIX signal to trigger activation. This is due to the class verifier using setjmp/longjmp which had the side effect of corrupting the signal mask on the VM thread due to another bug in the OS.
Resolution:
This issue has been worked around by using non-sigmask resetting variants of setjmp/longjmp.
Radar #7384119
JVM tools (jstack, jvisualvm, etc) fail to connect to a Java process of different architecture.
Description:
When attaching to Java process, JVM tools must be launched in the same architecture as the process they are inspecting.
Workaround:
Pass an architecture flag to the JVM tool. For example, to inspect a 32-bit Java process on OS X v10.6, jstack should be launched with a "-J-d32" argument.
Java Web Start
Radar #6982739
javaws -viewer is broken.
Description:
The "javaws -viewer" or JNLP "<player/>" tag that opens the Java Cache Viewer stopped working when Java Cache Viewer was integrated into Java Preferences.
Resolution:
This issue has been resolved. Java Preferences now launches and pulls down the Java Cache Viewer sheet.
Radar #7286182
Shortcuts to Web Start applications are not downloading updates.
Description:
There was a bug in how Web Start determines if it was relaunched from the command line or launched from an app shortcut which prevented Web Start from downloading new versions of an application.
Resolution:
This issue has been resolved.
Radar #7406398
JNLPs launched as 32-bit with no architecture preference and other jvm arguments relaunch as 64-bit.
Description:
Java WebStart applications that do not specify an architecture preference, but do specify other JVM arguments, will always launch in 64-bit mode on capable hardware.
Workaround:
Specifying -d32 or -d64 in the jvm arguments or having an architecture-specific resource block will force a specific architecture.
Copyright © 2010 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2010-01-20