Opened 18 years ago

Closed 18 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:
Cc:

Description

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 by dmik, 18 years ago

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 by dmik, 18 years ago

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 by dmik, 18 years ago

Resolution: worksforme
Status: newclosed

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

Note: See TracTickets for help on using tickets.