Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4345944
Votes 0
Synopsis An open Synthesizer or Sequencer will crash in 3hrs, 22min
Category java:classes_sound
Reported Against merlin-beta , ladybird-beta
Release Fixed 1.4(merlin-beta2)
State 11-Closed, Verified, bug
Priority: 2-High
Related Bugs 4428704 , 4811185
Submit Date 15-JUN-2000
Description
An open Synthesizer or Sequencer will crash in 3hrs, 22min
In all cases, the machine is frozen and must be restarted.

This problem appears to manifest only when running "Windows 98 Second Edition".
On this platform the behavior is 100% reproducible.
This behavior has been reproduced on a second machine also running "Windows 98 Second Edition".
This behavior occurs with both jdk1.3 & jdk1.4.

This problem appears not to manifest on any other configuration tested.
Other configurations tested are:
01. Same machine running Windows 98 (not second edition) 
02. Same machine running Windows 2000 
03. Same machine running Windows NT

This problem appears not to manifest on any Solaris configurations.

Also note that on the configurations which do not exhibit this behavior, the tests ran for 24 hours and never crashed.

Both of the interfaces, (Synthesizer & Sequencer) are derived from "MidiDevice" and inherit its "open" method
When getDeviceInfo is called on instances of Sequencer and Synthesizer, the following info is returned:
(Note that this same info is returned for both crashing and non-crashing configurations.)

Sequencer
Description: Software sequencer / synthesizer module
Name: Java Sound Sequencer
Vendor: Sun Microsystems
Version: Version 1.0

Synthesizer
Description: Software wavetable synthesizer and receiver
Name: Java Sound Synthesizer
Vendor: Sun Microsystems
Version: Version 1.0

When memory usage was tracked, it appeared that the problem is not memory related.
Free memory was actually higher at the time of the crash.
The following info was gathered:
Start Of Test: Total Memory: 2031616, Free Memory: 1605264
Crash Time: Total Memory: 2031616, Free Memory: 1718320

This problem appears to be time related.
It's interesting to note the consistency of the elapsed time to crash of different test runs:

Test Run 01: Elapsed Time: 3:22:51
Test Run 02: Elapsed Time: 3:22:51
Test Run 03: Elapsed Time: 3:22:56
Test Run 04: Elapsed Time: 3:22:55
Test Run 05: Elapsed Time: 3:22:48

This behavior can be reproduced using the following code:
___________________________________________________________
try
{
	Sequencer theSequencer = MidiSystem.getSequencer();

	if(!(theSequencer.isOpen()))
		theSequencer.open();
			
	Thread.sleep(3600000 * 4);	//	4 hours
			
	theSequencer.close();
}
catch (Exception ex) { ex.printStackTrace(); }
___________________________________________________________

 xxxxx@xxxxx  2000-06-15 
Work Around
N/A
Evaluation
 xxxxx@xxxxx  2001-02-08
	Nice descriptive writeup. Unfortunately, I have no on to
	look at this for ladybird. Commit for Merlin.
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang