Summary: | aRtsd crashes if loading StereoCompressor before any other effects (was: artsd crashes at krec startup) | ||
---|---|---|---|
Product: | [Unmaintained] arts | Reporter: | fm3 |
Component: | general | Assignee: | Arnold Krille <arnold> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | kde-multimedia, michaelmurphy, rdieter |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Debian testing | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
GDB log of artsd
strace -f -F log of artsd stacktrace of artscontrol -> view environment (without FIR-QUALIZER loaded) backtrace of artscontrol -> view env crash (debian woody, kde 3.1.3) |
Description
fm3
2003-03-17 13:08:38 UTC
Created attachment 1196 [details]
GDB log of artsd
Created attachment 1197 [details]
strace -f -F log of artsd
Are you able to load an effect / the Synth_STEREO_COMPRESSOR in noatuns effects? Arnold It _seems_ to be. When I start noatun the first time, I cannot add Arts::Synth_STEREO_COMPRESSOR, nothing happens after clicking the button. But after adding another effect, e.g. ExtraStereo, I can add Arts::Synth_STEREO_COMPRESSOR too. After that, there are running three instances of artsd. After terminating noatun, two instances left. I'm not sure if this is good or bad. I know that my artsd crashes if I add effects unless I firstly load FIR-EQUALIZER (unimportant with which loader). Seems to be an aRts-issue? Or is the code of my StereoCompressor different than the others? Arnold Same here. Debian woody + KDE 3.1.1 from Ralf Nolden. This happens with alsa oss and none io/methods. I can add that last (and first) time I used krec and artscontrol I was running KDE 3.1.0 and there was no problem (oss at that time). I've also tried your suggestion. FREEVERB and STEREO_COMPRESOR crash arts. After loading FIR-EQUALIZER FREEVERB and STEREO_COMPRESSOR load without problem. I've removed all the effects in noatun I just added and tried to add STEREO_COMPRESOR. This time no problem. Achim Created attachment 1336 [details]
stacktrace of artscontrol -> view environment (without FIR-QUALIZER loaded)
Using artscontrol -> view environment crashes artscontrol and arts. But when
I
load FIR-EQUALIZER via noatun artscontrol -> view environment works.
While not a krec bug I think this has the same cause as the krec problem.
Debian woody + KDE 3.1.1 from Ralf Nolden
Achim
Seems to be a problem with aRts since it alos crashes if not loading inside KRec. But its only on some packages/environments, my gentoo kde3.1(.1) builds are stable... Arnold grmbl... :s/alos/also who is experiencing this problem with the latest aRts/KDE release? Arnold Hi Arnold, thx for remembering me. Didn't try again. Unfortunately now it's even worse on Debian Woody + lastest KDE 3.1.2 debs of Ralf Nolden. Selecting artscontrol 'view environment' crashes artsd immediately: ach@lost(0) ~ $ ps -ef | grep arts ach 11056 618 2 18:00 ? 00:00:00 /usr/bin/artsd -F 10 -S 4096 -s 60 -m artsmessage -l 3 -f ach 11060 756 0 18:00 pts/3 00:00:00 grep arts ach@lost(0) ~ $ ach@lost(0) ~ $ ach@lost(0) ~ $ cat .mcoprc GlobalComm=Arts::TmpGlobalComm ach@lost(0) ~ $ l /tmp/mcop-ach/ total 28 -rw------- 1 ach ach 178 Jul 17 18:00 Arts_AudioManager drwx------ 2 ach ach 40 Jul 14 23:46 artsd-samples -rw------- 1 ach ach 178 Jul 17 18:00 Arts_MidiManager -rw------- 1 ach ach 178 Jul 17 18:00 Arts_PlayObjectFactory -rw------- 1 ach ach 178 Jul 17 18:00 Arts_SimpleSoundServer -rw------- 1 ach ach 178 Jul 17 18:00 Arts_SoundServer -rw------- 1 ach ach 178 Jul 17 18:00 Arts_SoundServerV2 srwxr-xr-x 1 ach ach 0 Jul 14 23:46 localhost-0287-3f1324ad srwxr-xr-x 1 ach ach 0 Jul 17 17:52 localhost-2af0-3f16c655 srwxr-xr-x 1 ach ach 0 Jul 17 17:52 localhost-2af3-3f16c658 srwxr-xr-x 1 ach ach 0 Jul 17 17:54 localhost-2afd-3f16c69d srwxr-xr-x 1 ach ach 0 Jul 17 17:59 localhost-2b15-3f16c7eb srwxr-xr-x 1 ach ach 0 Jul 17 17:59 localhost-2b18-3f16c7ed srwxr-xr-x 1 ach ach 0 Jul 17 18:00 localhost-2b23-3f16c821 srwxr-xr-x 1 ach ach 0 Jul 17 18:00 localhost-2b30-3f16c829 -rw------- 1 ach ach 32 Jul 14 23:46 secret-cookie ach@lost(0) ~ $ artscontrol mcop warning: user defined signal handler found for SIG_PIPE, overriding ach@lost(0) ~ $ ps -ef | grep arts ach 11056 618 2 18:00 ? 00:00:00 /usr/bin/artsd -F 10 -S 4096 -s 60 -m artsmessage -l 3 -f ach 11060 756 0 18:00 pts/3 00:00:00 grep arts ach@lost(0) ~ $ ach@lost(0) ~ $ ach@lost(0) ~ $ cat .mcoprc GlobalComm=Arts::TmpGlobalComm ach@lost(0) ~ $ l /tmp/mcop-ach/ total 28 -rw------- 1 ach ach 178 Jul 17 18:00 Arts_AudioManager drwx------ 2 ach ach 40 Jul 14 23:46 artsd-samples -rw------- 1 ach ach 178 Jul 17 18:00 Arts_MidiManager -rw------- 1 ach ach 178 Jul 17 18:00 Arts_PlayObjectFactory -rw------- 1 ach ach 178 Jul 17 18:00 Arts_SimpleSoundServer -rw------- 1 ach ach 178 Jul 17 18:00 Arts_SoundServer -rw------- 1 ach ach 178 Jul 17 18:00 Arts_SoundServerV2 srwxr-xr-x 1 ach ach 0 Jul 14 23:46 localhost-0287-3f1324ad srwxr-xr-x 1 ach ach 0 Jul 17 17:52 localhost-2af0-3f16c655 srwxr-xr-x 1 ach ach 0 Jul 17 17:52 localhost-2af3-3f16c658 srwxr-xr-x 1 ach ach 0 Jul 17 17:54 localhost-2afd-3f16c69d srwxr-xr-x 1 ach ach 0 Jul 17 17:59 localhost-2b15-3f16c7eb srwxr-xr-x 1 ach ach 0 Jul 17 17:59 localhost-2b18-3f16c7ed srwxr-xr-x 1 ach ach 0 Jul 17 18:00 localhost-2b23-3f16c821 srwxr-xr-x 1 ach ach 0 Jul 17 18:00 localhost-2b30-3f16c829 -rw------- 1 ach ach 32 Jul 14 23:46 secret-cookie ach@lost(0) ~ $ artscontrol mcop warning: user defined signal handler found for SIG_PIPE, overriding Starting krec (without an artsd running the the background), krec fails to connect the no long running server (okay ;) but fails to restart artsd (not okay, right?): ach@lost(253) ~ $ krec mcop warning: user defined signal handler found for SIG_PIPE, overriding unix_connect: can't connect to server (unix:/tmp/mcop-ach/localhost-2b30-3f16c829) unix_connect: can't connect to server (unix:/tmp/mcop-ach/localhost-2b30-3f16c829) (The previous message was repeated 1 times.) unix_connect: can't connect to server (unix:/tmp/mcop-ach/localhost-2b88-3f16cb14) file ../../mcop/flowsystem.cc: line 120 (void Arts::RemoteScheduleNode::connect(const string &, Arts::ScheduleNode *, const string &)): assertion failed: (!fs.isNull()) ach@lost(0) ~ $ ps -ef | grep arts ach 11159 756 0 18:15 pts/3 00:00:00 grep arts Restarting arts via kontrol-center. Krec still crashes artsd, after the startup-information dialog appear (contents not drawn yet) but before the 'Your system is missing the Synth_STEREO_COMPRESSOR aRts module. You will be ...' info dialog pops up (and the startup-info contents is drawn): ach@lost(0) ~ $ ps -ef | grep art[s] ach 11180 618 1 18:18 ? 00:00:00 /usr/bin/artsd -F 10 -S 4096 -s 60 -m artsmessage -l 3 -f ach@lost(0) ~ $ krec mcop warning: user defined signal handler found for SIG_PIPE, overriding unix_connect: can't connect to server (unix:/tmp/mcop-ach/localhost-2bac-3f16cc6e) file ../../mcop/flowsystem.cc: line 120 (void Arts::RemoteScheduleNode::connect(const string &, Arts::ScheduleNode *, const string &)): assertion failed: (!fs.isNull()) [1]+ Stopped krec ach@lost(0) ~ $ bg [1]+ krec & ach@lost(0) ~ $ ps -ef | grep art[s] Achim I experience this bug after a fresh CVS compile of kdelibs, kdebase and kdemm. gcc 2.95.3, SuSE 8.0 artscontrol dies as well after changing to the environment entry. By the way, is the suspension of arts after some idle time supposed to work right now? Christian hmm, *strange*. My gentoo-builds don't show this error, neither my cvs-build. Christian: Yes, autosuspend works (both 3.1.2 and cvs-head) Arnold Is there anything else I could try to help someone to find the bug in addition to compiling with --enable-debug=full? That will take some time on my machine, so I would prefer to do it all at once, for instance add some debug messages. How can I debug the non-working autosuspend feature? Christian Subject: Re: aRtsd crashes if loading StereoCompressor before any other effects (was: artsd crashes at krec startup) Hi, I have a rather strange analysis of this bug. When I compile the kdemultimedia/arts directory with --enable-debug=full, artsd won't crash while loading an effect. When I compile the very same directory without this switch, artsd will crash. The modules arts and kdelibs are compiled with --enable-debug=full as well. This is the output of krec with kdemultimedia/arts and --enable-debug=full christian@roehre:~> krec krec: KRecord::KRecord( QWidget *[Null pointer], const char* ) krec: StartUpWindow::StartUpWindow(QWidget *[Null pointer], const char *KRec::StartUpWindow ) krec: StartUpWindow::isTipDialog = true krec: KRecord::KRecord() Mainwidget mcop warning: user defined signal handler found for SIG_PIPE, overriding krec: KRecord::KRecord() aRts-Objects unix_connect: can't connect to server (unix:/tmp/mcop-christian/roehre_wg101_schwesternhaus-28cc-3f1fec46) Launched ok, pid = 27097 artskde: [void KAudioRecordStream::flush()] krec: AKByteStreamSender::AKByteStreamSender( RecordFile *(nil), float 40.6349, QObject *0x80d0928, const char* "" ) krec: KRecord::KRecord() Arts::Connects krec: KRecord::KRecord() Starts krec: KRecord::KRecord() Actions krec: KRecord::KRecord() ToolBar::VU-Meter/Level-Slider/LCDNumber krec: KRecord::~KRecord() krec: AKByteStreamSender::~AKByteStreamSender() krec: ~KRecord() - Bye This is the output without the switch: christian@roehre:~> krec krec: KRecord::KRecord( QWidget *[Null pointer], const char* ) krec: StartUpWindow::StartUpWindow(QWidget *[Null pointer], const char *KRec::StartUpWindow ) krec: StartUpWindow::isTipDialog = true krec: KRecord::KRecord() Mainwidget mcop warning: user defined signal handler found for SIG_PIPE, overriding krec: KRecord::KRecord() aRts-Objects artskde: [void KAudioRecordStream::flush()] Launched ok, pid = 28106 krec: AKByteStreamSender::AKByteStreamSender( RecordFile *(nil), float 40.6349, QObject *0x80d0950, const char* "" ) krec: KRecord::KRecord() Arts::Connects file ./mcop/flowsystem.cc: line 120 (void Arts::RemoteScheduleNode::connect(const string &, Arts::ScheduleNode *, const string &)): assertion failed: (!fs.isNull()) krec: KRecord::KRecord() Starts krec: KRecord::KRecord() Actions krec: KRecord::KRecord() ToolBar::VU-Meter/Level-Slider/LCDNumber krec: KRecord::~KRecord() krec: AKByteStreamSender::~AKByteStreamSender() krec: ~KRecord() - Bye Does the difference in the output starting with file ./mcop/flowsystem.cc: line 120 give someone experienced an insight? Here is a backtrace from artsd when I insert an effect via artsshell: (gdb) next Single stepping until exit from function select, which has no line number information. [Switching to Thread 1024 (LWP 28123)] 0x404e729a in Arts::StdIOManager::processOneEvent () from /opt/kdecvs/lib/libmcop.so.1 (gdb) Single stepping until exit from function processOneEvent__Q24Arts12StdIOManagerb, which has no line number information. 0x404e7621 in Arts::StdIOManager::run () from /opt/kdecvs/lib/libmcop.so.1 (gdb) Single stepping until exit from function run__Q24Arts12StdIOManager, which has no line number information. Program received signal SIGSEGV, Segmentation fault. 0x4148f3ae in ?? () (gdb) bt #0 0x4148f3ae in ?? () #1 0x4148e244 in ?? () #2 0x4148e291 in ?? () #3 0x40b773ac in ?? () #4 0x404ec3ab in Arts::Object_skel::_dispatch () from /opt/kdecvs/lib/libmcop.so.1 #5 0x404e23d5 in Arts::Dispatcher::handle () from /opt/kdecvs/lib/libmcop.so.1 #6 0x404b97d3 in Arts::Connection::receive () from /opt/kdecvs/lib/libmcop.so.1 #7 0x404f14b8 in Arts::SocketConnection::notifyIO () from /opt/kdecvs/lib/libmcop.so.1 #8 0x404e7462 in Arts::StdIOManager::processOneEvent () from /opt/kdecvs/lib/libmcop.so.1 #9 0x404e7621 in Arts::StdIOManager::run () from /opt/kdecvs/lib/libmcop.so.1 #10 0x404e4a04 in Arts::Dispatcher::run () from /opt/kdecvs/lib/libmcop.so.1 #11 0x080627df in main () #12 0x406629ed in __libc_start_main () from /lib/libc.so.6 (gdb) Somewhere along the line between the objectmanager and the call to flowsystem might be the error, at least this is my guess. Hope this helps, with further directions I'm willing to provide more information, compiling, testing. Christian hmm, these --enable-debug or not doesn't sound meaningfull to me since my stable build is built all without debug and my cvs has debug enabled... Perhaps you could look if it still happens when all is compiled without debug??? Thanks for investing so much time into this, me thinks its not long until you can read and understand the code better then me;-) Created attachment 2098 [details]
backtrace of artscontrol -> view env crash (debian woody, kde 3.1.3)
FWIW I've still the same problem on Debian woody with KDE 3.1.3
with Ralf Nolden debs from download.kde.org as with kde 3.1.2.
Hi, the crash depends in my setup if I compile kdemultimedia/arts without debug information. I checked out the module kdemultimedia twice and configured the with and without debug switches. If I install from either of them, the one without debug information crashes artsd with a memory failure (Speicherzugriffsfehler). Where would be the diffrence in our setups? I'm compiling with gcc 2.95.3, I assume you, Arnold, use gcc 3.x. Are there other diffences which could cause this bug? Bye, Christian FYI: I'm using KDE 3.1.2 compiled from source with RedHat's gcc-2.96 and I have the same crash. On my other machine running Suse8.0 with the KDE 3.1.2 rpms from Suse, this crash does not appear. I'm very willing to help find the bug. I have been experiencing this bug since KDE 3.1.1. It has been present in every version I have upgraded to since (I am currently on 3.1.4 from download.kde.org/stable/latest/Debian. It is the single most anoying thing about KDE for me and makes me dislike Arts very much. I think it is time for a coordinated effort led by a senior KDE/Arts developer. There seem to be plenty of people experiencing the bug willing to help (include me!). Is anything happening at the moment? See http://lists.debian.org/debian-kde/2003/debian-kde-200304/msg00142.html for the original description of my problems (can still reproduce). The problem occurs with both ALSA and OSS drivers. Thanks. Subject: Re: aRtsd crashes if loading StereoCompressor before any other effects (was: artsd crashes at krec startup)
On Wednesday 22 October 2003 18:38, Frans Pop wrote:
> Is anything happening at the moment?
Seems as if all aRts-developers (including me) aren't affected by this bug.
I am using cvs-head with full-debug and kde3.1.2 without any debug.
Arnold
So how about you (with the KDE and Arts knowledge) directing me (a user with a good general ICT background but no KDE or Arts knowledge), or one of the others experiencing the problem, on how best to debug this so we can get to the exact place where this problem occurs? Once this has been located the fix will probably present itself (and can be tested) and everybody will be happy ;-) I am quite willing to install a development environment to attack this problem, but I do need your guidance. I have KDE installed on a Penium III /1GHz machine with SB Live! Value running Debian Woody. I have been using Linux for about 4 years and have done some succesfull debugging on other problems (ide-tape kernel module, NFS, ...), but not yet in KDE environment. P.S. Thanks for your quick reaction. If the bug doesnt happen with debug=full, then just try to enable debugging info by adding -g to CFLAGS. Using debug=full will disable all optimizations. Also kill artd and start it with -l0, this will usually tell you more about where arts were when it crashed. Killed artsd and restarted with -l0 ('artsd -l0 &' from shell). This is output when starting the aRts Control Tool: UnixManager: got notifyIO socketconnection created, fd = 10 findPort(scaleFactor_changed) have 4 ports done result 42 connect port scaleFactor_changed to value connected an asyncnetsend calculate Volume in StereoVolumeControl devirtualize StereoVolumeControl <<<END>>> When I next select View environment I straightaway get the segfault (no additional output). The backtrace gives: (no debugging symbols found)...0x4153da59 in wait4 () from /lib/libc.so.6 #0 0x4153da59 in wait4 () from /lib/libc.so.6 #1 0x415b4e48 in __check_rhosts_file () from /lib/libc.so.6 #2 0x4130b453 in waitpid () from /lib/libpthread.so.0 #3 0x40b0518a in KCrash::defaultCrashHandler () from /usr/lib/libkdecore.so.4 #4 0x41308f54 in pthread_sighandler () from /lib/libpthread.so.0 #5 0x414c66b8 in sigaction () from /lib/libc.so.6 #6 0x08064211 in QValueList<QString>::operator+= () #7 0x0805c547 in virtual function thunk (delta:-40) for QWidget::metric () #8 0x080593d9 in virtual function thunk (delta:-40) for QWidget::metric () #9 0x40e40ab9 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #10 0x40e409fe in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #11 0x4044b338 in KAction::activated () from /usr/lib/libkdeui.so.4 #12 0x404411e2 in KAction::slotActivated () from /usr/lib/libkdeui.so.4 #13 0x4044b532 in KAction::qt_invoke () from /usr/lib/libkdeui.so.4 #14 0x40e40ab9 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #15 0x41093413 in QSignal::signal () from /usr/lib/libqt-mt.so.3 #16 0x40e562f5 in QSignal::activate () from /usr/lib/libqt-mt.so.3 #17 0x40f0906f in QPopupMenu::mouseReleaseEvent () from /usr/lib/libqt-mt.so.3 #18 0x40e6b566 in QWidget::event () from /usr/lib/libqt-mt.so.3 #19 0x40dee4da in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3 #20 0x40dedf8b in QApplication::notify () from /usr/lib/libqt-mt.so.3 #21 0x40aa36fa in KApplication::notify () from /usr/lib/libkdecore.so.4 #22 0x40da2daa in QETWidget::translateMouseEvent () from /usr/lib/libqt-mt.so.3 #23 0x40da141b in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3 #24 0x40db283d in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3 #25 0x40dffdae in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3 #26 0x40dffd0b in QEventLoop::exec () from /usr/lib/libqt-mt.so.3 #27 0x40dee632 in QApplication::exec () from /usr/lib/libqt-mt.so.3 #28 0x0805cf2f in virtual function thunk (delta:-40) for QWidget::metric () #29 0x414b614f in __libc_start_main () from /lib/libc.so.6 Don't know about debug=full? How do I set it? Wouldn't I have to compile myself for this and to add -g to CFLAGS? Again, I think it would be better to do some structured debugging one-on-one with a KDE/arts-developer over private email to solve this problem instead of following 'wild' suggestions (although they are appreciated). Subject: Re: aRtsd crashes if loading StereoCompressor before any other effects (was: artsd crashes at krec startup) On Wednesday 22 October 2003 19:51, Frans Pop wrote: > Don't know about debug=full? How do I set it? > Wouldn't I have to compile myself for this and to add -g to CFLAGS? Yes, for debug infos you have to compile yourself. There are three stages of debug: nothing (works here on 3.1.2 and gentoo as distro), normal (thats just the symbol but I don't know about the output) and full which gives you symbols (for debugger) and a lot of output. > Again, I think it would be better to do some structured debugging > one-on-one with a KDE/arts-developer over private email to solve this > problem instead of following 'wild' suggestions (although they are > appreciated). My main problem in debugging this problem is that the only case where I had this error apearing is 1) months away and 2) didn't occur with debug enabled, so no output or backtrace was available. If someone gets a full backtrace (including debuginfo from arts and qt and possibly glib) I would be very glad. :-) Arnold Subject: Re: aRtsd crashes if loading StereoCompressor before any other effects (was: artsd crashes at krec startup) BTW: Did anyone test it with one of the 3.2alphas? Some things in the new aRts have changed... Arnold My build is based on cvs of October 9th. Still crashes without debug information, with debug enabled works like a charm. Bye Christian Subject: Re: aRtsd crashes if loading StereoCompressor before any other effects (was: artsd crashes at krec startup) On Thursday 23 October 2003 12:19, Christian Roerecke wrote: > ------- You are receiving this mail because: ------- > You reported the bug, or are watching the reporter. > > http://bugs.kde.org/show_bug.cgi?id=56059 > > > > > ------- Additional Comments From christian.roerecke@web.de 2003-10-23 > 18:19 ------- My build is based on cvs of October 9th. Still crashes > without debug information, with debug enabled works like a charm. Which compiler? gcc 2.95? Frank I'm sorry. Yes, still gcc 2.95.3. I plan to upgrade to SuSE 9 soon, I somehow suspect with a gcc 3.x series compiler the bug will vanish. Bye, Christian I'ved just had the same experience using the kdemultimedia-3.2.1-0.fdr.1.rh73 kde-redhat package. artsd segfaults and I get the following message: "Your system is missing the Synth_STEREO_COMPRESSOR aRts module. You will be able to use KRec but without the great functions of the compressor." Redhat 7.3, gcc 2.96, Yamaha YMF754 (DS-1E) soundcard. KRec 0.5 using KDE-3.2.1 Michael After upgrading to KDE-3.2.2 on the computer with the characteristics listed in Comment #31, the problem remains. I have the same problem with Redhat 8.0 running KDE-3.2.1. I have updated to KDE 3.2.2 and it looks like this bug is finally fixed!!!! I don't see any more crashes with Artsd, kRec and kMid (using Debian Unstable and OSS). This is great. I really hated having something this broken on my system (although it wasn't really a problem in daily use). I hope others can confirm. Cheers. Yeah, I couldn't reproduce it either |