Title: Application Crashes, and hs_err Log Appears On Desktop

Detailed Description:

While using the KeyMusician Keyboard, its windows suddenly disappear, and an hs_err_pidxxxx.log file appears on the desktop. Inside the log-file that appears (a JVM crash report), a “Problematic Frame” is reported. The crash happens unpredictably (usually soon), probably during garbage-collection. Changing the look-and-feel of the application is very likely to trigger it.

Cause Of Problem:

A change put into Oracle Java 8 (1.8.0_40) causes the application to crash, probably during garbage-collection. Using large soundfonts (such as FluidR3_GM) in the Java Sound (Gervill) synthesizer, and changing the look-and-feel of the application (from Nimbus to Windows) make the crash much more likely to happen.


The JVM parameters used to prevent sound-dropouts using large soundfonts in the Gervill synthesizer, appear to cause the crash.

Re-install the application having the work-around, by clicking on the following links (depending on the version(s) of the application you installed):

Download the KeyMusician Keyboard

Download the accessible KeyMusician Keyboard (EagleEyes accessibility – for playing via mouse single-clicks)

This new version of the application having the work-around, may experience a sound-dropout during the first garbage-collection, but it should be reliable thereafter. It uses only the “-XX:NewRatio=18” JVM parameter, which by itself doesn't enable the JVM crash.

When the application runs, the version displayed in the title-bar should be “1.13” or later. If it doesn't, apply the work-around in the “Re-Install Doesn't Update The Application” trouble report.

The parameters enabling the crash (but better at preventing sound dropouts) were:

-esa -Xnoclassgc -XX:MaxGCPauseMillis=50 -XX:NewRatio=18"

Fix (work-around) Available (in 1.13, released April 9, 2015):

The work-around for this problem was completed (and published) on April 9th, 2015. If you installed later than that date, you should not have this problem. As of Oracle Java 8 (1.8.0_45), the underlying problem in Oracle Java has not yet been fixed.