Help me report a bug in the Sound Blaster live emu10k1 driver
GeneralThis forum is for non-technical general discussion which can include both Linux and non-Linux topics. Have fun!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Help me report a bug in the Sound Blaster live emu10k1 driver
I have no idea who to report this to, but I think I have found a glitch in the Sound Blaster Live (emu10k1) driver in linux. I would like some assistance from you cool guys in the world of linux, in getting this reported and fixed.
To reproduce these steps, you will need aplaymidi and rosegarden installed.
Steps to reproduce:
1 Start a midi file playing using aplaymidi, which should be set to use the Sound Blaster live's hardware wavetable synthesizer (most likely port 17:0, or in older kernels maybe 65:0)
2 While this is happening, open Rosegarden. If the computer doesn't freeze, close rosegarden and open it again. After a couple of tries, it ought to freeze the system.
I imagine this is a problem to do with something (in this case rosegarden) trying to open a sequencer connection with the SB live synth while it's already busy with something else (in this case aplaymidi).
Many people still have soundblaster cards, and quite a few use its synthesizer. So I think it's important that this bug gets some attention.
Myself, I'm just a lowly man who uses the UBUNTU LINUX! I haven't the strength or the courage to go into the KERNEL MAILING LISTS and other frightening places.
YOU have the pow0r to help make LINUX a better OS for those of us who use the SOUND BLASTER LIVE (emu10k1)!
I have no idea who to report this to, but I think I have found a glitch in the Sound Blaster Live (emu10k1) driver in linux. I would like some assistance from you cool guys in the world of linux, in getting this reported and fixed.
I imagine this is a problem to do with something (in this case rosegarden) trying to open a sequencer connection with the SB live synth while it's already busy with something else (in this case aplaymidi).
I would eport this as a bug in Rosegarden. Possibly Rosegarden is not using lock files correctly. Is this the bug?
Isn't the emu10k1 module made by the folks at Alsa? Maybe they have a mailing list there. I wouldn't be too worried about joining lists - we all have to start somewhere and most of the time they are a great resource.
It's more likely to be a kernel/driver problem, because it results in a complete system freeze. Keyboard lights don't change, ctrl+alt+f1 doesn't work, etc.
It's more likely to be a kernel/driver problem, because it results in a complete system freeze. Keyboard lights don't change, ctrl+alt+f1 doesn't work, etc.
The freeze is occurring in the driver which is part of the kernel. The sound card is supposed to be single threaded, i.e. only one program at a time can play sounds. In your description of the problem you say that you start aplaymidi and then start Rosegarden. The problem is intermittent in that sometimes the problem happens and sometimes it doesn't.
These symptoms point to the driver sometimes collapsing when trying to work on two sound requests simultaneously. Sometimes the timing of the two requests cause the driver to discombobulate and sometimes it doesn't. The driver is not written for simultaneous access from two different threads. The problem is similar to two different programs trying to burn CDs at the same time.
This type of access control problem for exclusive use of a resource is handled by using lock files. So some software in the stack of sound programs is responsible for insuring that the currently running sound application has exclusive control of the sound card. The responsible programs are most likely Rosegarden and aplaymidi. They should obtain exclusive use of the sound card before attempting to use it. If the responsible program is somewhere down the stack from Rosegarden then the Rosganden developers can push the bug report on to the software developers who are supposed to handle the lock files for sound access. Or if Rosegarden is handling the lock files correctly and aplaymidi isn't then the Rosegarden developers can pass the bug on to aplaymidi.
Then that's still a serious design flaw of either alsa, or linux, or the the driver. Because if someone forgets to handle these lock files in their application program properly, this simple bug in their program brings down the entire system.
And if something wrongly tries to have access to the driver when something else is already using it, the driver should be able to gracefully handle the situation rather than bombing out and taking the entire system down with it.
Then that's still a serious design flaw of either alsa, or linux, or the the driver. Because if someone forgets to handle these lock files in their application program properly, this simple bug in their program brings down the entire system.
And if something wrongly tries to have access to the driver when something else is already using it, the driver should be able to gracefully handle the situation rather than bombing out and taking the entire system down with it.
You are right. The lock files should be handled as far down the stack as possible. The locking logic must be on the Rosegarden and aplaymidi threads but it should be as close to the actual driver as possible. So you have changed my thinking to looking for the bug in software called by Rosegarden and aplaymidi. In any case when Rosegarden is started it should return a "device busy" error.
You might want to check your sound card settings. I seem to recall that the "full duplex" is not checked by default in the sound card setup dialog on KDE or GNOME.
Shouldn't the driver lock the card? If this is as jailbait told, then you could experience same problems with any audio app and rosegarden (or aplaymidi). You could try and then you'll know which app disrespects locks. Alsa == driver. Driver crash shouldn't crash linux kernel (it was designed to act so, but probably it doesn't mean that it recovers always).
Last edited by Alien_Hominid; 01-10-2008 at 03:45 AM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.