Bug #1298

Crash assert in simple_sound when entering guild hall

Added by Sywindt over 8 years ago. Updated over 7 years ago.

Status:Feedback Start date:05/22/2011
Priority:Low Due date:
Assignee:- % Done:

100%

Category:OS: Mac
Target version:Version 0.9.0

Description

From live: When entering a guild hall, user always crashes with an assert: AST 70ba8ca0 simple_source.cpp 177 : "play"

See log file

anonlog.log (224.4 kB) Sywindt, 05/22/2011 07:09 pm


Related issues

related to Ryzom - Feature #1314: OpenAL environment effects on Mac OS X New 06/06/2011

History

#1 Updated by rti over 8 years ago

related to #1215?

#2 Updated by Sywindt over 8 years ago

Looks quite similar indeed; Missed that in my (admittedly cursory) search.

This however happens every time when entering guild hall; player has not had it at other time.

#3 Updated by rti over 8 years ago

Thanks a lot for reporting. So now we got a way to reproduce it.

#4 Updated by Naush over 8 years ago

Where is you GH, Tryker gh doesn't sufer this bug :/

#5 Updated by Sywindt over 8 years ago

It is a Matis GH

#6 Updated by Sywindt over 8 years ago

It is a Matis GH; UserPosition: 20196.13 -465.42 0.81

#7 Updated by Naush over 8 years ago

Oki, I have the same feed back from Markanjio who is matis from a matis guild. As a quick work around he suggest to turn out the sound :/
He also told me that the city music raise the bug.

A last thing that is not needed for the momment, may I know what is your sound setup ? Alsa/ pulseaudio / ???

Many thanks for your feed back :)

#8 Updated by Sywindt over 8 years ago

I have asked the player in question to reply directy.

#9 Updated by eify over 8 years ago

Naush wrote:

A last thing that is not needed for the momment, may I know what is your sound setup ? Alsa/ pulseaudio / ???

Hey Naush, I'm the player in question, can you please tell my how I can identify my sound setup (drivers?)? Please note that I'm running Mac OSX Snow Leopard and with a Mac these drivers are probably generic for the whole model line.
. A quick Google search didn't gave me an answer.

#10 Updated by Naush over 8 years ago

Alsa / pulseaudio is not relevant for a macOSX setup, Markanjio is linux based and I also suffer this bug, I also suffer a sound driver bug, but it is very rare. I miss the point you where all macosx based.

btw linux and macosx are sharing the same audio code.

Can you provide screen shoot of system->configuration -> sound ?

#11 Updated by rti over 8 years ago

Without looking really deep into it, this could prevent the "crash" (AKA hide the problem):

diff -r 112b0f17d193 code/nel/src/sound/simple_source.cpp
--- a/code/nel/src/sound/simple_source.cpp    Wed Jun 01 01:16:06 2011 +0200
+++ b/code/nel/src/sound/simple_source.cpp    Wed Jun 01 11:27:30 2011 +0200
@@ -174,7 +174,11 @@

         // and play the sound
         bool play = pSource->play();        
-        nlassert(play);
+        // nlassert(play);
+        if(!play)
+        {
+            nlwarning("ISource::play() failed on %X", pSource);
+        }
         // nldebug("CSimpleSource %p : REAL play done", (CAudioMixerUser::IMixerEvent*)this);
     }
     else

Do not assert if play was not successful, just print a warning.
Btw, CSourceAL::play() returns false if alSourcePlay creates an error (taken from source_al.cpp:251):

alSourcePlay(_Source);
_IsPlaying = alGetError() == AL_NO_ERROR;
if (_IsPlaying)
    _StartTime = CTime::getLocalTime();
return _IsPlaying;

#12 Updated by rti over 8 years ago

Another backtrace and log: http://fpaste.org/T9VW/

#13 Updated by rti over 8 years ago

  • Priority changed from Normal to High

#14 Updated by rti over 8 years ago

I was able to reproduce this crash with some code based on the NeL sound sources sample.
Very interesting is, alGetError returns -1 in this situation, which is IMHO an undocumented error code.
The same code works without problems if I use OpenAL soft instead of Apple's OpenAL.framework.

#15 Updated by kaetemi over 7 years ago

  • Status changed from New to Assigned
  • Assignee set to kaetemi
  • Priority changed from High to Immediate
  • Target version set to Version 0.9.0

Assert will be replaced with warning.

#16 Updated by kaetemi over 7 years ago

  • Status changed from Assigned to Resolved
  • % Done changed from 0 to 100

Applied in changeset commit:d8010e723e0d.

#17 Updated by kaetemi over 7 years ago

  • Status changed from Resolved to Feedback
  • Assignee deleted (kaetemi)
  • Priority changed from Immediate to Low

Shout here when you get the warning message in your logs, and if anything funny happens with the sound in-game when this occurs.

Also available in: Atom PDF