Segmentation Fault on calling alcOpenDevice

View: New views
4 Messages — Rating Filter:   Alert me  

Segmentation Fault on calling alcOpenDevice

by Ravi Kumar-28 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Friends,
I am using linux (ubuntu 8.04), kernel : 2.6.24-18 generic.
I am using alsa devel headers version : 1.0.15
I am using OpenAL which i downloaded using SVN, and compiled myself using gcc : 4.2.3

The problem i am facing is that whenever i call the function : alcOpenDevice (NULL), i get segmentation fault.
The actual code is wrote is :
ALCDevice *dev = alcOpenDevice (NULL);

after a trying demos that came with the source (they all got segmentation faulted), i reconfigured OpenAL and passed
--enable-debug-maximus to configure script and then recompiled and then i ran my program using gdb.

The ouput from gdb (the step which got segmentation fault) is :

MAXIMUS    [alc/alc_device.c:42] Initializing OpenAL.
CONFIG    [config/al_config.c:664] define speaker-num
CONFIG    [config/al_config.c:664] define display-banner
CONFIG    [config/al_config.c:664] define source-gain
CONFIG    [config/al_config.c:664] define devices
CONFIG    [config/al_config.c:664] define alsa-out-device
MAXIMUS    [al_main.c:100] _alInit called
CONFIG    [arch/i386/x86_cpu_caps_prk.c:153] mmx found 1  use 1
CONFIG    [arch/i386/x86_cpu_caps_prk.c:155] sse found 0  use 0
CONFIG    [arch/i386/x86_cpu_caps_prk.c:157] sse2 found 1  use 1
CONFIG    [arch/i386/x86_cpu_caps_prk.c:159] sse3 found 0  use 0
CONFIG    [arch/i386/x86_cpu_caps_prk.c:161] sse4 found 0  use 0
CONFIG    [arch/i386/x86_cpu_caps_prk.c:163] amd_3dnow found 0  use 0
CONFIG    [arch/i386/x86_cpu_caps_prk.c:165] amd_3dnowext found 0  use 0
CONFIG    [arch/i386/x86_cpu_caps_prk.c:167] amd_sse_mmx found 0  use 0
MAXIMUS    [al_mixer.c:612] _alInitMixer called
EXT    [al_ext.c:424] registered alBufferAppendData_LOKI
EXT    [al_ext.c:424] registered alBufferWriteData_LOKI
EXT    [al_ext.c:424] registered alBufferAppendWriteData_LOKI
EXT    [al_ext.c:424] registered alReverbScale_LOKI
EXT    [al_ext.c:424] registered alReverbDelay_LOKI
EXT    [al_ext.c:424] registered alBombOnError_LOKI
EXT    [al_ext.c:424] registered alBufferi_LOKI
EXT    [al_ext.c:424] registered alBufferDataWithCallback_LOKI
EXT    [al_ext.c:424] registered alGenStreamingBuffers_LOKI
EXT    [al_ext.c:424] registered alcGetAudioChannel_LOKI
EXT    [al_ext.c:424] registered alcSetAudioChannel_LOKI
EXT    [al_ext.c:424] registered alutLoadVorbis_LOKI
CONFIG    [config/al_config.c:539] could not resolve direction
CONFIG    [config/al_config.c:539] could not resolve sampling-rate
CONFIG    [config/al_config.c:664] define speaker-num
CONFIG    [config/al_config.c:664] define display-banner
CONFIG    [config/al_config.c:664] define source-gain
CONFIG    [config/al_config.c:664] define devices
CONFIG    [config/al_config.c:664] define alsa-out-device
CONFIG    [config/al_config.c:539] could not resolve oss-out-device
CONFIG    [config/al_config.c:539] could not resolve oss-device
MAXIMUS    [backends/alc_backend_oss.c:436] using device "/dev/dsp"
MAXIMUS    [backends/alc_backend_alsa.c:500] using device "default"
CONTEXT    [backends/alc_backend_sdl.c:337] SDL backend opened successfully

Program received signal SIGSEGV, Segmentation fault.
0x00007fa76bb91bcb in free () from /lib/libc.so.6

Any suggesstions on what can be wrong here, and/or how can i fix it ? :)

Thanks

_______________________________________________
Openal mailing list
Openal@...
http://opensource.creative.com/mailman/listinfo/openal

Re: Segmentation Fault on calling alcOpenDevice

by Chris Robinson-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sunday 08 June 2008 11:59:55 am Ravi Kumar wrote:
> CONTEXT    [backends/alc_backend_sdl.c:337] SDL backend opened successfully
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007fa76bb91bcb in free () from /lib/libc.so.6
>
> Any suggesstions on what can be wrong here, and/or how can i fix it ? :)

I could've sworn I fixed that bug. The problem is when it probes the SDL
backend (opens then closes it to make sure it's useable), the allocated data
struct isn't cleared to 0, so when it's closed, it tries to free an internal
pointer that's a garbage value.

I just committed a fix for it, if you want to grab the trunk again. However,
you may be better off using OpenAL-Soft in the repo instead of OpenAL-Sample
(it's more up to date and better for ALSA/OSS users).
_______________________________________________
Openal mailing list
Openal@...
http://opensource.creative.com/mailman/listinfo/openal

Re: Segmentation Fault on calling alcOpenDevice

by Ravi Kumar-28 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks for the reply :)
I also guessed that there must be something wrong with SDL. i passed --disable-sdl to the configure script, but make generated errors, so i just ran configure script and then manually disabled SDL backened in the generated config.h file. After that make ran successfuly and so did the programs :)

About Openal-Soft : i will try this out soon, if it is better than OpenAL-Sample for alsa/oss users then all the better for me :)

_______________________________________________
Openal mailing list
Openal@...
http://opensource.creative.com/mailman/listinfo/openal

Re: Segmentation Fault on calling alcOpenDevice

by Jason Daly :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Ravi Kumar wrote:
> Thanks for the reply :)
> I also guessed that there must be something wrong with SDL. i passed
> --disable-sdl to the configure script, but make generated errors, so i
> just ran configure script and then manually disabled SDL backened in
> the generated config.h file. After that make ran successfuly and so
> did the programs :)
>
> About Openal-Soft : i will try this out soon, if it is better than
> OpenAL-Sample for alsa/oss users then all the better for me :)

OpenAL-Sample is deprecated and no longer maintained.  You should
probably use OpenAL-Soft unless there's a compelling reason not to.

--"J"

_______________________________________________
Openal mailing list
Openal@...
http://opensource.creative.com/mailman/listinfo/openal
LightInTheBox - Buy quality products at wholesale price