The sound issue...

For test results, bug reports, announcements of new builds etc.

Moderators: another_commander, winston, Getafix

Post Reply
User avatar
Rxke
Retired Assassin
Retired Assassin
Posts: 1743
Joined: Thu Aug 12, 2004 4:54 pm
Location: Belgium

The sound issue...

Post by Rxke »

OSX 10.3.9, Oolite 1.62

So.... After having disabled the speech-synth, things seemed rock-stable. Until today, when I shot a baddie, and it blew up, the game froze...
"Aaargh!" I thought, and went to the console, only to see that it kept updating, so I went back to the game, and it still worked! Although w/o sound...
Initially, it seemed to struggle, everytime a sound event happened, it crawled to a snail's pace (yea, crawling snails, sorry)
But after awhile, it ran a *little* bit faster, so I fuel-injected out of the fight, towards the station, only to discover shift-D didn't work anymore. So I docked manually, only to get the 'all hands' alert from the Thargoiddwars OXP, Darn, so I exited station, stuff crawling to sub 4FPS, so I fuel injected to another system, hoping the vincinity to their station would be less crowded, giving me a chance to manually dock, and..; There shift-D worked again :?
Of course, console kept churning out gazillions of
OOCASoundMixer: failed to connect channel <OOCASoundChannel 0x1384c10>{ID=31, state=stopped, sound=<OOCABufferedSound 0x4f52c20>{"afterburner1.ogg"}}, error = kAudioUnitErr_CannotDoInCurrentContext/kAUGraphErr_CannotDoInCurrentContext/kAUGraphErr_CannotDoInCurrentContext.
and after awhile this gem:
Out of sound channels! Pretend you're hearing afterburner2.ogg
(lots of those, also...)

So.. Long story short: it's not the voice-synth, but this time it didn't hang (only momentarily, but recovered) and it is far less frequent than when using Oolite w/ voicesynth...
BTW: somebody reported this behaviour too, IIRC, on a laptop.

User avatar
Murgh
---- E L I T E ----
---- E L I T E ----
Posts: 454
Joined: Fri Sep 03, 2004 6:19 am
Location: Terra Firma

Post by Murgh »

Rxke wrote:BTW: somebody reported this behaviour too, IIRC, on a laptop
yes, I did, on a iBook G4 panther with the minimum RAM.

but few and far between. and I couldn't reprouduce it when piling up with the conditions I suspected..

never saw the "pretend" message though :D
The man next to you is your lunch

User avatar
Evil Juice
Dangerous
Dangerous
Posts: 76
Joined: Mon Feb 20, 2006 7:01 pm
Location: Florence, Italy

Post by Evil Juice »

i did it also, g3 ibook, 128mb, 10.3.9, oolite 1.62 PPC. The very same behaviour. The pretend message never came out, i would have liked to see it.
Target lost

User avatar
Rxke
Retired Assassin
Retired Assassin
Posts: 1743
Joined: Thu Aug 12, 2004 4:54 pm
Location: Belgium

Post by Rxke »

Ah, yes, it was you I was thinking of, Evil.

I've got 384Mb, not a lot, but more than sufficient, from the looks of it, still have a good chunk memory free...

User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

It seems to be some sort of synchronisation issue in the code. When a sound channel (technically an output audio unit) is finished playing, it’s supposed to be stopped an disconnected form the mixer by the ”reaper” thread, then returned to the pool of free channels. The CannotDoInCurrentContext error indicates that the stopping didn’t happen, but the channel was put in the pool anyway and the sound system tried to play a new sound through it. I need to work out why.

The “pretend” message happens when the pool is empty, i.e. when all sound channels are in use. If the sound system were working properly, it would only happen when you had more than 32 sounds playing at once, which would hopefully never happen, so it’s a kind of easter egg. If you see this happening more than once in a blue moon when you’re not having the CannotDoInCurrentContext errors, I’d like to hear about it.

Shift-D not working is probably an artifact of low frame rates; these can make it hard for key combos to be recognised.

User avatar
Rxke
Retired Assassin
Retired Assassin
Posts: 1743
Joined: Thu Aug 12, 2004 4:54 pm
Location: Belgium

Post by Rxke »

Ahruman wrote:If you see this happening more than once in a blue moon when you’re not having the CannotDoInCurrentContext errors, I’d like to hear about it.

Shift-D not working is probably an artifact of low frame rates; these can make it hard for key combos to be recognised.
I don't think that'll happen, it only started to happen when the CannotDo in etc... stuff was filling the screen, and i kept flying around, doing all kinds of stuff that 'makes a noise' (but there was no sound) (esp. fuel-inject) so I guess in the end, it 'saturated' , running out of channels.

re: shift-D, I thought that too, stupid enough didn't test this w/ shift-F :oops:

User avatar
Rxke
Retired Assassin
Retired Assassin
Posts: 1743
Joined: Thu Aug 12, 2004 4:54 pm
Location: Belgium

Post by Rxke »

Ahruman wrote:Shift-D not working is probably an artifact of low frame rates; these can make it hard for key combos to be recognised.
Now I'm starting to doubt that...
It happened again, and surely, it causes low framerates, but I was able to use shift-F w/o a problem. Jumping to another system somehow ends the low framerates 'cause' :s But there too, shift-D didn't work at all.

User avatar
Rxke
Retired Assassin
Retired Assassin
Posts: 1743
Joined: Thu Aug 12, 2004 4:54 pm
Location: Belgium

Post by Rxke »

:D :D :D

I got the sound problem again, BUT: it just complained in Console a bit, and EVEN BETTER: it then behaved again as if nothing had happened! :D :D

Nice one Ahruman, kudos!

For the record: Console showed:

Code: Select all

2006-03-22 18:00:13.369 Oolite[407] Channel <OOCASoundChannel 0x1388310>{ID=9, state=broken (-10863), sound=<OOCABufferedSound 0x4e49b00>{"laser.ogg"}} broke with error kAudioUnitErr_CannotDoInCurrentContext/kAUGraphErr_CannotDoInCurrentContext/kAUGraphErr_CannotDoInCurrentContext.

2006-03-22 18:00:13.477 Oolite[407] OOCASoundMixer: failed to connect channel <OOCASoundChannel 0x1388310>{ID=9, state=stopped, sound=<OOCABufferedSound 0x4e49b00>{"laser.ogg"}}, error = kAUGraphErr_InvalidConnection.

etc. etc.
What happened in-game: (I was) lasering a Thargoid, all of a sudden lasersound stops, but no slowing down of game-engine, and sound picked up againg quite swiftly after the 'hiccup'.

User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

Well, it’s an improvement. I can’t say I’m happy with it, since I still don’t understand how it’s getting into the wrong ”state”. :-/

User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

Actually, I think I do know how it’s getting in the wrong state. Not surprisingly, it’s down to me being thick. ;-) The next step is to fix it in a way which doesn’t cause a new cascade of bugs.

Post Reply