Opened 14 years ago

Closed 13 years ago

#5 closed defect (worksforme)

too many sounds at once locks psi up

Reported by: Andy Owned by: dmik
Priority: major Component: psi
Version: Keywords:


With the latest release of psi/2 I tried adding a transport that had 24 contacts. When it adds them it tries to generate a sound for each one. When it hits 10 names (sounds) it then locks up. The cpu usage is 0 and other apps will work (though it did force me to reboot via ctrl-alt-del once as I could not kill psi/2 and the regular shutdown hung). Generally I can psi/2 ok but as soon as I reconnect in an online status it fires them off again and again at 10 it hangs. I shut off the sound in psi/w and then went online and it added them all fine and everything is happy again.

Change History (3)

comment:1 Changed 14 years ago by dmik

Component: [general]psi

What is the latest release of psi/2 in your understanding? 0.10 beta 1 or 0.10.1? Please verify if the problem still exists in Psi/2 0.10.1. If so, please try the workaround described in the Troubleshooting section of Readme-OS2.txt and report here about the result.

comment:2 Changed 14 years ago by dmik

Just for the record. The actual problem is that something gets screwed up uniaud (and possibly some other audio drivers) when one plays too many (>10 or so) sounds simultaneously (i.e. w/o waiting until the previous sound finishes playing) in shared (non-exclusive) mode. On both of my systems, all tested Qt applications (including Psi) hang in mmpm.dll while doing mciSendCommand(MCI_CLOSE) for the last of played sounds. This call is made on the GUI thread, and therefore the whole application simply freezes (and may give 100% CPU load, or may just make the system really slow).

Since the uniaud driver is the most commonly used nowadays, I changed Qt so it now opens sounds in exclusive mode by default. It may be switched back to shareable mode by assigning some value to the QT_PM_SOUND_SHARE environment variable. QT_PM_NO_SOUND_SHARE is still there and does the opposite (forces sounds to be opened in exclusive mode, for backward compatibility). QT_PM_NO_SOUND_SHARE takes precedence over QT_PM_SOUND_SHARE. The fixed Qt library will be used in the next Psi release.

Note that exclusive mode is a temporary default and will be changed back to shareable once uniaud is fixed.

comment:3 Changed 13 years ago by dmik

Resolution: worksforme
Status: newclosed

Closing this defect due to lack of the feedback from the reporter.

Note: See TracTickets for help on using tickets.