Ticket #360 (assigned usability)

Opened 3 years ago

Last modified 3 years ago

Bell stops working after awhile

Reported by: tgl@… Owned by: jeremyhu@…
Priority: Nice to Have Milestone: OSX
Component: xserver Version: 2.5.0 (xserver-1.7.6)
Keywords: Cc:

Description

It's been true for a long time that the X11 bell (beep) works when XQuartz is started, but eventually stops working for no obvious reason --- you just don't hear anything when an app tries to ring the bell. I could live with this up to now because the MTTF was of the order of weeks. With 2.5.0_rc1, though, the MTTF seems to be a day or less, which is really intolerable (I don't type accurately enough to be able to use emacs with no feedback beeps :-(). Please fix, or at least get it back to the level of reliability it had before the most recent updates.

Change History

comment:1 Changed 3 years ago by jeremyhu@…

What bell are you using? (ie: what is the state of the "Use system alert effect" checkbox in preferences?)

Does the bell work when you toggle to the other bell style?

Is there anything interesting in /var/log/system.log when you try to beep?

comment:2 Changed 3 years ago by jeremyhu@…

  • Milestone set to 2.5.1

comment:3 Changed 3 years ago by tgl@…

I normally keep "Use system alert effect" checked. Experimenting just now, I find that I hear the bell when it's unchecked and not when it's checked; but I never thought to try that before so I can't aver that this is always the case. I suppose that's a workaround, although I don't like the "non-system" beep as much as the one I have selected as system beep.

Nothing appears at all in /var/log/system.log.

(Pokes at it some more...) Seems like the non-system bell choice also avoids the fractional-second delay that sometimes happens when using the system alert; I've always supposed that some big chunk of code has to get swapped in for that to work, but likely you'd know that better than me.

comment:4 Changed 3 years ago by jeremyhu@…

  • Milestone changed from 2.5.1 to OSX

weird. I actually suspected the problem was the other way around. All we do in the checked case is call NSBeep():

http://cgit.freedesktop.org/~jeremyhu/xserver/tree/hw/xquartz/quartzAudio.c#n225

My guess is that there is something else wrong with NSBeep(), but that isn't something I control. Could you open a bug at http://bugreport.apple.com and tell me the bug number, so I can track it?

Thanks.

comment:5 Changed 3 years ago by jeremyhu@…

  • Status changed from new to assigned
  • Version changed from dev (xorg-server-1.7-apple) to 2.5.0 (xserver-1.7)

comment:6 Changed 3 years ago by tgl@…

OK, will do as soon as I see it happen with 2.5.0 + 10.6.3 (I've been running with UseSysBeep turned off, but will now turn it on again).

BTW, my comment above about delay was incorrect: with either setting of UseSysBeep, there is sometimes a long-enough-to-be-annoying delay before the tone sounds. This does not recur if you cause another beep to sound in quick succession. It does recur if you go off and do something else for awhile (like, say, responding to this trac ticket in Safari ;-)). It looks for all the world like something's getting swapped out --- but Activity Monitor shows nearly a quarter of the RAM in this laptop still free, so surely no swapping is happening, and in any case it's hard to explain a more-than-half-a-second delay that way. I get the impression that the delay is a tad longer in the UseSysBeep case than the other path, but I'm not totally sure of that.

comment:7 Changed 3 years ago by tgl@…

I just observed this bug again for the first time in awhile. I'm currently on 2.5.1_rc1 + 10.6.4, with UseSysBeep on. I have previously tried adjusting the speaker volume up or down (F11/F12) and found that that did not help, but this time it occurred to me to try muting and unmuting (ie, press F10 twice). That restored the beep! Dunno if that helps you solve it, but at least it gives me a workaround that's much less painful than restarting X11.

comment:8 Changed 3 years ago by tgl@…

Filed at bug report 8144187.

Note: See TracTickets for help on using tickets.