This service will be undergoing maintenance at 00:00 UTC, 2016-08-01. It is expected to last about 1 hours
Bug 134457 - segfault on sound initialization
segfault on sound initialization
Status: CLOSED WORKSFORME
Product: Fedora
Classification: Fedora
Component: arts (Show other bugs)
rawhide
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Ngo Than
:
Depends On:
Blocks: FC3Target
  Show dependency treegraph
 
Reported: 2004-10-02 18:44 EDT by Adam Szalkowski
Modified: 2007-11-30 17:10 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2004-10-05 09:18:47 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Adam Szalkowski 2004-10-02 18:44:56 EDT
Description of problem:
the SDL lib seems to produce a segfault when initializing sound and
artsd is running.


Version-Release number of selected component (if applicable):
SDL-1.2.7-7.1
arts-1.3.0-4

How reproducible:
always, when artsd is running. when artsd is killed all SDL apps start
up cleanly.

Steps to Reproduce:
(1. start artsd)
2. execute some SDL app with sound (Maelstrom, tuxracer or whatever)
  
Actual results:
segfault

Expected results:
program start up cleanly and use artsd, alsa or oss


Additional info:

soundcard: snd-emu10k1

Is this rather a artsd or alsa bug than a bug in SDL? if so please
assign to the right person.
I had this problem since at least FC2. Maybe even in FC1. complete
reinstalls did not change anything.
On my notebook SDL works with artsd started. strange.

[adam@baldur bin]$ gdb Maelstrom
GNU gdb Red Hat Linux (6.1post-1.20040607.33rh)
This GDB was configured as "i386-redhat-linux-gnu"...Using host
libthread_db library "/lib/tls/libthread_db.so.1".

(gdb) run
Starting program: /tmp/Maelstrom/bin/Maelstrom
Reading symbols from shared object read from target memory...done.
Loaded system supplied DSO at 0xffffe000
[Thread debugging using libthread_db enabled]
[New Thread 1073866368 (LWP 17661)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1073866368 (LWP 17661)]
0x497b7f99 in do_lookup_x () from /lib/ld-linux.so.2
(gdb) bt
#0  0x497b7f99 in do_lookup_x () from /lib/ld-linux.so.2
#1  0x497b83b2 in _dl_lookup_symbol_x () from /lib/ld-linux.so.2
#2  0x497bb7b6 in fixup () from /lib/ld-linux.so.2
#3  0x497bb6f0 in _dl_runtime_resolve () from /lib/ld-linux.so.2
#4  0x49c855af in
Arts::SystemThreadsNoThread_impl::~SystemThreadsNoThread_impl () from
/usr/lib/libmcop.so.1
#5  0x49c84d1d in Arts::Thread::~Thread () from /usr/lib/libmcop.so.1
#6  0x4b546b04 in Arts::AudioIOOSSThreaded::~AudioIOOSSThreaded ()
from /usr/lib/libartsflow.so.1
#7  0x4b52297a in Arts::AudioSubSystem::initAudioIO () from
/usr/lib/libartsflow.so.1
#8  0x4b522e2e in Arts::AudioSubSystem::samplingRate () from
/usr/lib/libartsflow.so.1
#9  0x4b5291aa in Arts::StdSynthModule::StdSynthModule () from
/usr/lib/libartsflow.so.1
#10 0x40030f13 in Sender::Sender () from /usr/lib/libartscbackend.so.0
#11 0x4002c495 in arts_backend_play_stream () from
/usr/lib/libartscbackend.so.0
#12 0x49d435c8 in arts_play_stream () from /usr/lib/libartsc.so.0
#13 0x4b750ad0 in SDL_MixAudio_MMX_S8 () from /usr/lib/libSDL-1.2.so.0
#14 0x4b74bbc1 in SDL_OpenAudio () from /usr/lib/libSDL-1.2.so.0
#15 0x08069644 in Sound::Volume (this=0x80b3c18, vol=1 '\001') at
Mac_Sound.cpp:185
#16 0x08069529 in Sound (this=0x80b3c18, soundfile=0x80acad0
"/tmp/Maelstrom/games/Maelstrom/Maelstrom Sounds", vol=1 '\001') at
Mac_Sound.cpp:153
#17 0x080517be in DoInitializations (video_flags=0) at init.cpp:763
#18 0x08053db4 in main (argc=0, argv=0xbffff774) at main.cpp:286
Comment 1 Adam Szalkowski 2004-10-03 12:06:41 EDT
ok, this seems to be rather a bug in arts.
the program (supertux) receives a SIGABRT when leaving
MCOPConfig::readEntry -> some destructor?

I'll attach some gdb output. any suggestions?
Comment 2 Adam Szalkowski 2004-10-03 12:08:07 EDT
[adam@baldur ~]$ gdb supertux
GNU gdb Red Hat Linux (6.1post-1.20040607.35rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and
you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "i386-redhat-linux-gnu"...(no debugging
symbols found)...Using host libthread_db library
"/lib/tls/libthread_db.so.1".

(gdb) r
Starting program: /usr/bin/supertux
Reading symbols from shared object read from target memory...(no
debugging symbols found)...done.
Loaded system supplied DSO at 0xffffe000
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...[Thread debugging using libthread_db enabled]
[New Thread 1075385888 (LWP 21724)]
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(nodebugging
symbols found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...Datadir: /usr/bin/../share/supertux
*** glibc detected *** free(): invalid pointer: 0x080c14c0 ***

Program received signal SIGABRT, Aborted.
[Switching to Thread 1075385888 (LWP 21724)]
0xffffe410 in __kernel_vsyscall ()
(gdb) bt
#0  0xffffe410 in __kernel_vsyscall ()
#1  0x4008d625 in raise () from /lib/tls/libc.so.6
#2  0x4008efe9 in abort () from /lib/tls/libc.so.6
#3  0x400c5e2b in malloc_printerr () from /lib/tls/libc.so.6
#4  0x400c68ba in free () from /lib/tls/libc.so.6
#5  0x4a2fc375 in operator delete () from /usr/lib/libstdc++.so.6
#6  0x4a2dd4cf in std::string::_Rep::_M_destroy () from
/usr/lib/libstdc++.so.6
#7  0x4a2dd752 in std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::~basic_string () from /usr/lib/libstdc++.so.6
#8  0x405fdbd0 in Arts::MCOPUtils::readConfigEntry (key=@0xbffff460,
defaultValue=@0xbffff4b0) at mcoputils.cc:162
#9  0x405db074 in Dispatcher (this=0x80c3154, ioManager=0x0,
startServer=Arts::Dispatcher::noServer) at dispatcher.cc:248
#10 0x401bece9 in ArtsCApi (this=0x80c3150) at artscbackend.cc:583
#11 0x401beca1 in ArtsCApi::ref () at artscbackend.cc:689
#12 0x401be64c in arts_backend_init () at artscbackend.cc:714
#13 0x401ab5a2 in arts_init () at artsc.c:122
#14 0x4b75065a in SDL_MixAudio_MMX_S8 () from /usr/lib/libSDL-1.2.so.0
#15 0x4b74c070 in SDL_AudioInit () from /usr/lib/libSDL-1.2.so.0
#16 0x4b74aa5a in SDL_InitSubSystem () from /usr/lib/libSDL-1.2.so.0
#17 0x4b74ab5b in SDL_Init () from /usr/lib/libSDL-1.2.so.0
#18 0x08084d23 in st_audio_setup ()
#19 0x080874f4 in main ()
Comment 3 Ngo Than 2004-10-04 16:57:56 EDT
i have started tuxracer and Maelstrom, i cannot reproduce this crash
on my local machine with SDL-1.2.7-7.1 and arts-1.3.0-4. Both work
without any problem for me.

could you please try following soundsetting:

kcontrol->Sound & Multimedia->Sound System->Hardware->Select the audio
device: Advanced Linux Sound Architecture
and perhaps disable Full duplex. Does it work for you?

if it still does not work, please rename $HOME/.kde to .kde.me and
start KDE again.
Comment 4 Adam Szalkowski 2004-10-05 03:09:18 EDT
ok, tuxracer and Maelstrom now also work even using arts (with a 2s
delay...). though i do not exactly know why.
i deleted ~/.kde/share/config/arts* and ~/.mcop* and had rebuilt arts
with debuginfo. now i got again the original version installed and it
still works.
but supertux still has problems with sound initialization:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1074373984 (LWP 4453)]
0x47b69890 in free () from /lib/tls/libc.so.6
(gdb) bt
#0  0x47b69890 in free () from /lib/tls/libc.so.6
#1  0x47f0c375 in operator delete () from /usr/lib/libstdc++.so.6
#2  0x47eed4cf in std::string::_Rep::_M_destroy () from
/usr/lib/libstdc++.so.6
#3  0x47eed5e1 in std::string::assign () from /usr/lib/libstdc++.so.6
#4  0x403c2028 in Arts::Dispatcher::Dispatcher () from
/usr/lib/libmcop.so.1
#5  0x400a40a4 in arts_backend_init () from /usr/lib/libartscbackend.so.0
#6  0x400b42b6 in arts_init () from /usr/lib/libartsc.so.0
#7  0x4002b0fa in SDL_MixAudio_MMX_S8 () from /usr/lib/libSDL-1.2.so.0
#8  0x40026b10 in SDL_AudioInit () from /usr/lib/libSDL-1.2.so.0
#9  0x400254fa in SDL_InitSubSystem () from /usr/lib/libSDL-1.2.so.0
#10 0x400255fb in SDL_Init () from /usr/lib/libSDL-1.2.so.0
#11 0x08084d23 in st_audio_setup ()
#12 0x080874f4 in main ()

this is just after trying to read from ~/.mcoprc


can i disable arts support in SDL without having to recompile it?
Comment 5 Ngo Than 2004-10-05 09:18:47 EDT
i have built supertux on my local machine today, it works without any
problem for me.

you have to rebuild SDL if you want to disable arts support.

Note You need to log in before you can comment on or make changes to this bug.