Jump to content
Eternal Lands Official Forums
Torg

Major NEW_SOUND update - EL gets a (complete?) sound system

Recommended Posts

Dunno. When i log on i see the current frame but that's it. i cant move anymore, don't see anything moving etc.

 

Edit: Hmm it works now but only after i tried to turn off the Sound from the options. It didn't turn off but after the restart teh client is no longer freezing

 

 

Edit 2: Nevermind, not working again

Edited by kibora

Share this post


Link to post
Share on other sites

Kibora poited out to me that there's a new sound pack ...

(nobody reads edited first page posts )

 

After I unpacked that, I heard birds for a few seconds, and then this:

B: 3.1

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x0000000b
[Switching to process 3318 thread 0x81b3]
0x05075bbc in std::type_info::__do_catch (this=0x509e3c0, thr_type=0x7) at ../../../../gcc-4.2.1/libstdc++-v3/libsupc++/tinfo.cc:89
89	  __do_catch (const type_info *thr_type, void **, unsigned) const
(gdb) bt
#0  0x05075bbc in std::type_info::__do_catch (this=0x509e3c0, thr_type=0x7) at ../../../../gcc-4.2.1/libstdc++-v3/libsupc++/tinfo.cc:89
#1  0x90b42d1e in __cxa_get_globals ()
#2  0x90b4342a in __gxx_personality_v0 ()
#3  0x90bd7acb in _Unwind_RaiseException ()
#4  0x90b43747 in __cxa_throw ()
#5  0x9add4f3b in OALSource::PostRenderRemoveBuffersFromQueue ()
#6  0x9add586c in OALSource::DoPostRender ()
#7  0x700090f9 in DefaultOutputAUEntry ()
#8  0x700104d8 in AUHighShelfFilterEntry ()
#9  0x700098ed in DefaultOutputAUEntry ()
#10 0x700d31c7 in AUNetSendEntry ()
#11 0x700d25e7 in AUNetSendEntry ()
#12 0x93d7080d in AudioConverterChain::CallInputProc ()
#13 0x93d704aa in AudioConverterChain::FillBufferFromInputProc ()
#14 0x93d6fcaa in BufferedAudioConverter::GetInputBytes ()
#15 0x93d6fb3b in CBRConverter::RenderOutput ()
#16 0x93d6f89f in BufferedAudioConverter::FillBuffer ()
#17 0x93d6fa2d in AudioConverterChain::RenderOutput ()
#18 0x93d6f89f in BufferedAudioConverter::FillBuffer ()
#19 0x93d6f72c in AudioConverterFillComplexBuffer ()
#20 0x70009483 in DefaultOutputAUEntry ()
#21 0x70009038 in DefaultOutputAUEntry ()
#22 0x700084fd in DefaultOutputAUEntry ()
#23 0x91476912 in HP_IOProc::Call ()
#24 0x91475e4e in IOA_Device::CallIOProcs ()
#25 0x91475bd9 in HP_IOThread::PerformIO ()
#26 0x91474001 in HP_IOThread::WorkLoop ()
#27 0x91473c43 in HP_IOThread::ThreadEntry ()
#28 0x91468239 in CAPThread::Entry ()
#29 0x90024227 in _pthread_body ()

 

error_log:

[22:01:33] Stopping music source: 2418
[22:01:33] Stopping sound stream source: 2423
[22:01:33] Stopping crowd stream source: 2428
[22:01:33] Playing default background sound: 1
[22:01:34] Trying to add sound: 22 (FireBig) at 105, 146. Camera: 0, 0
[22:01:34] Creating a new source: 0/0
[22:01:34] Attemping to load sound: File: sound/fire-1.wav
[22:01:34] Result: File: sound/fire-1.wav, Format: 4352, Size: 38591, Freq: 10989.000000
[22:01:34] Not playing this sound as we are out of range! maxDistanceSq: 1225, distanceSq: 32341
[22:01:34] Cookie 2. Playing this sound unless out of range.
[22:01:34] Looking for particle sound for: ./particles/teleport_in.part
[22:01:34] Trying to add sound: 17 (Teleport_in) at 141, 75. Camera: 0, 0
[22:01:34] Inserting new source at index 0/1
[22:01:34] Attemping to load sound: File: sound/teleport_in.wav
[22:01:34] Result: File: sound/teleport_in.wav, Format: 4352, Size: 20693, Freq: 11025.000000
[22:01:34] Not playing this sound as we are out of range! maxDistanceSq: 1225, distanceSq: 25506
[22:01:34] Cookie 3. Playing this sound unless out of range.
[22:01:37] Playing sound: 0 (Teleport_in), Distance squared: 0, Max: 1225
[22:01:39] Stopping default stream (0) sound
[22:01:39] Playing stream (0) sound: 6

Share this post


Link to post
Share on other sites

Kibora poited out to me that there's a new sound pack ...

(nobody reads edited first page posts )

Eh???

From my post about this update (about 4 posts up from yours):

There are also a couple of new packages (full and patch) which provide some config for the new code, and some example files.

 

Dunno. When i log on i see the current frame but that's it. i cant move anymore, don't see anything moving etc.

Where did you login? That occurs if there are too many particle systems being loaded. Generally on insides maps with lit fireplaces in several houses on the same insides map. (Sorry if that wasn't clear... if that's not the problem them, oh joy... something else to work out. :-S)

 

After I unpacked that, I heard birds for a few seconds, and then this:

<snip>

Hmmmm. Well it loaded the default background sound (which it shouldn't... that's a bug anyway), and then couldn't load/find a suitable background sound. Scary message though. I must be doing something funky with the memory.

 

Out of interest, what map were you on?

 

Unfortunatly I have to go out now, and won't be back until tonight... but I can debug stuff then.

Share this post


Link to post
Share on other sites

I was outside in ws, tryed in skf too (on main server), but same thing. I see a single frame from time to time and red text saying resynching.

Hmmmm. Well its possibly load from the new streams then. I haven't really investigated their impact (or tweaked them) yet. I'll see what I can do. Thanks for reporting it. :-)

Share this post


Link to post
Share on other sites
There are also a couple of new packages (full and patch) which provide some config for the new code, and some example files.

And that should have told me to look at the first post of this thread? :P

Out of interest, what map were you on?

IP, on the bridge.

Share this post


Link to post
Share on other sites
And that should have told me to look at the first post of this thread? :(

Ummmm... well given there were no links to said packages, I thought it obvious that their original location (the first post) would be where to look for them.

 

The reason I post them, and the bugs there is so people starting this thread don't get old packages, and there is a single list of known and fixed bugs for people to check without having to read the entire thread so they don't post the same bug multiple times.

 

IP, on the bridge.

Ok, thanks. So it was trying to load a non-default background sound. If you have the chance to throw some debug commands in "process_stream" and "check_for_valid_background_sound" to establish where in the code it is crashing (last statement executed), that would be handy.

 

Kibora, I haven't got to your problem yet, sorry. It will be a little while I expect. I think it is due to the streams thread, and specifically trying to play too many different streamed sounds - ie. over processing the streams. My guess is when you were in SKF you probably didn't have 5 people around you, and so it wouldn't be playing the crowd sound. Given that background sounds have been in for quite a while, I can only assume it is due to checking for backgrounds, default backgrounds, crowd and default crowd sounds too much. I did notice some odd behaviour when checking for valid sounds to play.

 

Out of interest, what spec system are you running? I noticed the slowdown (but not up to resync) at VotD storage, when playing a background sound, crowd sounds, music and rain. That's on a dual PIII 550 machine so I would expect most machines to deal with the load reasonably. (There is still a lot of tweaking I need to do).

 

Well I'm not going to get anything done tonight. I'm can concentrate on anything (was going to make this comment as part of the last post) and falling asleep at the keyboard. Probably due to having 4 hours sleep in the last 2.5 days.

 

Sorry for the current issues. I will hopefully have the whole weekend to myself to work on it.

 

 

 

Hey wow... that's cool. It appended my post to the last one... so I guess you can kinda ignore it or something.... I'm going to bed.

Share this post


Link to post
Share on other sites

Ok, thanks. So it was trying to load a non-default background sound. If you have the chance to throw some debug commands in "process_stream" and "check_for_valid_background_sound" to establish where in the code it is crashing (last statement executed), that would be handy.

 

check_for_valid_background_sound - no such function ...

 

Index: sound.c
===================================================================
RCS file: /cvsroot/elc/elc/sound.c,v
retrieving revision 1.132
diff -u -d -p -r1.132 sound.c
--- sound.c	 15 Aug 2007 17:49:40 -0000	  1.132
+++ sound.c	 16 Aug 2007 18:37:54 -0000
@@ -2115,8 +2115,9 @@ void check_for_valid_stream_sound(int tx

int process_stream(stream_data * stream, ALfloat gain, int * sleep, int * fade, int tx, int ty)
{
-	int error, state, state2;
+ int error, state, state2;
	int day_time = (game_minute >= 30 && game_minute < 60 * 3 + 30);
+ LOG_ERROR("process_stream in");
	if (*fade > 0)
	{
			*fade = *fade+1;
@@ -2125,10 +2126,12 @@ int process_stream(stream_data * stream,
					*fade = 0;
					stream->playing = 0;
					stream->is_default = 0;
+   LOG_ERROR("alGetSourcei(*stream->source, AL_BUFFERS_PROCESSED, &stream->processed)");
					alGetSourcei(*stream->source, AL_BUFFERS_PROCESSED, &stream->processed);
					stop_stream(stream);
					return 0;
			}
+  LOG_ERROR("alSourcef(*stream->source, AL_GAIN, gain - ((float)*fade * (gain / 6)))");
			alSourcef(*stream->source, AL_GAIN, gain - ((float)*fade * (gain / 6)));
	}
	else
@@ -2168,9 +2171,12 @@ int process_stream(stream_data * stream,
							}
							break;
			}
+  LOG_ERROR("alSourcef(*stream->source, AL_GAIN, gain)");
			alSourcef(*stream->source, AL_GAIN, gain);
	}
+ LOG_ERROR("alGetSourcei(*stream->source, AL_BUFFERS_PROCESSED, &stream->processed)");
	alGetSourcei(*stream->source, AL_BUFFERS_PROCESSED, &stream->processed);
+ LOG_ERROR("alGetSourcei(*stream->source, AL_SOURCE_STATE, &state)");
	alGetSourcei(*stream->source, AL_SOURCE_STATE, &state);
	state2=state;   //fake out the Dev-C++ optimizer!
	if (!stream->processed)
@@ -2182,9 +2188,10 @@ int process_stream(stream_data * stream,
	{
			ALuint buffer;
			vorbis_info * info = stream->info;
-
+  LOG_ERROR("alSourceUnqueueBuffers(*stream->source, 1, &buffer)");
			alSourceUnqueueBuffers(*stream->source, 1, &buffer);
			stream->playing = stream_ogg(buffer, stream->stream, info->rate);
+  LOG_ERROR("alSourceQueueBuffers(*stream->source, 1, &buffer)");
			alSourceQueueBuffers(*stream->source, 1, &buffer);
	}
	if (state2 != AL_PLAYING)
@@ -2218,6 +2225,7 @@ int process_stream(stream_data * stream,
					stream->is_default = 0;
	}

+ LOG_ERROR("process_stream out");
	return 1;
}

 

output in error_log before crash:

[20:34:01] process_stream in

[20:34:01] alSourcef(*stream->source, AL_GAIN, gain)

[20:34:01] alGetSourcei(*stream->source, AL_BUFFERS_PROCESSED, &stream->processed)

[20:34:01] alGetSourcei(*stream->source, AL_SOURCE_STATE, &state)

[20:34:01] alSourceUnqueueBuffers(*stream->source, 1, &buffer)

[20:34:01] alSourceQueueBuffers(*stream->source, 1, &buffer)

[20:34:01] process_stream out

[20:34:01] process_stream in

[20:34:01] Stopping default stream (0) sound

[20:34:01] Playing stream (0) sound: 6

 

so the problem is prolly not in process_stream directly

 

/EDIT

i changed play_stream():

LOG_ERROR("a result = stream_ogg_file(file, *stream->source, stream->stream, stream->buffers, 4)");
result = stream_ogg_file(file, *stream->source, stream->stream, stream->buffers, 4);
LOG_ERROR("b result = stream_ogg_file(file, *stream->source, stream->stream, stream->buffers, 4)");

 

error_log:

[20:44:27] process_stream in

[20:44:27] Stopping default stream (0) sound

[20:44:27] Playing stream (0) sound: 6

[20:44:27] a result = stream_ogg_file(file, *stream->source, stream->stream, stream->buffers, 4)

 

then crash ...

 

/EDIT2

 

maybe this helps ...

 

Index: sound.c
===================================================================
RCS file: /cvsroot/elc/elc/sound.c,v
retrieving revision 1.132
diff -u -d -p -r1.132 sound.c
--- sound.c	 15 Aug 2007 17:49:40 -0000	  1.132
+++ sound.c	 16 Aug 2007 18:52:19 -0000
@@ -1748,28 +1748,39 @@ int stream_ogg_file(char *file_name, ALu
	int result, more_stream, i;
	vorbis_info * ogg_info;

+ LOG_ERROR("alSourceStop(inSource)");
	alSourceStop(inSource);
+ LOG_ERROR("alGetSourcei(inSource, AL_BUFFERS_QUEUED, &queued)");
	alGetSourcei(inSource, AL_BUFFERS_QUEUED, &queued);
	while (queued-- > 0)
	{
			ALuint buffer;
+  LOG_ERROR("alSourceUnqueueBuffers(inSource, 1, &buffer) queued: %i", queued);
			alSourceUnqueueBuffers(inSource, 1, &buffer);
	}

	ov_clear(inStream);
+ LOG_ERROR("a result = load_ogg_file(file_name, inStream)");
	result = load_ogg_file(file_name, inStream);
+ LOG_ERROR("b result = load_ogg_file(file_name, inStream)");
	if (!result) {
			LOG_ERROR("Error loading ogg file: %s\n", file_name);
			return -1;
	}

+ LOG_ERROR("a ogg_info = ov_info(inStream, -1)");
	ogg_info = ov_info(inStream, -1);
+ LOG_ERROR("b ogg_info = ov_info(inStream, -1)");
	for (i = 0; i < numBuffers; i++)
	{
+  LOG_ERROR("a more_stream = stream_ogg(inBuffers[i], inStream, ogg_info->rate) i: %i", i);
			more_stream = stream_ogg(inBuffers[i], inStream, ogg_info->rate);
+  LOG_ERROR("b more_stream = stream_ogg(inBuffers[i], inStream, ogg_info->rate) i: %i", i);
	}

+ LOG_ERROR("alSourceQueueBuffers(inSource, numBuffers, inBuffers)");
	alSourceQueueBuffers(inSource, numBuffers, inBuffers);
+ LOG_ERROR("alSourcePlay(inSource)");
	alSourcePlay(inSource);

	if((error=alGetError()) != AL_NO_ERROR) 
@@ -1932,7 +1943,9 @@ void play_stream(int sound, stream_data 
	else
			alSourcef (*stream->source, AL_GAIN, sound_gain);

+ LOG_ERROR("a result = stream_ogg_file(file, *stream->source, stream->stream, stream->buffers, 4)");
	result = stream_ogg_file(file, *stream->source, stream->stream, stream->buffers, 4);
+ LOG_ERROR("b result = stream_ogg_file(file, *stream->source, stream->stream, stream->buffers, 4)");
	if (result == -1)
	{
			if (stream->type == STREAM_TYPE_MUSIC)
@@ -2115,8 +2128,9 @@ void check_for_valid_stream_sound(int tx

int process_stream(stream_data * stream, ALfloat gain, int * sleep, int * fade, int tx, int ty)
{
-	int error, state, state2;
+ int error, state, state2;
	int day_time = (game_minute >= 30 && game_minute < 60 * 3 + 30);
+ LOG_ERROR("process_stream in");
	if (*fade > 0)
	{
			*fade = *fade+1;
@@ -2125,10 +2139,12 @@ int process_stream(stream_data * stream,
					*fade = 0;
					stream->playing = 0;
					stream->is_default = 0;
+   LOG_ERROR("alGetSourcei(*stream->source, AL_BUFFERS_PROCESSED, &stream->processed)");
					alGetSourcei(*stream->source, AL_BUFFERS_PROCESSED, &stream->processed);
					stop_stream(stream);
					return 0;
			}
+  LOG_ERROR("alSourcef(*stream->source, AL_GAIN, gain - ((float)*fade * (gain / 6)))");
			alSourcef(*stream->source, AL_GAIN, gain - ((float)*fade * (gain / 6)));
	}
	else
@@ -2168,9 +2184,12 @@ int process_stream(stream_data * stream,
							}
							break;
			}
+  LOG_ERROR("alSourcef(*stream->source, AL_GAIN, gain)");
			alSourcef(*stream->source, AL_GAIN, gain);
	}
+ LOG_ERROR("alGetSourcei(*stream->source, AL_BUFFERS_PROCESSED, &stream->processed)");
	alGetSourcei(*stream->source, AL_BUFFERS_PROCESSED, &stream->processed);
+ LOG_ERROR("alGetSourcei(*stream->source, AL_SOURCE_STATE, &state)");
	alGetSourcei(*stream->source, AL_SOURCE_STATE, &state);
	state2=state;   //fake out the Dev-C++ optimizer!
	if (!stream->processed)
@@ -2182,9 +2201,10 @@ int process_stream(stream_data * stream,
	{
			ALuint buffer;
			vorbis_info * info = stream->info;
-
+  LOG_ERROR("alSourceUnqueueBuffers(*stream->source, 1, &buffer)");
			alSourceUnqueueBuffers(*stream->source, 1, &buffer);
			stream->playing = stream_ogg(buffer, stream->stream, info->rate);
+  LOG_ERROR("alSourceQueueBuffers(*stream->source, 1, &buffer)");
			alSourceQueueBuffers(*stream->source, 1, &buffer);
	}
	if (state2 != AL_PLAYING)
@@ -2206,6 +2226,7 @@ int process_stream(stream_data * stream,
					*sleep = SLEEP_TIME;
					return 0;
			}
+  LOG_ERROR("alSourcePlay(*stream->source)");
			alSourcePlay(*stream->source);
	}
	if ((error=alGetError()) != AL_NO_ERROR)
@@ -2218,6 +2239,7 @@ int process_stream(stream_data * stream,
					stream->is_default = 0;
	}

+ LOG_ERROR("process_stream out");
	return 1;
}

 

error_log:

[20:50:59] process_stream in

[20:50:59] Stopping default stream (0) sound

[20:50:59] Playing stream (0) sound: 6

[20:50:59] a result = stream_ogg_file(file, *stream->source, stream->stream, stream->buffers, 4)

[20:50:59] alSourceStop(inSource)

[20:50:59] alGetSourcei(inSource, AL_BUFFERS_QUEUED, &queued)

[20:50:59] alSourceUnqueueBuffers(inSource, 1, &buffer) queued: 3

[20:50:59] alSourceUnqueueBuffers(inSource, 1, &buffer) queued: 2

[20:50:59] alSourceUnqueueBuffers(inSource, 1, &buffer) queued: 1

[20:50:59] alSourceUnqueueBuffers(inSource, 1, &buffer) queued: 0

[20:50:59] a result = load_ogg_file(file_name, inStream)

[20:50:59] b result = load_ogg_file(file_name, inStream)

[20:50:59] a ogg_info = ov_info(inStream, -1)

[20:50:59] b ogg_info = ov_info(inStream, -1)

[20:50:59] a more_stream = stream_ogg(inBuffers, inStream, ogg_info->rate) i: 0

[20:50:59] b more_stream = stream_ogg(inBuffers, inStream, ogg_info->rate) i: 0

[20:50:59] a more_stream = stream_ogg(inBuffers, inStream, ogg_info->rate) i: 1

[20:50:59] b more_stream = stream_ogg(inBuffers, inStream, ogg_info->rate) i: 1

[20:50:59] a more_stream = stream_ogg(inBuffers, inStream, ogg_info->rate) i: 2

[20:50:59] b more_stream = stream_ogg(inBuffers, inStream, ogg_info->rate) i: 2

[20:50:59] a more_stream = stream_ogg(inBuffers, inStream, ogg_info->rate) i: 3

[20:50:59] b more_stream = stream_ogg(inBuffers, inStream, ogg_info->rate) i: 3

[20:50:59] alSourceQueueBuffers(inSource, numBuffers, inBuffers)

Edited by Florian

Share this post


Link to post
Share on other sites

Hmmmm. Well I basically got nothing done today... so that means lots of work for the weekend. I hope this headache goes away. :-S

 

This week i bought a core 2 duo with 2 gb ram and gf 7900. Should be enough :)
Ummmm. Yeah, should be!

 

I could try to debug it during the weekend but not enough time atm
Cool, well thanks for your help with looking at it anyway. We'll get there eventually. :-)

 

check_for_valid_background_sound - no such function ...
Sigh... that was the old function name. I have no idea where that even came from. It should have been check_for_valid_stream_sound (the function directly above process_stream)... anyway, the problem is with queueing the buffer so no probs.

 

<snip>
+  LOG_ERROR("a more_stream = stream_ogg(inBuffers[i], inStream, ogg_info->rate) i: %i", i);
			more_stream = stream_ogg(inBuffers[i], inStream, ogg_info->rate);
+  LOG_ERROR("b more_stream = stream_ogg(inBuffers[i], inStream, ogg_info->rate) i: %i", i);
	}

+ LOG_ERROR("alSourceQueueBuffers(inSource, numBuffers, inBuffers)");
	alSourceQueueBuffers(inSource, numBuffers, inBuffers);
+ LOG_ERROR("alSourcePlay(inSource)");
	alSourcePlay(inSource);
<snip>

 

error_log:

<snip>

[20:50:59] a more_stream = stream_ogg(inBuffers, inStream, ogg_info->rate) i: 3

[20:50:59] b more_stream = stream_ogg(inBuffers, inStream, ogg_info->rate) i: 3

[20:50:59] alSourceQueueBuffers(inSource, numBuffers, inBuffers)

Ok, so that apparently is where the problem is. When it is trying to queue the buffers. I am wondering if the problem is possibly an incorrect format issue or something that is not apparent under Linux (or handled gracefully).

 

What I have done code-wise was to extend the existing Ogg streaming code for music to other things. This existing code made the assumption that files were Stereo 16bit, and loads the data into the buffers that way.

From the stream_ogg function (line 1825):

alBufferData(buffer, AL_FORMAT_STEREO16, data, size, rate);

I haven't looked at the format for any of the files yet. Maybe these files aren't and so its having a cry.

I have been planning on checking the format before loading the buffers (similar to what I did in load_ogg_into_memory)... I just haven't done it yet. I guess I need to. :-P

 

Thanks for your help mate.

Share this post


Link to post
Share on other sites

I don't know why, but this fixes the crash:

 

LOG_ERROR("alSourceQueueBuffers(inSource, numBuffers, inBuffers)");
error=alGetError();
LOG_ERROR("stream_ogg_file %s: %s", my_tolower(reg_error_str), alGetString(error));
alSourceQueueBuffers(inSource, numBuffers, inBuffers);
LOG_ERROR("alSourcePlay(inSource)");
alSourcePlay(inSource);

 

Bird sounds are gone on the IP bridge though. Crown noise at beam works fine.

 

Stream_ogg_file string string is never logged ...

 

/EDIT

hmm, nighttime, prolly no birds around ...

 

Now at daytime the crash is back.

this is the file that goes into stream_ogg_file: ./sound/mystic-wind.ogg

Edited by Florian

Share this post


Link to post
Share on other sites
I don't know why, but this fixes the crash:

Ummm... ok, got me because the last thing in the function above (stream_ogg) is to check (and clear) any OpenAL errors.

 

Bird sounds are gone on the IP bridge though. Crown noise at beam works fine.

The bird sounds are actually kinda wrong... they are the default "can't find another background sound" sound. It should be a stream type sound. I've just fixed a bunch of issues with playing the background sound at the wrong time.

 

Sound 6 (the stream that was crashing) is stereo, so unless it isn't 16bit, which I doubt... then I've *still* no idea why it doesn't work. I don't have any clue why the crowd works when that doesn't. Are there other background sounds that work, or crash?

 

Actually... thinking about it.... there is only one crowd sound, but there are several areas with backgrounds configured, as well as the default. Maybe the issue is with playing the next background sound (ie, something isn't getting cleaned up correctly before loading the next one).

 

Stream_ogg_file string string is never logged ...

Ummmm... Yes... *shrug*.

Got an extra return in there somewhere?

 

Well its now 3:30am and my wife just woke up and yelled at me so I'll have to look into it further in the morning. This should give you a couple of extra cases to investigate though (other backgrounds, and backgrounds changing).

 

hmm, nighttime, prolly no birds around ...

 

Now at daytime the crash is back.

Ahhhh. There are 2 default sounds, one for daytime hours and one for nighttime. That's very interesting that one crashes and the other doesn't. Alternatively, you just aren't hearing the nighttime one.

 

Anyways, as mentioned I really need to go. Sorry. Cya later.

Share this post


Link to post
Share on other sites

All ogg file stats:

 

./sound/crowd.ogg

bitrate_upper: 0

rate: 44100

length: 288.6820861678

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/dark-forest.ogg

bitrate_upper: 0

rate: 44100

length: 71.0778684807256

bitrate_nominal: 112000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/dragon.ogg

bitrate_upper: 0

rate: 22050

length: 1.83541950113379

bitrate_nominal: 66000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/dragon02.ogg

bitrate_upper: 0

rate: 22050

length: 2.60607709750567

bitrate_nominal: 66000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/forest01.ogg

bitrate_upper: 0

rate: 44100

length: 39.3087074829932

bitrate_nominal: 224000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/forest02.ogg

bitrate_upper: 0

rate: 44100

length: 64.2417233560091

bitrate_nominal: 224000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/forest03.ogg

bitrate_upper: 0

rate: 44100

length: 30.8181405895692

bitrate_nominal: 112000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/fountain.ogg

bitrate_upper: 0

rate: 44100

length: 7.65333333333333

bitrate_nominal: 224000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/fountain2-mono.ogg

bitrate_upper: 0

rate: 44100

length: 15.147619047619

bitrate_nominal: 120000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/fountain2.ogg

bitrate_upper: 0

rate: 44100

length: 15.147619047619

bitrate_nominal: 224000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/growl01.ogg

bitrate_upper: 0

rate: 22050

length: 8.62040816326531

bitrate_nominal: 40222

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/imp01.ogg

bitrate_upper: 0

rate: 44100

length: 1.13528344671202

bitrate_nominal: 120000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/imp02.ogg

bitrate_upper: 0

rate: 44100

length: 1.04489795918367

bitrate_nominal: 120000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/imp03.ogg

bitrate_upper: 0

rate: 44100

length: 0.953469387755102

bitrate_nominal: 120000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/imp04.ogg

bitrate_upper: 0

rate: 44100

length: 1.18421768707483

bitrate_nominal: 120000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/monster01.ogg

bitrate_upper: 0

rate: 44100

length: 1.38281179138322

bitrate_nominal: 120000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/monster02.ogg

bitrate_upper: 0

rate: 44100

length: 1.61739229024943

bitrate_nominal: 120000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/monster03.ogg

bitrate_upper: 0

rate: 44100

length: 2.06174603174603

bitrate_nominal: 120000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/monster04.ogg

bitrate_upper: 0

rate: 44100

length: 2.80433106575964

bitrate_nominal: 120000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/monster05.ogg

bitrate_upper: 0

rate: 44100

length: 1.12074829931973

bitrate_nominal: 120000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/monster06.ogg

bitrate_upper: 0

rate: 44100

length: 1.87582766439909

bitrate_nominal: 120000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/mystic-wind-with-monsters.ogg

bitrate_upper: 0

rate: 44100

length: 16.1725623582766

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/mystic-wind.ogg

bitrate_upper: 0

rate: 44100

length: 16.1491156462585

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/orc-short.ogg

bitrate_upper: 0

rate: 44100

length: 0.20875283446712

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/orc.ogg

bitrate_upper: 0

rate: 44100

length: 1.85242630385488

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/pain-female1.ogg

bitrate_upper: 0

rate: 44100

length: 1.5092970521542

bitrate_nominal: 96000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/pain-female2.ogg

bitrate_upper: 0

rate: 44100

length: 1.36997732426304

bitrate_nominal: 96000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/pain-female3.ogg

bitrate_upper: 0

rate: 44100

length: 1.89242630385488

bitrate_nominal: 96000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/pain-female4.ogg

bitrate_upper: 0

rate: 44100

length: 1.19582766439909

bitrate_nominal: 96000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/pain-male1.ogg

bitrate_upper: 0

rate: 44100

length: 1.03328798185941

bitrate_nominal: 96000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/pain-male10.ogg

bitrate_upper: 0

rate: 44100

length: 0.684761904761905

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/pain-male11.ogg

bitrate_upper: 0

rate: 44100

length: 0.594648526077098

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/pain-male12.ogg

bitrate_upper: 0

rate: 44100

length: 0.612675736961451

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/pain-male13.ogg

bitrate_upper: 0

rate: 44100

length: 0.738820861678005

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/pain-male2.ogg

bitrate_upper: 0

rate: 44100

length: 0.835918367346939

bitrate_nominal: 96000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/pain-male3.ogg

bitrate_upper: 0

rate: 44100

length: 0.99265306122449

bitrate_nominal: 96000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/pain-male4.ogg

bitrate_upper: 0

rate: 44100

length: 0.876553287981859

bitrate_nominal: 96000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/pain-male5.ogg

bitrate_upper: 0

rate: 44100

length: 0.720816326530612

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/pain-male6.ogg

bitrate_upper: 0

rate: 44100

length: 0.576643990929705

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/pain-male7.ogg

bitrate_upper: 0

rate: 44100

length: 0.666734693877551

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/pain-male8.ogg

bitrate_upper: 0

rate: 44100

length: 0.720816326530612

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/pain-male9.ogg

bitrate_upper: 0

rate: 44100

length: 0.648730158730159

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/rain01.ogg

bitrate_upper: 0

rate: 44100

length: 30.0005215419501

bitrate_nominal: 112000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/rubbing-metal01.ogg

bitrate_upper: 0

rate: 44100

length: 1.67793650793651

bitrate_nominal: 80000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/rubbing-metal02.ogg

bitrate_upper: 0

rate: 44100

length: 0.77

bitrate_nominal: 96000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/rubbing-metal03.ogg

bitrate_upper: 0

rate: 44100

length: 0.63

bitrate_nominal: 96000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/sheep.ogg

bitrate_upper: 0

rate: 44100

length: 2.93675736961451

bitrate_nominal: 80000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/summernight.ogg

bitrate_upper: 0

rate: 44100

length: 72.9444444444444

bitrate_nominal: 112000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/summernight02.ogg

bitrate_upper: 0

rate: 44100

length: 71.1658503401361

bitrate_nominal: 112000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/sword01.ogg

bitrate_upper: 0

rate: 44100

length: 1.01079365079365

bitrate_nominal: 80000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/sword02.ogg

bitrate_upper: 0

rate: 44100

length: 1.85759637188209

bitrate_nominal: 96000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/sword03.ogg

bitrate_upper: 0

rate: 44100

length: 1.85759637188209

bitrate_nominal: 96000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/sword04.ogg

bitrate_upper: 0

rate: 44100

length: 1.03530612244898

bitrate_nominal: 80000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/sword05.ogg

bitrate_upper: 0

rate: 44100

length: 1.01079365079365

bitrate_nominal: 96000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/thunder1.ogg

bitrate_upper: 0

rate: 44100

length: 3.3212925170068

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/thunder2.ogg

bitrate_upper: 0

rate: 44100

length: 2.81031746031746

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/thunder3.ogg

bitrate_upper: 0

rate: 44100

length: 2.86709750566893

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/thunder4.ogg

bitrate_upper: 0

rate: 44100

length: 3.32126984126984

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/thunder5.ogg

bitrate_upper: 0

rate: 44100

length: 4.17290249433107

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/thunder6.ogg

bitrate_upper: 0

rate: 44100

length: 3.94580498866213

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/thunder7.ogg

bitrate_upper: 0

rate: 44100

length: 4.14451247165533

bitrate_nominal: 160000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/water.ogg

bitrate_upper: 0

rate: 44100

length: 74.8930612244898

bitrate_nominal: 112000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/water2.ogg

bitrate_upper: 0

rate: 44100

length: 51.7627210884354

bitrate_nominal: 112000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/waterfall.ogg

bitrate_upper: 0

rate: 44100

length: 39.991768707483

bitrate_nominal: 112000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/waves-at-the-beach.ogg

bitrate_upper: 0

rate: 44100

length: 60.9697959183673

bitrate_nominal: 112000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/waves2.ogg

bitrate_upper: 0

rate: 44100

length: 37.1303628117914

bitrate_nominal: 112000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/wind2.ogg

bitrate_upper: 0

rate: 44100

length: 72.8396371882086

bitrate_nominal: 112000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/wind3.ogg

bitrate_upper: 0

rate: 44100

length: 57.9570068027211

bitrate_nominal: 112000

channels: 2

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/wooden01.ogg

bitrate_upper: 0

rate: 44100

length: 1.62938775510204

bitrate_nominal: 80000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/wooden02.ogg

bitrate_upper: 0

rate: 44100

length: 1.62938775510204

bitrate_nominal: 80000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/wooden03.ogg

bitrate_upper: 0

rate: 44100

length: 1.62938775510204

bitrate_nominal: 80000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/wooden04.ogg

bitrate_upper: 0

rate: 44100

length: 1.62938775510204

bitrate_nominal: 80000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

./sound/wooden05.ogg

bitrate_upper: 0

rate: 44100

length: 1.61

bitrate_nominal: 96000

channels: 1

version: 0

bitrate_window: 0

bitrate_lower: 0

 

(using perl with Ogg::Vorbis::Header)

Share this post


Link to post
Share on other sites

bridge area on IP

 

latest cvs:

 

[20:44:05] update_stream - Playing background sound: 1

[20:44:05] process_stream - Checking for valid background sound. Pos: 153, 85

[20:44:06] update_stream - Playing background sound: 1

[20:44:06] process_stream - Checking for valid background sound. Pos: 152, 85

[20:44:06] update_stream - Playing background sound: 1

[20:44:06] process_stream - Checking for valid background sound. Pos: 150, 85

[20:44:07] update_stream - Playing background sound: 1

[20:44:07] process_stream - Checking for valid background sound. Pos: 148, 85

[20:44:07] Stopping cookie 3 with sound source index 0

[20:44:07] Trying to add sound: 24 (Walk) at 147, 85. Camera: 147, 85

[20:44:07] Creating a new source: 0/0

[20:44:07] Cookie 4. Playing this sound unless out of range.

[20:44:07] update_stream - Playing background sound: 1

[20:44:07] process_stream - Checking for valid background sound. Pos: 147, 85

[20:44:08] update_stream - Playing background sound: 1

[20:44:08] process_stream - Checking for valid background sound. Pos: 146, 84

[20:44:08] update_stream - Playing background sound: 1

[20:44:08] process_stream - Checking for valid background sound. Pos: 144, 84

[20:44:09] update_stream - Playing background sound: 1

[20:44:09] process_stream - Checking for valid background sound. Pos: 143, 84

[20:44:09] update_stream - Playing background sound: 1

[20:44:09] process_stream - Checking for valid background sound. Pos: 141, 84

[20:44:10] update_stream - Playing background sound: 1

[20:44:10] process_stream - Checking for valid background sound. Pos: 141, 82

[20:44:10] Stopping default stream (0) sound

[20:44:10] Playing stream (0) sound: 6

 

Program received signal EXC_BAD_ACCESS, Could not access memory.

Reason: KERN_PROTECTION_FAILURE at address: 0x0000000b

[switching to process 28905 thread 0x81db]

0x05075bbc in std::type_info::__do_catch (this=0x509e3c0, thr_type=0x7) at ../../../../gcc-4.2.1/libstdc++-v3/libsupc++/tinfo.cc:89

89 __do_catch (const type_info *thr_type, void **, unsigned) const

(gdb) bt

#0 0x05075bbc in std::type_info::__do_catch (this=0x509e3c0, thr_type=0x7) at ../../../../gcc-4.2.1/libstdc++-v3/libsupc++/tinfo.cc:89

#1 0x90b42d1e in __cxa_get_globals ()

#2 0x90b4342a in __gxx_personality_v0 ()

#3 0x90bd7acb in _Unwind_RaiseException ()

#4 0x90b43747 in __cxa_throw ()

#5 0x9add4f3b in OALSource::PostRenderRemoveBuffersFromQueue ()

#6 0x9add586c in OALSource::DoPostRender ()

#7 0x700090f9 in DefaultOutputAUEntry ()

#8 0x700104d8 in AUHighShelfFilterEntry ()

#9 0x700098ed in DefaultOutputAUEntry ()

#10 0x700d31c7 in AUNetSendEntry ()

#11 0x700d25e7 in AUNetSendEntry ()

#12 0x93d7080d in AudioConverterChain::CallInputProc ()

#13 0x93d704aa in AudioConverterChain::FillBufferFromInputProc ()

#14 0x93d6fcaa in BufferedAudioConverter::GetInputBytes ()

#15 0x93d6fb3b in CBRConverter::RenderOutput ()

#16 0x93d6f89f in BufferedAudioConverter::FillBuffer ()

#17 0x93d6fa2d in AudioConverterChain::RenderOutput ()

#18 0x93d6f89f in BufferedAudioConverter::FillBuffer ()

#19 0x93d6f72c in AudioConverterFillComplexBuffer ()

#20 0x70009483 in DefaultOutputAUEntry ()

#21 0x70009038 in DefaultOutputAUEntry ()

#22 0x700084fd in DefaultOutputAUEntry ()

#23 0x91476912 in HP_IOProc::Call ()

#24 0x91475e4e in IOA_Device::CallIOProcs ()

#25 0x91475bd9 in HP_IOThread::PerformIO ()

#26 0x91474001 in HP_IOThread::WorkLoop ()

#27 0x91473c43 in HP_IOThread::ThreadEntry ()

#28 0x91468239 in CAPThread::Entry ()

#29 0x90024227 in _pthread_body ()

 

/EDIT

inserted logging of file name, this is the file that causes the crash: sound/mystic-wind.ogg

 

and I found this in the log:

[20:53:07] Sound config parse error: Unknown sound BagCreate for particle bag_in

Edited by Florian

Share this post


Link to post
Share on other sites

bridge area on IP

 

latest cvs:

<snip>

[20:44:10] update_stream - Playing background sound: 1

[20:44:10] process_stream - Checking for valid background sound. Pos: 141, 82

[20:44:10] Stopping default stream (0) sound

[20:44:10] Playing stream (0) sound: 6

Hmmmm... it shouldn't be falling back to the default sound, dammit. (Unless you are starting somewhere other than the bridge, and somewhere there isn't a background.)

 

<snip>

#5 0x9add4f3b in OALSource::PostRenderRemoveBuffersFromQueue ()

<snip>

Interesting. I'll have a look around and see if this brings up anything.

 

inserted logging of file name, this is the file that causes the crash: sound/mystic-wind.ogg

Eh? Ok... that's interesting. I'm sure it should be water. Oh well. I still can't see why it would crash. Can you try some other locations around IP and WS?

 

and I found this in the log:

[20:53:07] Sound config parse error: Unknown sound BagCreate for particle bag_in

Yeah, that's a common error. You can uncomment the config for the bag sounds if you want. They are kinda scary though cos I used the orc and dragon sounds. :-P

Share this post


Link to post
Share on other sites
Program received signal EXC_BAD_ACCESS, Could not access memory.

Reason: KERN_PROTECTION_FAILURE at address: 0x0000000b

Ok, apparently that error means this:

EXC_BAD_ACCESS/KERN_PROTECTION_FAILURE : This is caused by the thread trying to write to read-only memory. This is always caused by a data access.
... which still doesn't help me.

 

From a couple of things I've seen around, it suggests a null-pointer somewhere, but from your debug output, I can't see where (maybe I'm just blind).

 

I'm thinking it might be easier to work on it if we can chat to each other in more or less real-time. I've got my ICQ/MSN etc details under my profile.

Share this post


Link to post
Share on other sites

New error when loading the client. It crashes at

 

add_sound_object (snd, (x_pos - 0.25f) * 2, (y_pos - 0.25f) * 2);

 

snd = 21

 

That is in add_particle_sys for ./particles/fountain.part

Share this post


Link to post
Share on other sites

New error when loading the client. It crashes at

 

add_sound_object (snd, (x_pos - 0.25f) * 2, (y_pos - 0.25f) * 2);

 

snd = 21

 

That is in add_particle_sys for ./particles/fountain.part

Can you give me more detail about the crash (x and y pos), and what type of crash it was?

 

Also, how are things going to the streams? Does the client still completely freeze? Can you turn on _EXTRA_SOUND_DEBUG for me, and post the console output just before it crashes?

Share this post


Link to post
Share on other sites

Aha got it. It goes through the ov_open part and not through the ov_open_callbacks one in load_ogg_file

 

You shouldn't check for #if defined OV_CALLBACKS_DEFAULT because OV_CALLBACKS_DEFAULT is not a #define. It's a variable defined as follows

 

static ov_callbacks OV_CALLBACKS_DEFAULT = {

(size_t (*)(void *, size_t, size_t, void *)) fread,

(int (*)(void *, ogg_int64_t, int)) _ov_header_fseek_wrap,

(int (*)(void *)) fclose,

(long (*)(void *)) ftell

};

 

 

Remove the || !defined OV_CALLBACKS_DEFAULT part

 

 

edit: Anyway the sound & client seem to work now (after i removed the above part). Dunno what you changed :confused:

Edited by kibora

Share this post


Link to post
Share on other sites
You shouldn't check for #if defined OV_CALLBACKS_DEFAULT because OV_CALLBACKS_DEFAULT is not a #define. It's a variable defined as follows

 

static ov_callbacks OV_CALLBACKS_DEFAULT = {

<snip>

Garrrr dangit.

 

As could be seen by the comment, I was trying to provide a "sort of may work" thing for an older version of the Ogg Vorbis libs. I know how much Ent hates having to change libs, and I still don't understand why it used to work for music (!NEW_SOUND), but apparently not under NEW_SOUND.

 

Anyways... I guess I'll have to manually add the relevant code for OV_CALLBACKS_DEFAULT, or just force an update to Ogg Vorbis 1.2. Joy. I guess I need to work out how to build a Devpak for the DevC++ people (one of whom is Roja, who I am wanting to test this!).

 

edit: Anyway the sound & client seem to work now (after i removed the above part). Dunno what you changed :confused:
Cool. Glad to hear at least something is going right.

 

As an aside... I've just noticed I commented out the wrong part in sound_config.xml. I meant to comment out the BagCreate and BagRemove sounds, and enable the Login Error sound. Feel free to adjust if you wish. :-)

Share this post


Link to post
Share on other sites

Ok, another update.

 

- This time I fixed the code to remove sounds when changing maps.

- I removed some globals that I've been working on phasing out.

- I added more checks to limit the frequency of checking for updated background and crowd sounds. That whole process will be redone because its a mess, but not right now.

- I added some more checks to the Ogg processing functions to hopefully catch Florian's bug.

 

Meh, still lots to do, but I think its getting there.

Share this post


Link to post
Share on other sites

latest CVS

 

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x0000000b
[Switching to process 24256 thread 0x81b3]
0x05075bbc in std::type_info::__do_catch (this=0x509e3c0, thr_type=0x7) at ../../../../gcc-4.2.1/libstdc++-v3/libsupc++/tinfo.cc:89
89	  __do_catch (const type_info *thr_type, void **, unsigned) const
(gdb) bt
#0  0x05075bbc in std::type_info::__do_catch (this=0x509e3c0, thr_type=0x7) at ../../../../gcc-4.2.1/libstdc++-v3/libsupc++/tinfo.cc:89
#1  0x90b42d1e in __cxa_get_globals ()
#2  0x90b4342a in __gxx_personality_v0 ()
#3  0x90bd7acb in _Unwind_RaiseException ()
#4  0x90b43747 in __cxa_throw ()
#5  0x9add4f3b in OALSource::PostRenderRemoveBuffersFromQueue ()
#6  0x9add586c in OALSource::DoPostRender ()
#7  0x700090f9 in DefaultOutputAUEntry ()
#8  0x700104d8 in AUHighShelfFilterEntry ()
#9  0x700098ed in DefaultOutputAUEntry ()
#10 0x700d31c7 in AUNetSendEntry ()
#11 0x700d25e7 in AUNetSendEntry ()
#12 0x93d7080d in AudioConverterChain::CallInputProc ()
#13 0x93d704aa in AudioConverterChain::FillBufferFromInputProc ()
#14 0x93d6fcaa in BufferedAudioConverter::GetInputBytes ()
#15 0x93d6fb3b in CBRConverter::RenderOutput ()
#16 0x93d6f89f in BufferedAudioConverter::FillBuffer ()
#17 0x93d6fa2d in AudioConverterChain::RenderOutput ()
#18 0x93d6f89f in BufferedAudioConverter::FillBuffer ()
#19 0x93d6f72c in AudioConverterFillComplexBuffer ()
#20 0x70009483 in DefaultOutputAUEntry ()
#21 0x70009038 in DefaultOutputAUEntry ()
#22 0x700084fd in DefaultOutputAUEntry ()
#23 0x91476912 in HP_IOProc::Call ()
#24 0x91475e4e in IOA_Device::CallIOProcs ()
#25 0x91475bd9 in HP_IOThread::PerformIO ()
#26 0x91474001 in HP_IOThread::WorkLoop ()
#27 0x91473c43 in HP_IOThread::ThreadEntry ()
#28 0x91468239 in CAPThread::Entry ()
#29 0x90024227 in _pthread_body ()
Current language:  auto; currently c++

(gdb) info threads
 7 process 24256 thread 0x840b  0x9001a1cc in select ()
 6 process 24256 thread 0x8303  0x900248c7 in semaphore_wait_signal_trap ()
* 5 process 24256 thread 0x81b3  0x05075bbc in std::type_info::__do_catch (this=0x509e3c0, thr_type=0x7) at ../../../../gcc-4.2.1/libstdc++-v3/libsupc++/tinfo.cc:89
 4 process 24256 thread 0x7923  0x90009cd7 in mach_msg_trap ()
 3 process 24256 thread 0x461f  0x9001a1cc in select ()
 2 process 24256 thread 0x3d07  0x90009cd7 in mach_msg_trap ()
 1 process 24256 local thread 0xf03  0x940d0a55 in compressTexture ()

 

[23:34:28] process_stream - Checking for valid background sound. Pos: 28, 77

[23:34:28] process_stream - Checking for valid background sound. Pos: 28, 75

[23:34:29] process_stream - Checking for valid background sound. Pos: 28, 74

[23:34:29] process_stream - Checking for valid background sound. Pos: 28, 72

[23:34:30] process_stream - Checking for valid background sound. Pos: 28, 70

[23:34:30] process_stream - Checking for valid background sound. Pos: 29, 69

[23:34:31] process_stream - Checking for valid background sound. Pos: 29, 67

[23:34:31] process_stream - Checking for valid background sound. Pos: 29, 65

[23:34:32] process_stream - Checking for valid background sound. Pos: 29, 63

[23:34:32] process_stream - Checking for valid background sound. Pos: 29, 62

[23:34:33] process_stream - Checking for valid background sound. Pos: 29, 60

[23:34:33] process_stream - Checking for valid background sound. Pos: 29, 58

[23:34:34] process_stream - Checking for valid background sound. Pos: 29, 57

[23:34:34] process_stream - Checking for valid background sound. Pos: 29, 55

[23:34:35] process_stream - Checking for valid background sound. Pos: 29, 53

[23:34:35] process_stream - Checking for valid background sound. Pos: 29, 52

[23:34:36] process_stream - Checking for valid background sound. Pos: 29, 50

[23:34:36] process_stream - Checking for valid background sound. Pos: 29, 49

[23:34:37] process_stream - Checking for valid background sound. Pos: 29, 47

[23:34:37] process_stream - Checking for valid background sound. Pos: 29, 45

[23:34:38] process_stream - Checking for valid background sound. Pos: 29, 43

[23:34:38] process_stream - Checking for valid background sound. Pos: 29, 42

[23:34:39] process_stream - Checking for valid background sound. Pos: 29, 40

[23:34:39] process_stream - Checking for valid background sound. Pos: 29, 38

[23:34:39] Stopping default stream (0) sound

[23:34:39] Playing stream (0) sound: 6

 

crashed when I stepped on to the peer of IP. Crowd sounds mixed with bird and/or wind background worked.

Share this post


Link to post
Share on other sites
crashed when I stepped on to the peer of IP. Crowd sounds mixed with bird and/or wind background worked.

Ok, that really sounds like you have a problem playing that stream sound. Can you try to play it in a media player and see what happens?

 

Also, can you try logging in, either on the bridge, or the docks (ie somewhere where you will start by playing the stream background, rather than changing from one to another.)

 

And finally, can you do a "bt full" (backtrace full) when it crashes next?

 

Thanks mate.

Share this post


Link to post
Share on other sites

*sigh* I don't think it's a problem related to a broken file ...

 

login on IP docks, no problem, then i walked over to the bridge, and before I reached it: crash ...

 

[11:19:07] Trying to add sound: 24 (Walk) at 24, 32. Camera: 0, 0

[11:19:07] Inserting new source at index 0/1

[11:19:07] Attemping to load sound: File: sound/steps.wav

[11:19:07] Result: File: sound/steps.wav, Format: 4352, Size: 26496, Freq: 11025.000000

[11:19:07] Not playing this sound as we are out of range! maxDistanceSq: 1225, distanceSq: 1600

[11:19:07] Cookie 2. Playing this sound unless out of range.

[11:19:12] Playing sound: 0 (Walk), Distance squared: 41, Max: 1225

[11:19:12] Playing sound: 1 (Teleport_in), Distance squared: 0, Max: 1225

[11:19:12] update_streams - Not playing stream. Checking for background sound. Pos: 27, 28

[11:19:12] Playing stream (0) sound: 6

[11:19:12] stream_ogg_file

[11:19:12] ./sound/water.ogg

[11:19:14] Stopping cookie 2 with sound source index 0

[11:19:15] Trying to add sound: 24 (Walk) at 19, 32. Camera: 27, 28

[11:19:15] Creating a new source: 0/0

[11:19:15] Cookie 3. Playing this sound unless out of range.

[11:19:20] Stopping cookie 3 with sound source index 0

[11:19:35] Trying to add sound: 24 (Walk) at 42, 39. Camera: 27, 28

[11:19:35] Creating a new source: 0/0

[11:19:35] Cookie 4. Playing this sound unless out of range.

[11:19:37] Trying to add sound: 24 (Walk) at 27, 28. Camera: 27, 28

[11:19:37] Inserting new source at index 0/1

[11:19:37] Cookie 5. Playing this sound unless out of range.

[11:19:37] Trying to add sound: 24 (Walk) at 42, 44. Camera: 27, 28

[11:19:37] Inserting new source at index 0/2

[11:19:37] Cookie 6. Playing this sound unless out of range.

[11:19:37] Stopping cookie 6 with sound source index 0

[11:19:38] Stopping cookie 4 with sound source index 1

[11:19:38] Trying to add sound: 24 (Walk) at 32, 32. Camera: 28, 30

[11:19:38] Inserting new source at index 0/1

[11:19:38] Cookie 7. Playing this sound unless out of range.

[11:19:39] Trying to add sound: 24 (Walk) at 41, 43. Camera: 34, 36

[11:19:39] Inserting new source at index 0/2

[11:19:39] Cookie 8. Playing this sound unless out of range.

[11:19:40] Stopping cookie 7 with sound source index 1

[11:19:42] Stopping cookie 8 with sound source index 0

[11:19:45] update_streams - Not playing stream. Checking for background sound. Pos: 54, 50

[11:19:45] update_streams - No background found, checking for defaults

[11:19:45] update_streams - Playing default background sound: 1

[11:19:45] stream_ogg_file

[11:19:45] ./sound/forest02.ogg

[11:19:46] process_stream - Checking for valid background sound. Pos: 56, 50

[11:19:46] process_stream - Checking for valid background sound. Pos: 58, 50

[11:19:47] process_stream - Checking for valid background sound. Pos: 59, 51

[11:19:47] process_stream - Checking for valid background sound. Pos: 61, 52

[11:19:48] process_stream - Checking for valid background sound. Pos: 63, 54

[11:19:48] process_stream - Checking for valid background sound. Pos: 65, 56

[11:19:49] process_stream - Checking for valid background sound. Pos: 66, 57

[11:19:49] process_stream - Checking for valid background sound. Pos: 68, 59

[11:19:50] process_stream - Checking for valid background sound. Pos: 69, 61

[11:19:50] process_stream - Checking for valid background sound. Pos: 71, 63

[11:19:51] process_stream - Checking for valid background sound. Pos: 72, 64

[11:19:51] process_stream - Checking for valid background sound. Pos: 74, 66

[11:19:52] process_stream - Checking for valid background sound. Pos: 76, 68

[11:19:52] process_stream - Checking for valid background sound. Pos: 78, 70

[11:19:52] Stopping default stream (0) sound

[11:19:52] Playing stream (0) sound: 6

[11:19:52] stream_ogg_file

[11:19:52] ./sound/water.ogg

 

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x0000000b
[Switching to process 21063 thread 0x81bb]
0x05075bbc in std::type_info::__do_catch (this=0x509e3c0, thr_type=0x7) at ../../../../gcc-4.2.1/libstdc++-v3/libsupc++/tinfo.cc:89
89	  __do_catch (const type_info *thr_type, void **, unsigned) const
(gdb) info threads
 7 process 21063 thread 0x840b  0x9001a1cc in select ()
 6 process 21063 thread 0x8303  0x900248c7 in semaphore_wait_signal_trap ()
* 5 process 21063 thread 0x81bb  0x05075bbc in std::type_info::__do_catch (this=0x509e3c0, thr_type=0x7) at ../../../../gcc-4.2.1/libstdc++-v3/libsupc++/tinfo.cc:89
 4 process 21063 thread 0x7923  0x90009cd7 in mach_msg_trap ()
 3 process 21063 thread 0x471f  0x9001a1cc in select ()
 2 process 21063 thread 0x3d07  0x90009cd7 in mach_msg_trap ()
 1 process 21063 local thread 0xf03  0x90009cd7 in mach_msg_trap ()
Current language:  auto; currently c++
(gdb) bt full
#0  0x05075bbc in std::type_info::__do_catch (this=0x509e3c0, thr_type=0x7) at ../../../../gcc-4.2.1/libstdc++-v3/libsupc++/tinfo.cc:89
	this = (const type_info * const) 0x7
	thr_type = (const type_info *) 0x7
#1  0x90b42d1e in __cxa_get_globals ()
No symbol table info available.
#2  0x90b4342a in __gxx_personality_v0 ()
No symbol table info available.
#3  0x90bd7acb in _Unwind_RaiseException ()
No symbol table info available.
#4  0x90b43747 in __cxa_throw ()
No symbol table info available.
#5  0x9add4f3b in OALSource::PostRenderRemoveBuffersFromQueue ()
No symbol table info available.
#6  0x9add586c in OALSource::DoPostRender ()
No symbol table info available.
#7  0x700090f9 in DefaultOutputAUEntry ()
No symbol table info available.
#8  0x700104d8 in AUHighShelfFilterEntry ()
No symbol table info available.
#9  0x700098ed in DefaultOutputAUEntry ()
No symbol table info available.
#10 0x700d31c7 in AUNetSendEntry ()
No symbol table info available.
#11 0x700d25e7 in AUNetSendEntry ()
No symbol table info available.
#12 0x93d7080d in AudioConverterChain::CallInputProc ()
No symbol table info available.
#13 0x93d704aa in AudioConverterChain::FillBufferFromInputProc ()
No symbol table info available.
#14 0x93d6fcaa in BufferedAudioConverter::GetInputBytes ()
No symbol table info available.
#15 0x93d6fb3b in CBRConverter::RenderOutput ()
No symbol table info available.
#16 0x93d6f89f in BufferedAudioConverter::FillBuffer ()
No symbol table info available.
#17 0x93d6fa2d in AudioConverterChain::RenderOutput ()
No symbol table info available.
#18 0x93d6f89f in BufferedAudioConverter::FillBuffer ()
No symbol table info available.
#19 0x93d6f72c in AudioConverterFillComplexBuffer ()
No symbol table info available.
#20 0x70009483 in DefaultOutputAUEntry ()
No symbol table info available.
#21 0x70009038 in DefaultOutputAUEntry ()
No symbol table info available.
#22 0x700084fd in DefaultOutputAUEntry ()
No symbol table info available.
#23 0x91476912 in HP_IOProc::Call ()
No symbol table info available.
#24 0x91475e4e in IOA_Device::CallIOProcs ()
No symbol table info available.
#25 0x91475bd9 in HP_IOThread::PerformIO ()
No symbol table info available.
#26 0x91474001 in HP_IOThread::WorkLoop ()
No symbol table info available.
#27 0x91473c43 in HP_IOThread::ThreadEntry ()
No symbol table info available.
#28 0x91468239 in CAPThread::Entry ()
No symbol table info available.
#29 0x90024227 in _pthread_body ()
No symbol table info available.

 

I'm not using the openAL supplied by OSX but 0ctanes version.

OSX's OpenAL does not provide alut.h ...

 

@0ctane, how can I build a OpenAL Framework with complete debug info? I still didn't find out how to create Framework-bundles ...

Share this post


Link to post
Share on other sites
*sigh* I don't think it's a problem related to a broken file ...

 

login on IP docks, no problem, then i walked over to the bridge, and before I reached it: crash ...

Nah, I don't think its a broken file. It should give an error message and fail gracefully if it is. I'll double check that.

 

Do you hear the "water" sound before you leave the docks? It looks like it was trying to play the first time.

 

I'm not using the openAL supplied by OSX but 0ctanes version.

OSX's OpenAL does not provide alut.h ...

Unfortunatly I don't know that debug info is going to provide enough info that's easy to see. I expect it would just be memory registers.

 

I'll have another look around the web for info on OpenAL streaming and Ogg Vorbis on Mac's.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×