OpenSolaris

Printable Version Enter a New Search
Bug ID 6631254
Synopsis Xsun and Xorg are blocked when program sounds the audio device
State 11-Closed:Unverified (Closed)
Category:Subcategory xserver:xsun-server
Keywords
Responsible Engineer Jeremy Uejio
Reported Against
Duplicate Of
Introduced In
Commit to Fix snv_82
Fixed In snv_82
Release Fixed solaris_nevada(snv_82) , solaris_10u5(s10u5_05) (Bug ID:2156734)
Related Bugs 4355782 , 6425775 , 6436536 , 5035581 , 4421990
Submit Date 17-November-2007
Last Update Date 9-March-2009
Description
Both Xsun and Xorg on x86 and sparc have had problems that the sounding
of the bell would block the server while the bell was ringing.

Bug 6425775 - Xsun is blocked when a program rings keyboard- or audio- bell
was used to fix the keyboard bell, which went into Solaris 11 build 76.
This bug is being opened since the problem still remains with the audio bell.

Modified from bug 6425775:
When a program rings audio-bell Xsun is blocked

It is not a question of hanging.
The X Server is suspended/blocked/not-scheduled while the beep noise sounds.
With the "audiobell" option the X Server blocks in close() (the close() 
of the audio device file does not return until the sound has stopped).

A beep with audiobell:
The xserver opens the audio device
The xserver writes data to the audio device
The xserver closes the audio device.
In the audiobell case, when the xserver closes the audio device, it _blocks_
until the sound has been completely played. Thus the resultant behaviour is
exactly the same; in both cases the xserver sleeps during the beep.

A test with JDS(gnome) shows that this is not an option. 
Even after the beep is finished I did not get back the control and finally must 
kill the Xsun process.


Customer tested this under Solaris 8.
The problem can be reproduced also under Solaris 9, 10, 10U1 with CDE and JDS(gnome).
The problem cannot be reproduced on a nevada-x86 System because it is using Xorg
 instead of Xsun.
Customer stated that the problem does not occur under Linux/XFree86.

It is a serious problem for the customer. If a satellite/probe requests attention for some reason and rings the bell it is necessary that one can work on screen.

TESTCASE:

The command of the testcase exaggerates the duration of the beep to make the problem visible.
In normal life the beep is somewhat shorter but cannot be turned off at all.

/usr/openwin/bin/xset b 20 400 10000
/bin/echo ^G (which is Control G)

/usr/openwin/bin/xset b (reset bell)

This happens with or without the audiobell option.
During the bell is ringing - no action can be done, no movement of windows, no clicks, nothing...
This happens on sol 2.6 to 10 also.
> *** (#1 of 1): 2006-05-15 05:46:27 PDT  xxxxx@xxxxx.com
Work Around
N/A
Comments
N/A