Segmentation fault when OgreOggSound plugin is unloaded

baffledmollusc

06-04-2011 09:23:09

Hi,

I'm just getting started with the OgreOggSound plugin. Many thanks to stickymango for all his/her hard work; it's proving very nice to work with :-)

I have no problem in playing test sounds, and almost everything is working as expected. I do have one problem, however. It seems that whenever the plugin is unloaded on shutdown I get a segmentation fault. This error occurs even if I have no OgreOggSound code in my project, not even a #include "OgreOggSound.h". All that I have to do trigger it is include Plugin=Plugin_OgreOggSound[_d] in my plugins.cfg.

Specifically, if I have no OgreOggSound code in my project, but do include the plugin in my plugins.cfg, I get the following in my log

Main loop quit
Shutdown OGRE...
DefaultWorkQueue('Root') shutting down on thread 0x1db2bc0.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x21d9f50 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x21dd830 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x21d90e0 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x21c72c0 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x21db180 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x21da970 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x21db8a0 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x21d9550 stopped.
Segmentation fault

Process returned 139 (0x8B) execution time : 2.979 s


The error occurs when I destroy Ogre::Root, and the call stack is

#0 0x7fffef3b5f6c OgreOggSound::LocklessQueue<OgreOggSound::OgreOggISound*>::~LocklessQueue(this=0x3be5975faea5d640, __in_chrg=<value optimised out>) (/home/mattias/Development/OgreOggSound/include/LocklessQueue.h:70)
#1 0x7fffef3acb2e OgreOggSound::OgreOggSoundManager::~OgreOggSoundManager(this=0x7ffff7edc698, __in_chrg=<value optimised out>) (/home/mattias/Development/OgreOggSound/src/ogreoggsoundmanager.cpp:198)
#2 0x7fffef3a65a6 OgreOggSound::OgreOggSoundPlugin::shutdown(this=0x7ffff3174458) (/home/mattias/Development/OgreOggSound/src/OgreOggSoundPlugin.cpp:77)
#3 0x7ffff7998b2d Ogre::Root::shutdownPlugins() () (/usr/local/lib/libOgreMain.so.1.7.2:??)
#4 0x7ffff799ea6a Ogre::Root::shutdown() () (/usr/local/lib/libOgreMain.so.1.7.2:??)
#5 0x7ffff79a2824 Ogre::Root::~Root() () (/usr/local/lib/libOgreMain.so.1.7.2:??)
#6 0x407b26 OgreFramework::~OgreFramework(this=0x66ac30, __in_chrg=<value optimised out>) (/home/mattias/Development/C++/SpaceShooter/src/AdvanceOgreFramework.cpp:35)
#7 0x43e039 SpaceShooter::~SpaceShooter(this=0x7fffffffe670, __in_chrg=<value optimised out>) (/home/mattias/Development/C++/SpaceShoote /src/SpaceShooter.cpp:25)
#8 0x442a77 main(argc=1, argv=0x7fffffffe778) (/home/mattias/Development/C++/SpaceShooter/src/main.cpp:28)


Stepping through the code shows I enter OgreOggSoundManager::~OgreOggSoundManager() and skip straight down to

if ( mSoundsToDestroy )
{
delete mSoundsToDestroy;
mSoundsToDestroy=0;
}

which it enters (why? I haven't created any sounds? But mSoundsToDestroy is non-zero) and the delete line calls

//! destructor.
inline ~LocklessQueue()
{
delete [] m_buffer;
}

which causes the seg fault. Examining m_buffer gives

Symbol: m_buffer (OgreOggSound::OgreOggISound **)
Address: 0x3be5975faea5d640
Cannot access memory at 0x3be5975faea5d640

If it's relevant, I'm using 64-bit Ubuntu 10.10, with the most recent SVN version of OgreOggSound. Has anyone seen a similar problem before, or have any ideas?

baffledmollusc

07-04-2011 08:53:03

More information.

If I actually instantiate the OgreOggSoundManager and call init() via

m_pSoundManager = OgreOggSound::OgreOggSoundManager::getSingletonPtr();
m_pSoundManager->init();

I get a different error on shutdown. My log is

Main loop quit
Shutdown OGRE...
DefaultWorkQueue('Root') shutting down on thread 0x1010bc0.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x143c150 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x14250d0 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x143bb50 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x143ae40 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x7f37ec000f90 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x7f37ec000a10 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x1437f20 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x7f37ec000cd0 stopped.
*-*-* OGRE Shutdown
Unregistering ResourceManager for type Compositor
Unregistering ResourceManager for type Font
Unregistering ResourceManager for type Skeleton
Unregistering ResourceManager for type Mesh
Unregistering ResourceManager for type HighLevelGpuProgram
Uninstalling plugin: OgreOggSound
Plugin successfully uninstalled
Unloading library /usr/local/lib/OGRE/Plugin_OgreOggSound_d
Uninstalling plugin: ParticleFX
Plugin successfully uninstalled
Unloading library /usr/local/lib/OGRE/Plugin_ParticleFX
Uninstalling plugin: GL RenderSystem
Unregistering ResourceManager for type GpuProgram
******************************
*** Stopping GLX Subsystem ***
******************************
Unregistering ResourceManager for type Texture
Plugin successfully uninstalled
Unloading library /usr/local/lib/OGRE/RenderSystem_GL
Unregistering ResourceManager for type Material
*** glibc detected *** /home/mattias/Development/C++/SpaceShooter/bin/Debug/SpaceShooter: double free or corruption (!prev): 0x00000000017da090 ***
======= Backtrace: =========
/lib/libc.so.6(+0x774b6)[0x7f8005e934b6]
/lib/libc.so.6(cfree+0x73)[0x7f8005e99c83]
/usr/lib/libstdc++.so.6(_ZNSsD1Ev+0x39)[0x7f80066d5049]
/lib/libc.so.6(__cxa_finalize+0xa0)[0x7f8005e558c0]
/usr/local/lib/libOgreOggSound.so(+0x3d5c6)[0x7f800697b5c6]
======= Memory map: ========
00400000-00460000 r-xp 00000000 08:06 6958531 /home/mattias/Development/C++/SpaceShooter/bin/Debug/SpaceShooter
0065f000-00660000 r--p 0005f000 08:06 6958531 /home/mattias/Development/C++/SpaceShooter/bin/Debug/SpaceShooter
00660000-00662000 rw-p 00060000 08:06 6958531 /home/mattias/Development/C++/SpaceShooter/bin/Debug/SpaceShooter
00fa6000-023f6000 rw-p 00000000 00:00 0 [heap]
7f42a37fe000-7f42a37ff000 ---p 00000000 00:00 0
7f42a37ff000-7f42a3fff000 rw-p 00000000 00:00 0
7f42a79df000-7f42a79eb000 r-xp 00000000 08:06 14944373 /lib/libnss_files-2.12.1.so
7f42a79eb000-7f42a7bea000 ---p 0000c000 08:06 14944373 /lib/libnss_files-2.12.1.so
7f42a7bea000-7f42a7beb000 r--p 0000b000 08:06 14944373 /lib/libnss_files-2.12.1.so
7f42a7beb000-7f42a7bec000 rw-p 0000c000 08:06 14944373 /lib/libnss_files-2.12.1.so
7f42a7bec000-7f42a7bf6000 r-xp 00000000 08:06 14944368 /lib/libnss_nis-2.12.1.so
7f42a7bf6000-7f42a7df5000 ---p 0000a000 08:06 14944368 /lib/libnss_nis-2.12.1.so
7f42a7df5000-7f42a7df6000 r--p 00009000 08:06 14944368 /lib/libnss_nis-2.12.1.so
7f42a7df6000-7f42a7df7000 rw-p 0000a000 08:06 14944368 /lib/libnss_nis-2.12.1.so
7f42a7df7000-7f42a7dff000 r-xp 00000000 08:06 14944370 /lib/libnss_compat-2.12.1.so
7f42a7dff000-7f42a7ffe000 ---p 00008000 08:06 14944370 /lib/libnss_compat-2.12.1.so
7f42a7ffe000-7f42a7fff000 r-[0x7f42bc0435c6]
======= Memory map: ========
00400000-00460000 r-xp 00000000 08:06 6958531 /home/mattias/Development/C++/SpaceShooter/bin/Debug/SpaceShooter
0065f000-00660000 r--p 0005f000 08:06 6958531 /home/mattias/Development/C++/SpaceShooter/bin/Debug/SpaceShooter
00660000-00662000 rw-p 00060000 08:06 6958531 /home/mattias/Development/C++/SpaceShooter/bin/Debug/SpaceShooter
00fa6000-023f6000 rw-p 00000000 00:00 0 [heap]
7f42a37fe000-7f42a37ff000 ---p 00000000 00:00 0
7f42a37ff000-7f42a3fff000 rw-p 00000000 00:00 0
7f42a79df000-7f42a79eb000 r-xp 00000000 08:06 14944373 /lib/libnss_files-2.12.1.so
7f42a79eb000-7f42a7bea000 ---p 0000c000 08:06 14944373 /lib/libnss_files-2.12.1.so
7f42a7bea000-7f42a7beb000 r--p 0000b000 08:06 14944373 /lib/libnss_files-2.12.1.so
7f42a7beb000-7f42a7bec000 rw-p 0000c000 08:06 14944373 /lib/libnss_files-2.12.1.so
7f42a7bec000-7f42a7bf6000 r-xp 00000000 08:06 14944368 /lib/libnss_nis-2.12.1.so
7f42a7bf6000-7f42a7df5000 ---p 0000a000 08:06 14944368 /lib/libnss_nis-2.12.1.so
7f42a7df5000-7f42a7df6000 r--p 00009000 08:06 14944368 /lib/libnss_nis-2.12.1.so
7f42a7df6000-7f42a7df7000 rw-p 0000a000 08:06 14944368 /lib/libnss_nis-2.12.1.so
7f42a7df7000-7f42a7dff000 r-xp 00000000 08:06 14944370 /lib/libnss_compat-2.12.1.so
7f42a7dff000-7f42a7ffe000 ---p 00008000 08:06 14944370 /lib/libnss_compat-2.12.1.so
7f42a7ffe000-7f42a7fff000 r--p 00007000 08:06 14944370 /lib/libnss_compat-2.12.1.so
7f42a7fff000-7f42a8000000 rw-p 00008000 08:06 14944370 /lib/libnss_compat-2.12.1.so-p 00007000 08:06 14944370 /lib/libnss_compat-2.12.1.so
7f42a7fff000-7f42a8000000 rw-p 00008000 08:06 14944370 /lib/libnss_compat-2.12.1.so
...

...so in this case the plugin appears to be successfully unloaded (although OgreOggSoundPlugin::shutdown() appears to never get called, unlike the previous case where I have the plugin listed in plugins.cfg but no OgreOggSound code in my project. Baffling...).

I do, however, get this double free error. I don't know if the two errors are related, or different. Could it be that I have included libOgreOggSound_d.so in my linker settings (needed to get things to compile) and along with the plugin it means I have two identical libraries loaded?

More information.

If I actually instantiate the OgreOggSoundManager and call init() via

m_pSoundManager = OgreOggSound::OgreOggSoundManager::getSingletonPtr();
m_pSoundManager->init();

I get a different error on shutdown. My log is

Main loop quit
Shutdown OGRE...
DefaultWorkQueue('Root') shutting down on thread 0x1010bc0.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x143c150 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x14250d0 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x143bb50 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x143ae40 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x7f37ec000f90 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x7f37ec000a10 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x1437f20 stopped.
DefaultWorkQueue('Root')::WorkerFunc - thread 0x7f37ec000cd0 stopped.
*-*-* OGRE Shutdown
Unregistering ResourceManager for type Compositor
Unregistering ResourceManager for type Font
Unregistering ResourceManager for type Skeleton
Unregistering ResourceManager for type Mesh
Unregistering ResourceManager for type HighLevelGpuProgram
Uninstalling plugin: OgreOggSound
Plugin successfully uninstalled
Unloading library /usr/local/lib/OGRE/Plugin_OgreOggSound_d
Uninstalling plugin: ParticleFX
Plugin successfully uninstalled
Unloading library /usr/local/lib/OGRE/Plugin_ParticleFX
Uninstalling plugin: GL RenderSystem
Unregistering ResourceManager for type GpuProgram
******************************
*** Stopping GLX Subsystem ***
******************************
Unregistering ResourceManager for type Texture
Plugin successfully uninstalled
Unloading library /usr/local/lib/OGRE/RenderSystem_GL
Unregistering ResourceManager for type Material
*** glibc detected *** /home/mattias/Development/C++/SpaceShooter/bin/Debug/SpaceShooter: double free or corruption (!prev): 0x00000000017da090 ***
======= Backtrace: =========
/lib/libc.so.6(+0x774b6)[0x7f8005e934b6]
/lib/libc.so.6(cfree+0x73)[0x7f8005e99c83]
/usr/lib/libstdc++.so.6(_ZNSsD1Ev+0x39)[0x7f80066d5049]
/lib/libc.so.6(__cxa_finalize+0xa0)[0x7f8005e558c0]
/usr/local/lib/libOgreOggSound.so(+0x3d5c6)[0x7f800697b5c6]
======= Memory map: ========
00400000-00460000 r-xp 00000000 08:06 6958531 /home/mattias/Development/C++/SpaceShooter/bin/Debug/SpaceShooter
0065f000-00660000 r--p 0005f000 08:06 6958531 /home/mattias/Development/C++/SpaceShooter/bin/Debug/SpaceShooter
00660000-00662000 rw-p 00060000 08:06 6958531 /home/mattias/Development/C++/SpaceShooter/bin/Debug/SpaceShooter
00fa6000-023f6000 rw-p 00000000 00:00 0 [heap]
7f42a37fe000-7f42a37ff000 ---p 00000000 00:00 0
7f42a37ff000-7f42a3fff000 rw-p 00000000 00:00 0
7f42a79df000-7f42a79eb000 r-xp 00000000 08:06 14944373 /lib/libnss_files-2.12.1.so
7f42a79eb000-7f42a7bea000 ---p 0000c000 08:06 14944373 /lib/libnss_files-2.12.1.so
7f42a7bea000-7f42a7beb000 r--p 0000b000 08:06 14944373 /lib/libnss_files-2.12.1.so
7f42a7beb000-7f42a7bec000 rw-p 0000c000 08:06 14944373 /lib/libnss_files-2.12.1.so
7f42a7bec000-7f42a7bf6000 r-xp 00000000 08:06 14944368 /lib/libnss_nis-2.12.1.so
7f42a7bf6000-7f42a7df5000 ---p 0000a000 08:06 14944368 /lib/libnss_nis-2.12.1.so
7f42a7df5000-7f42a7df6000 r--p 00009000 08:06 14944368 /lib/libnss_nis-2.12.1.so
7f42a7df6000-7f42a7df7000 rw-p 0000a000 08:06 14944368 /lib/libnss_nis-2.12.1.so
7f42a7df7000-7f42a7dff000 r-xp 00000000 08:06 14944370 /lib/libnss_compat-2.12.1.so
7f42a7dff000-7f42a7ffe000 ---p 00008000 08:06 14944370 /lib/libnss_compat-2.12.1.so
7f42a7ffe000-7f42a7fff000 r-[0x7f42bc0435c6]
======= Memory map: ========
00400000-00460000 r-xp 00000000 08:06 6958531 /home/mattias/Development/C++/SpaceShooter/bin/Debug/SpaceShooter
0065f000-00660000 r--p 0005f000 08:06 6958531 /home/mattias/Development/C++/SpaceShooter/bin/Debug/SpaceShooter
00660000-00662000 rw-p 00060000 08:06 6958531 /home/mattias/Development/C++/SpaceShooter/bin/Debug/SpaceShooter
00fa6000-023f6000 rw-p 00000000 00:00 0 [heap]
7f42a37fe000-7f42a37ff000 ---p 00000000 00:00 0
7f42a37ff000-7f42a3fff000 rw-p 00000000 00:00 0
7f42a79df000-7f42a79eb000 r-xp 00000000 08:06 14944373 /lib/libnss_files-2.12.1.so
7f42a79eb000-7f42a7bea000 ---p 0000c000 08:06 14944373 /lib/libnss_files-2.12.1.so
7f42a7bea000-7f42a7beb000 r--p 0000b000 08:06 14944373 /lib/libnss_files-2.12.1.so
7f42a7beb000-7f42a7bec000 rw-p 0000c000 08:06 14944373 /lib/libnss_files-2.12.1.so
7f42a7bec000-7f42a7bf6000 r-xp 00000000 08:06 14944368 /lib/libnss_nis-2.12.1.so
7f42a7bf6000-7f42a7df5000 ---p 0000a000 08:06 14944368 /lib/libnss_nis-2.12.1.so
7f42a7df5000-7f42a7df6000 r--p 00009000 08:06 14944368 /lib/libnss_nis-2.12.1.so
7f42a7df6000-7f42a7df7000 rw-p 0000a000 08:06 14944368 /lib/libnss_nis-2.12.1.so
7f42a7df7000-7f42a7dff000 r-xp 00000000 08:06 14944370 /lib/libnss_compat-2.12.1.so
7f42a7dff000-7f42a7ffe000 ---p 00008000 08:06 14944370 /lib/libnss_compat-2.12.1.so
7f42a7ffe000-7f42a7fff000 r--p 00007000 08:06 14944370 /lib/libnss_compat-2.12.1.so
7f42a7fff000-7f42a8000000 rw-p 00008000 08:06 14944370 /lib/libnss_compat-2.12.1.so-p 00007000 08:06 14944370 /lib/libnss_compat-2.12.1.so
7f42a7fff000-7f42a8000000 rw-p 00008000 08:06 14944370 /lib/libnss_compat-2.12.1.so
...

...so in this case the plugin appears to be successfully unloaded (although OgreOggSoundPlugin::shutdown() appears to never get called, unlike the previous case where I have the plugin listed in plugins.cfg but no OgreOggSound code in my project. Baffling...).

I do, however, get this double free error. I don't know if the two errors are related, or different. Could it be that I have included libOgreOggSound.so in my linker settings (needed to get things to compile) and along with the plugin it means I have two identical libraries loaded?

I suspect there's something weird going on with the libraries, since when I include libOgreOggSound.so in my linker settings, I can't run my application outside the IDE I'm using, since I get a "error while loading shared libraries: libOgreOggSound.so: cannot open shared object file: No such file or directory." Running it inside the IDE works fine however.

Sigh, feeling noobier by the moment. In the meantime, again, all help gratefully accepted!

Edit: the failing to run the application outside the IDE was a red herring. After using CMake to configure OgreOggSound and doing "make;make install", the install process finishes with " -- Removed runtime path from "/usr/local/lib/libOgreOggSound.so"". Not sure why the cmake file is configured that way, but copying libOgreOggSound.so to /usr/lib means I can run the binary fine outside the IDE, but I still get the double free error described above.

baffledmollusc

09-04-2011 04:54:56

One problem solved.

The first error, a seg fault if you just specify Plugin_OgreOggSound in plugins.cfg, but don't do anything with it, is due to an uninitialized pointer.

Adding ",mSoundsToDestroy(0)" to the initializer list in the constructor OgreOggSoundManager::OgreOggSoundManager() in the ogreoggsoundmanager.cpp file fixes that bug. So that one, at least, isn't my fault :-P

The "double free" crash is still causing me problems, though. Again, any suggestions gratefully accepted, etc etc.

stickymango

11-04-2011 11:45:13

Oops,

Good spot on the uninitialised pointer, fixed now thanks! :oops:

I'll look into the other problem and see what I can find.

lkarydas

15-04-2011 01:17:38

I have the same "double free error". I am working on Ubuntu 10.10 (2.6.35-28) and Ogre 1.7. The Ogre log shows that OgreOggSound plugin is uninstalled successfully when shutting down.

I initialize like this:

mSoundManager = OgreOggSound::OgreOggSoundManager::getSingletonPtr();
mSoundManager->init();


I get the following crash on exit:

Shutting down...
*** glibc detected *** ./OgreApp: corrupted double-linked list: 0x00000000021bb360 ***
======= Backtrace: =========
/lib/libc.so.6(+0x774b6)[0x2b5fdaf3f4b6]
/lib/libc.so.6(+0x77961)[0x2b5fdaf3f961]
/lib/libc.so.6(+0x7a350)[0x2b5fdaf42350]
/lib/libc.so.6(cfree+0x73)[0x2b5fdaf45c83]
/usr/lib/libnvidia-glcore.so.260.19.26(+0xedfba1)[0x2b5fddbd0ba1]
/usr/lib/libnvidia-glcore.so.260.19.26(+0xe7b8b9)[0x2b5fddb6c8b9]
/usr/lib/libGL.so.1(+0x7ac30)[0x2b5fd87adc30]
======= Memory map: ========
00400000-00493000 r-xp 00000000 08:11 15352620 /home/kary/projects/cs539/build/dist/bin/OgreApp
00693000-00694000 r--p 00093000 08:11 15352620 /home/kary/projects/cs539/build/dist/bin/OgreApp
00694000-00695000 rw-p 00094000 08:11 15352620 /home/kary/projects/cs539/build/dist/bin/OgreApp
00695000-00699000 rw-p 00000000 00:00 0
020b6000-071b3000 rw-p 00000000 00:00 0 [heap]
2aaaaabb5000-2aaaaabb6000 rw-s f4060000 00:05 8941 /dev/nvidia0
2aaaaabb6000-2aaaaabb7000 rw-s bdc85000 00:05 8941 /dev/nvidia0
2aaaaabb7000-2aaaaabb8000 rw-s e8180000 00:05 8941 /dev/nvidia0
2aaaaabb8000-2aaaaabb9000 rw-s f4641000 00:05 8941 /dev/nvidia0
2aaaaabb9000-2aaaaabba000 rw-s e8240000 00:05 8941 /dev/nvidia0
2aaaaabba000-2aaaaabbb000 rw-s f4642000 00:05 8941 /dev/nvidia0
2aaaaabdb000-2aaaaac1b000 rw-s 41e29000 00:05 8941 /dev/nvidia0
2aaaaac1b000-2aaaaac1c000 rw-s efee5000 00:05 8941 /dev/nvidia0
2aaaaac1c000-2aaaaac20000 rw-s 2a91b000 00:05 8941 /dev/nvidia0
2aaaaac20000-2aaaaac21000 rw-s a5eb0000 00:05 8941 /dev/nvidia0
2aaaaac21000-2aaaaac41000 rw-s e8260000 00:05 8941 /dev/nvidia0
2aaaaac41000-2aaaaac45000 rw-s 983a3000 00:05 8941 /dev/nvidia0
2aaaaac45000-2aaaaad45000 rw-s 518d6000 00:05 8941 /dev/nvidia0
2aaaaad45000-2aaaaad49000 rw-s 64440000 00:05 8941 /dev/nvidia0
2aaaaad49000-2aaaaaf49000 rw-s 865a0000 00:05 8941 /dev/nvidia0
2aaaab04a000-2aaaab04b000 ---p 00000000 00:00 0
2aaaab04b000-2aaaab24b000 rw-p 00000000 00:00 0
2aaaab24b000-2aaaab24c000 ---p 00000000 00:00 0
2aaaab24c000-2aaaab44c000 rw-p 00000000 00:00 0
2aaaab44c000-2aaaab44d000 ---p 00000000 00:00 0
2aaaab44d000-2aaaab64d000 rw-p 00000000 00:00 0
2aaaab64d000-2aaaab64e000 ---p 00000000 00:00 0
2aaaab64e000-2aaaab84e000 rw-p 00000000 00:00 0
2aaaab84e000-2aaaab84f000 ---p 00000000 00:00 0
2aaaab84f000-2aaaaba4f000 rw-p 00000000 00:00 0
2aaaaba4f000-2aaaaba50000 ---p 00000000 00:00 0
2aaaaba50000-2aaaabc50000 rw-p 00000000 00:00 0
2aaaabc50000-2aaaabc51000 ---p 00000000 00:00 0
2aaaabc51000-2aaaabf51000 rw-p 00000000 00:00 0
2aaaac000000-2aaaac6ca000 rw-p 00000000 00:00 0
2aaaac6ca000-2aaab0000000 ---p 00000000 00:00 0
2aaab0000000-2aaab0100000 rw-p 00000000 00:00 0
2aaab0201000-2aaab0301000 rw-p 00000000 00:00 0
2aaab04a3000-2aaab05a3000 rw-p 00000000 00:00 0
2aaab06a5000-2aaab08a5000 rw-s 61d25000 00:05 8941 /dev/nvidia0
2aaab08a5000-2aaab09a5000 rw-p 00000000 00:00 0
2aaab0cf8000-2aaab0ef8000 rw-s a5ea4000 00:05 8941 /dev/nvidia0
2aaab146d000-2aaab186d000 rw-p 00000000 00:00 0
2aaab18c5000-2aaab19c5000 rw-p 00000000 00:00 0
2aaab1dc6000-2aaab206a000 r--p 00000000 08:11 21498895 /usr/lib/locale/locale-archive
2aaab206a000-2aaab206f000 r-xp 00000000 08:11 21503153 /usr/lib/alsa-lib/libasound_module_pcm_pulse.so
2aaab206f000-2aaab226e000 ---p 00005000 08:11 21503153 /usr/lib/alsa-lib/libasound_module_pcm_pulse.so
2aaab226e000-2aaab226f000 r--p 00004000 08:11 21503153 /usr/lib/alsa-lib/libasound_module_pcm_pulse.so
2aaab226f000-2aaab2270000 rw-p 00005000 08:11 21503153 /usr/lib/alsa-lib/libasound_module_pcm_pulse.so
2aaab29f0000-2aaab2ac9000 r-xp 00000000 08:11 21498048 /usr/lib/libasound.so.2.0.0
2aaab2ac9000-2aaab2cc8000 ---p 000d9000 08:11 21498048 /usr/lib/libasound.so.2.0.0
2aaab2cc8000-2aaab2cce000 r--p 000d8000 08:11 21498048 /usr/lib/libasound.so.2.0.0
2aaab2cce000-2aaab2ccf000 rw-p 000de000 08:11 21498048 /usr/lib/libasound.so.2.0.0
2aaab2ccf000-2aaab2d0e000 r-xp 00000000 08:11 21496694 /usr/lib/libpulse.so.0.12.2
2aaab2d0e000-2aaab2f0e000 ---p 0003f000 08:11 21496694 /usr/lib/libpulse.so.0.12.2
2aaab2f0e000-2aaab2f0f000 r--p 0003f000 08:11 21496694 /usr/lib/libpulse.so.0.12.2
2aaab2f0f000-2aaab2f10000 rw-p 00040000 08:11 21496694 /usr/lib/libpulse.so.0.12.2
2aaab2f10000-2aaab2f11000 r-xp 00000000 08:11 21499575 /usr/lib/libX11-xcb.so.1.0.0
2aaab2f11000-2aaab3110000 ---p 00001000 08:11 21499575 /usr/lib/libX11-xcb.so.1.0.0
2aaab3110000-2aaab3111000 r--p 00000000 08:11 21499575 /usr/lib/libX11-xcb.so.1.0.0
2aaab3111000-2aaab3112000 rw-p 00001000 08:11 21499575 /usr/lib/libX11-xcb.so.1.0.0
2aaab3112000-2aaab3117000 r-xp 00000000 08:11 21499092 /usr/lib/libXtst.so.6.1.0
2aaab3117000-2aaab3317000 ---p 00005000 08:11 21499092 /usr/lib/libXtst.so.6.1.0
2aaab3317000-2aaab3318000 r--p 00005000 08:11 21499092 /usr/lib/libXtst.so.6.1.0
2aaab3318000-2aaab3319000 rw-p 00006000 08:11 21499092 /usr/lib/libXtst.so.6.1.0
2aaab3319000-2aaab331c000 r-xp 00000000 08:11 21499658 /usr/lib/libxcb-atom.so.1.0.0
2aaab331c000-2aaab351c000 ---p 00003000 08:11 21499658 /usr/lib/libxcb-atom.so.1.0.0
2aaab351c000-2aaab351d000 r--p 00003000 08:11 21499658 /usr/lib/libxcb-atom.so.1.0.0
2aaab351d000-2aaab351e000 rw-p 00004000 08:11 21499658 /usr/lib/libxcb-atom.so.1.0.0
2aaab351e000-2aaab3568000 r-xp 00000000 08:11 21496692 /usr/lib/libpulsecommon-0.9.21.so
2aaab3568000-2aaab3768000 ---p 0004a000 08:11 21496692 /usr/lib/libpulsecommon-0.9.21.so
2aaab3768000-2aaab3769000 r--p 0004a000 08:11 21496692 /usr/lib/libpulsecommon-0.9.21.so
2aaab3769000-2aaab376a000 rw-p 0004b000 08:11 21496692 /usr/lib/libpulsecommon-0.9.21.so
2aaab376a000-2aaab3773000 r-xp 00000000 08:11 21233702 /lib/libwrap.so.0.7.6
2aaab3773000-2aaab3972000 ---p 00009000 08:11 21233702 /lib/libwrap.so.0.7.6
2aaab3972000-2aaab3973000 r--p 00008000 08:11 21233702 /lib/libwrap.so.0.7.6
2aaab3973000-2aaab3974000 rw-p 00009000 08:11 21233702 /lib/libwrap.so.0.7.6
2aaab3974000-2aaab3975000 rw-p 00000000 00:00 0
2aaab3a4f000-2aaab3a50000 ---p 00000000 00:00 0
2aaab3a50000-2aaab3c50000 rw-p 00000000 00:00 0
2aaab3c50000-2aaab3cae000 r-xp 00000000 08:11 21499540 /usr/lib/libsndfile.so.1.0.21
2aaab3cae000-2aaab3eae000 ---p 0005e000 08:11 21499540 /usr/lib/libsndfile.so.1.0.21
2aaab3eae000-2aaab3eb0000 r--p 0005e000 08:11 21499540 /usr/lib/libsndfile.so.1.0.21
2aaab3eb0000-2aaab3eb1000 rw-p 00060000 08:11 21499540 /usr/lib/libsndfile.so.1.0.21
2aaab3eb1000-2aaab3eb5000 rw-p 00000000 00:00 0
2aaab3eb5000-2aaab3ef5000 r-xp 00000000 08:11 21233694 /lib/libdbus-1.so.3.5.2
2aaab3ef5000-2aaab40f5000 ---p 00040000 08:11 21233694 /lib/libdbus-1.so.3.5.2
2aaab40f5000-2aaab40f6000 r--p 00040000 08:11 21233694 /lib/libdbus-1.so.3.5.2
2aaab40f6000-2aaab40f7000 rw-p 00041000 08:11 21233694 /lib/Aborted


Just in case it helps, this is the Valgrind output:

==19891== ERROR SUMMARY: 54 errors from 11 contexts (suppressed: 50 from 11)
==19891==
==19891== 1 errors in context 1 of 11:
==19891== Conditional jump or move depends on uninitialised value(s)
==19891== at 0x5256B18: Ogre::SkeletonSerializer::readAnimationTrack(Ogre::SharedPtr<Ogre::DataStream>&, Ogre::Animation*, Ogre::Skeleton*) (OgreSkeletonSerializer.cpp:484)
==19891== by 0x5256ECD: Ogre::SkeletonSerializer::readAnimation(Ogre::SharedPtr<Ogre::DataStream>&, Ogre::Skeleton*) (OgreSkeletonSerializer.cpp:447)
==19891== by 0x5257055: Ogre::SkeletonSerializer::importSkeleton(Ogre::SharedPtr<Ogre::DataStream>&, Ogre::Skeleton*) (OgreSkeletonSerializer.cpp:129)
==19891== by 0x5251041: Ogre::Skeleton::loadImpl() (OgreSkeleton.cpp:83)
==19891== by 0x518CBB9: Ogre::Resource::load(bool) (OgreResource.cpp:239)
==19891== by 0x51A3A98: Ogre::ResourceManager::load(std::string const&, std::string const&, bool, Ogre::ManualResourceLoader*, std::map<std::string, std::string, std::less<std::string>, Ogre::STLAllocator<std::pair<std::string const, std::string>, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > > const*, bool) (OgreResourceManager.cpp:106)
==19891== by 0x50E8A8E: Ogre::Mesh::setSkeletonName(std::string const&) (OgreMesh.cpp:516)
==19891== by 0x5100036: Ogre::MeshSerializerImpl::readSkeletonLink(Ogre::SharedPtr<Ogre::DataStream>&, Ogre::Mesh*, Ogre::MeshSerializerListener*) (OgreMeshSerializerImpl.cpp:1077)
==19891== by 0x510417D: Ogre::MeshSerializerImpl::readMesh(Ogre::SharedPtr<Ogre::DataStream>&, Ogre::Mesh*, Ogre::MeshSerializerListener*) (OgreMeshSerializerImpl.cpp:891)
==19891== by 0x5102D19: Ogre::MeshSerializerImpl::importMesh(Ogre::SharedPtr<Ogre::DataStream>&, Ogre::Mesh*, Ogre::MeshSerializerListener*) (OgreMeshSerializerImpl.cpp:121)
==19891== by 0x50FDBF4: Ogre::MeshSerializer::importMesh(Ogre::SharedPtr<Ogre::DataStream>&, Ogre::Mesh*) (OgreMeshSerializer.cpp:122)
==19891== by 0x50EEAD2: Ogre::Mesh::loadImpl() (OgreMesh.cpp:302)
==19891==
==19891==
==19891== 1 errors in context 2 of 11:
==19891== Conditional jump or move depends on uninitialised value(s)
==19891== at 0x4654AE: BaseApplication::createCamera() (SdkCameraMan.h:150)
==19891== by 0x4649C1: BaseApplication::setup() (BaseApplication.cpp:236)
==19891== by 0x465372: BaseApplication::go() (BaseApplication.cpp:205)
==19891== by 0x4732B0: main (App.cpp:850)
==19891==
==19891==
==19891== 1 errors in context 3 of 11:
==19891== Conditional jump or move depends on uninitialised value(s)
==19891== at 0xB776E48: ??? (in /usr/lib/libnvidia-glcore.so.260.19.26)
==19891== by 0x9039BEEF3900: ???
==19891== by 0x100009038: ???
==19891== by 0x1: ???
==19891== by 0x109E4D8F: ???
==19891==
==19891==
==19891== 2 errors in context 4 of 11:
==19891== Invalid free() / delete / delete[]
==19891== at 0x4C27A83: operator delete(void*) (vg_replace_malloc.c:387)
==19891== by 0x81D1048: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (in /usr/lib/libstdc++.so.6.0.14)
==19891== by 0x890C8BF: __cxa_finalize (cxa_finalize.c:56)
==19891== by 0x7EEF5C5: ??? (in /usr/local/lib/libOgreOggSound.so)
==19891== by 0x7F1A050: ??? (in /usr/local/lib/libOgreOggSound.so)
==19891== by 0x890C4F1: exit (exit.c:78)
==19891== by 0x88F1D94: (below main) (libc-start.c:258)
==19891== Address 0xd224bb0 is 0 bytes inside a block of size 43 free'd
==19891== at 0x4C27A83: operator delete(void*) (vg_replace_malloc.c:387)
==19891== by 0x81D1048: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (in /usr/lib/libstdc++.so.6.0.14)
==19891== by 0x890C8BF: __cxa_finalize (cxa_finalize.c:56)
==19891== by 0x104C05C5: ???
==19891== by 0x104EB050: ???
==19891== by 0x401562B: _dl_close (dl-close.c:747)
==19891== by 0x400ED35: _dl_catch_error (dl-error.c:178)
==19891== by 0x95CF2AB: _dlerror_run (dlerror.c:164)
==19891== by 0x95CF00E: dlclose (dlclose.c:48)
==19891== by 0x50214B7: Ogre::DynLib::unload() (OgreDynLib.cpp:100)
==19891== by 0x5022197: Ogre::DynLibManager::unload(Ogre::DynLib*) (OgreDynLibManager.cpp:75)
==19891== by 0x51B128E: Ogre::Root::unloadPlugins() (OgreRoot.cpp:1084)
==19891==
==19891==
==19891== 2 errors in context 5 of 11:
==19891== Conditional jump or move depends on uninitialised value(s)
==19891== at 0x74380C5: alcCreateContext (ALc.c:1001)
==19891== by 0x7EF1611: OgreOggSound::OgreOggSoundManager::init(std::string const&, unsigned int, unsigned int, Ogre::SceneManager*) (in /usr/local/lib/libOgreOggSound.so)
==19891== by 0x464A5D: BaseApplication::setup() (BaseApplication.cpp:256)
==19891== by 0x465372: BaseApplication::go() (BaseApplication.cpp:205)
==19891== by 0x4732B0: main (App.cpp:850)
==19891==
==19891==
==19891== 2 errors in context 6 of 11:
==19891== Conditional jump or move depends on uninitialised value(s)
==19891== at 0x74380F3: alcCreateContext (ALc.c:992)
==19891== by 0x7EF1611: OgreOggSound::OgreOggSoundManager::init(std::string const&, unsigned int, unsigned int, Ogre::SceneManager*) (in /usr/local/lib/libOgreOggSound.so)
==19891== by 0x464A5D: BaseApplication::setup() (BaseApplication.cpp:256)
==19891== by 0x465372: BaseApplication::go() (BaseApplication.cpp:205)
==19891== by 0x4732B0: main (App.cpp:850)
==19891==
==19891==
==19891== 2 errors in context 7 of 11:
==19891== Conditional jump or move depends on uninitialised value(s)
==19891== at 0x74380E6: alcCreateContext (ALc.c:984)
==19891== by 0x7EF1611: OgreOggSound::OgreOggSoundManager::init(std::string const&, unsigned int, unsigned int, Ogre::SceneManager*) (in /usr/local/lib/libOgreOggSound.so)
==19891== by 0x464A5D: BaseApplication::setup() (BaseApplication.cpp:256)
==19891== by 0x465372: BaseApplication::go() (BaseApplication.cpp:205)
==19891== by 0x4732B0: main (App.cpp:850)
==19891==
==19891==
==19891== 2 errors in context 8 of 11:
==19891== Conditional jump or move depends on uninitialised value(s)
==19891== at 0x74380DB: alcCreateContext (ALc.c:982)
==19891== by 0x7EF1611: OgreOggSound::OgreOggSoundManager::init(std::string const&, unsigned int, unsigned int, Ogre::SceneManager*) (in /usr/local/lib/libOgreOggSound.so)
==19891== by 0x464A5D: BaseApplication::setup() (BaseApplication.cpp:256)
==19891== by 0x465372: BaseApplication::go() (BaseApplication.cpp:205)
==19891== by 0x4732B0: main (App.cpp:850)
==19891==
==19891==
==19891== 6 errors in context 9 of 11:
==19891== Invalid read of size 4
==19891== at 0x81D1036: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (in /usr/lib/libstdc++.so.6.0.14)
==19891== by 0x890C8BF: __cxa_finalize (cxa_finalize.c:56)
==19891== by 0x7EEF5C5: ??? (in /usr/local/lib/libOgreOggSound.so)
==19891== by 0x7F1A050: ??? (in /usr/local/lib/libOgreOggSound.so)
==19891== by 0x890C4F1: exit (exit.c:78)
==19891== by 0x88F1D94: (below main) (libc-start.c:258)
==19891== Address 0xd224bc0 is 16 bytes inside a block of size 43 free'd
==19891== at 0x4C27A83: operator delete(void*) (vg_replace_malloc.c:387)
==19891== by 0x81D1048: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (in /usr/lib/libstdc++.so.6.0.14)
==19891== by 0x890C8BF: __cxa_finalize (cxa_finalize.c:56)
==19891== by 0x104C05C5: ???
==19891== by 0x104EB050: ???
==19891== by 0x401562B: _dl_close (dl-close.c:747)
==19891== by 0x400ED35: _dl_catch_error (dl-error.c:178)
==19891== by 0x95CF2AB: _dlerror_run (dlerror.c:164)
==19891== by 0x95CF00E: dlclose (dlclose.c:48)
==19891== by 0x50214B7: Ogre::DynLib::unload() (OgreDynLib.cpp:100)
==19891== by 0x5022197: Ogre::DynLibManager::unload(Ogre::DynLib*) (OgreDynLibManager.cpp:75)
==19891== by 0x51B128E: Ogre::Root::unloadPlugins() (OgreRoot.cpp:1084)
==19891==
==19891==
==19891== 7 errors in context 10 of 11:
==19891== Conditional jump or move depends on uninitialised value(s)
==19891== at 0x9EB0E40: inflateReset2 (in /lib/libz.so.1.2.3.4)
==19891== by 0x9EB0F2F: inflateInit2_ (in /lib/libz.so.1.2.3.4)
==19891== by 0x9CA38A1: zzip_file_open (in /usr/lib/libzzip-0.so.13.0.56)
==19891== by 0x52B4AAF: Ogre::ZipArchive::open(std::string const&, bool) const (OgreZip.cpp:140)
==19891== by 0x519C428: Ogre::ResourceGroupManager::parseResourceGroupScripts(Ogre::ResourceGroupManager::ResourceGroup*) (OgreResourceGroupManager.cpp:1075)
==19891== by 0x519CB8F: Ogre::ResourceGroupManager::initialiseAllResourceGroups() (OgreResourceGroupManager.cpp:147)
==19891== by 0x4649F5: BaseApplication::setup() (BaseApplication.cpp:245)
==19891== by 0x465372: BaseApplication::go() (BaseApplication.cpp:205)
==19891== by 0x4732B0: main (App.cpp:850)
==19891==
==19891==
==19891== 28 errors in context 11 of 11:
==19891== Conditional jump or move depends on uninitialised value(s)
==19891== at 0xF46BFDF: ???
==19891== by 0xF611FA7: ???
==19891== by 0xF4742B0: ???
==19891== by 0xF613E98: ???
==19891== by 0xF499990: ???
==19891== by 0xF434C8A: ???
==19891== by 0xF435B57: ???
==19891== by 0xF43E192: ???
==19891== by 0xF43EA34: ???
==19891== by 0xF3D758E: ???
==19891== by 0xF3E17EA: ???
==19891== by 0xF3E1911: ???
==19891==
--19891--
--19891-- used_suppression: 2 X on SUSE11 writev uninit padding
--19891-- used_suppression: 46 dl-hack3-cond-1
--19891-- used_suppression: 2 glibc-2.5.x-on-SUSE-10.2-(PPC)-2a
==19891==
==19891== ERROR SUMMARY: 54 errors from 11 contexts (suppressed: 50 from 11)


and finally this is the output of openal-info

Available playback devices:
ALSA Default
HDA Intel [VT2020 Analog] (hw:0,0) via ALSA
HDA Intel [VT2020 Digital] (hw:0,1) via ALSA
HDA NVidia [NVIDIA HDMI] (hw:1,3) via ALSA
HDA NVidia [NVIDIA HDMI] (hw:1,7) via ALSA
HDA NVidia [NVIDIA HDMI] (hw:1,8) via ALSA
HDA NVidia [NVIDIA HDMI] (hw:1,9) via ALSA
No Output
Available capture devices:
ALSA Default
HDA Intel [VT2020 Analog] (hw:0,0) via ALSA
Default playback device: ALSA Default
Default capture device: ALSA Default
ALC version: 1.1

** Info for device "ALSA Default" **
ALC version: 1.1
ALC extensions:
ALC_ENUMERATE_ALL_EXT, ALC_ENUMERATION_EXT, ALC_EXT_CAPTURE,
ALC_EXT_disconnect, ALC_EXT_EFX, ALC_EXT_thread_local_context
OpenAL vendor string: OpenAL Community
OpenAL renderer string: OpenAL Soft
OpenAL version string: 1.1 ALSOFT 1.13
OpenAL extensions:
AL_EXT_DOUBLE, AL_EXT_EXPONENT_DISTANCE, AL_EXT_FLOAT32, AL_EXT_IMA4,
AL_EXT_LINEAR_DISTANCE, AL_EXT_MCFORMATS, AL_EXT_MULAW,
AL_EXT_MULAW_MCFORMATS, AL_EXT_OFFSET, AL_EXT_source_distance_model,
AL_LOKI_quadriphonic, AL_SOFT_buffer_sub_data, AL_SOFT_loop_points
EFX version: 1.0
Max auxiliary sends: 1
Supported filters:
Low-pass
Supported effects:
EAX Reverb, Reverb, Echo, Ring Modulator


Any help would be greatly appreciated.