Bug 56781 - kartsd crash
Summary: kartsd crash
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: kernel
Version: 7.2
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Arjan van de Ven
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2001-11-27 15:44 UTC by Michael Redinger
Modified: 2008-05-01 15:38 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2001-12-10 04:31:00 UTC
Embargoed:


Attachments (Terms of Use)

Description Michael Redinger 2001-11-27 15:44:58 UTC
On startup, kartsd crashes.
First, it uses 99% of the cpu, and after some seconds it crashes showing 
the message "cpu overload, aborting".
This happened with both the original 7.2 KDE packages and 2.2.1 and 2.2.2.

Numerous people seem to have this problem and have given some more
information. Eg. see:
http://bugs.kde.org/db/17/17932.html
http://bugs.kde.org/db/32/32415.html
http://www.mail-archive.com/arts@space.twc.de/msg00049.html

From what I've read this could be a problem with certain sound cards.
Therefore more details:
kernel-2.4.9-13

lspci:
00:00.0 Host bridge: Intel Corporation 82815 815 Chipset Host Bridge and
Memory Controller Hub (rev 02)
00:02.0 VGA compatible controller: Intel Corporation 82815 CGC [Chipset
Graphics Controller]  (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801BAM PCI (rev 02)
00:1f.0 ISA bridge: Intel Corporation 82801BA ISA Bridge (ICH2) (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801BA IDE U100 (rev 02)
00:1f.2 USB Controller: Intel Corporation 82801BA(M) USB (Hub A) (rev 02)
00:1f.3 SMBus: Intel Corporation 82801BA(M) SMBus (rev 02)
00:1f.4 USB Controller: Intel Corporation 82801BA(M) USB (Hub B) (rev 02)
00:1f.5 Multimedia audio controller: Intel Corporation 82801BA(M) AC'97
Audio (rev 02)
01:0c.0 Ethernet controller: 3Com Corporation 3c905C-TX [Fast Etherlink]
(rev 78)


lspci -n:
00:00.0 Class 0600: 8086:1130 (rev 02)
00:02.0 Class 0300: 8086:1132 (rev 02)
00:1e.0 Class 0604: 8086:244e (rev 02)
00:1f.0 Class 0601: 8086:2440 (rev 02)
00:1f.1 Class 0101: 8086:244b (rev 02)
00:1f.2 Class 0c03: 8086:2442 (rev 02)
00:1f.3 Class 0c05: 8086:2443 (rev 02)
00:1f.4 Class 0c03: 8086:2444 (rev 02)
00:1f.5 Class 0401: 8086:2445 (rev 02)
01:0c.0 Class 0200: 10b7:9200 (rev 78)

Comment 1 Michael Redinger 2001-12-02 17:15:51 UTC
I forgot something important:
This only seems to happen with i810_audio for now (a did test a few others,
worked well with those).


Also, I did a strace on artsd (I did run artsd as follows:
/usr/bin/artsd -F 10 -S 4096 -s 60 artsmessage -l 3 -f )
This seems to start just fine. But then something seems to go wrong - artsd
seems to start looping. It repeats the system calls
gettimeofday()
select()
ioctl()
write()
gettimeofday()
about 55 thousand times. 
After a close() I see a SIGALARM.
Note that this is probably somewhat different from running it without
strace:
Without strace, artsd exits after displaying the message
"cpu overload, aborting"
(maybe strace slows things down enough to prevent this.)

See parts of the strace output below (I don't want to attach the whole file,
it's about 30 MB ...).

...
open("/tmp/mcop-c102mr/Arts_SoundServer", O_WRONLY|O_CREAT|O_EXCL, 0600) = 7
write(7, "MCOP-Object:000000227265642d6331"..., 224) = 224
close(7)                                = 0
mkdir("/tmp/mcop-c102mr", 0700)         = -1 EEXIST (File exists)
lstat64("/tmp/mcop-c102mr", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
getuid32()                              = 500
open("/tmp/mcop-c102mr/Arts_SimpleSoundServer", O_WRONLY|O_CREAT|O_EXCL, 0600) =
7
write(7, "MCOP-Object:000000227265642d6331"..., 224) = 224
close(7)                                = 0
mkdir("/tmp/mcop-c102mr", 0700)         = -1 EEXIST (File exists)
lstat64("/tmp/mcop-c102mr", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
getuid32()                              = 500
open("/tmp/mcop-c102mr/Arts_PlayObjectFactory", O_WRONLY|O_CREAT|O_EXCL, 0600) =
7
write(7, "MCOP-Object:000000227265642d6331"..., 224) = 224
close(7)                                = 0
mkdir("/tmp/mcop-c102mr", 0700)         = -1 EEXIST (File exists)
lstat64("/tmp/mcop-c102mr", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
getuid32()                              = 500
open("/tmp/mcop-c102mr/Arts_AudioManager", O_WRONLY|O_CREAT|O_EXCL, 0600) = 7
write(7, "MCOP-Object:000000227265642d6331"..., 224) = 224
close(7)                                = 0
gettimeofday({1007311250, 387233}, NULL) = 0
select(7, [3 5], [6], [5 6], {0, 140848}) = 1 (out [6], left {0, 150000})
ioctl(6, 0x8010500c, 0xbffff2c0)        = 0
write(6, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) =
4096
gettimeofday({1007311250, 388100}, NULL) = 0


### snip - don't want to repeat this 55000 times ... ;) ###

close(6)                                = 0
--- SIGALRM (Alarm clock) ---
times({tms_utime=470, tms_stime=279, tms_cutime=0, tms_cstime=0}) = 97569
gettimeofday({1007311309, 960708}, NULL) = 0
times({tms_utime=470, tms_stime=279, tms_cutime=0, tms_cstime=0}) = 97569
gettimeofday({1007311309, 960798}, NULL) = 0
rt_sigaction(SIGALRM, {0x40289a10, [ALRM], SA_RESTART|0x4000000}, {0x40289a10,
[ALRM], SA_RESTART|0x4000000}, 8) = 0
sigreturn()                             = ? (mask now [])
...

Comment 2 Michael Redinger 2001-12-02 18:00:33 UTC
... forgot something else:
This works fine when using the ALSA drivers (OSS compatiblity mode - I didn't
want to recompile kdelibs).


Comment 3 Michael Redinger 2001-12-02 19:26:38 UTC
... even more (ok, I'll stop this ...):
I just tried going back to 2.4.7-10. Things work fine with that kernel.
I also tried 2.4.16-0.4 from Rawhide - same as with the 2.4.9-13 kernel.


Comment 4 Bernhard Rosenkraenzer 2001-12-03 09:04:57 UTC
Bug in the i810 driver, then. Reassigning.


Comment 5 Konstantin 2001-12-07 10:45:32 UTC
Then, why all other apps still work (say, mpg321, xmms in OSS mode), but artsd 
fails?
(I have the same Intel 815 with on-board audio)
The following is from /var/log/messages with kernel 2.4.7-10:
 kernel: Intel 810 + AC97 Audio, version 0.05, 17:36:29 Sep  6 2001
 kernel: PCI: Found IRQ 10 for device 00:1f.5
 kernel: PCI: Sharing IRQ 10 with 00:1f.3
 kernel: PCI: Sharing IRQ 10 with 02:02.0
 kernel: PCI: Setting latency timer of device 00:1f.5 to 64
 kernel: i810: Intel ICH2 found at IO 0xbc00 and 0xb800, IRQ 10
 kernel: ac97_codec: AC97 Audio codec, id: 0x414c:0x4710 (ALC200/200P)

and with 2.4.9-13:
 kernel: Intel 810 + AC97 Audio, version 0.04, 20:18:00 Oct 30 2001
 kernel: PCI: Found IRQ 10 for device 00:1f.5
 kernel: PCI: Sharing IRQ 10 with 00:1f.3
 kernel: PCI: Sharing IRQ 10 with 02:02.0
 kernel: PCI: Setting latency timer of device 00:1f.5 to 64
 kernel: i810: Intel ICH2 found at IO 0xbc00 and 0xb800, IRQ 10
 kernel: i810_audio: Audio Controller supports 6 channels.
 kernel: ac97_codec: AC97 Audio codec, id: 0x414c:0x4710 (ALC200/200P)
 kernel: i810_audio: AC'97 codec 0 supports AMAP, total channels = 2

Well, I see driver version 0.04 in 2.4.9 and 0.05 in 2.4.7, and it seems 
strange. Is it possible simply to replace driver in 2.4.9 sources and 
recompile? Or do I need to turn on/off some driver features?


Comment 6 Doug Ledford 2001-12-10 04:30:55 UTC
This is a bug in the i810 driver.  A patch that was included in the 2.4.7-10
kernel we shipped with 7.2 was dropped from the errata kernel due to conflicts
with other changes to the i810 driver and as a result the bug reappeared.  I
have since made several new versions of my code, and once it is all stabalized,
will be giving it back to Arjan for inclusion in our later kernel releases. 
When out, the new version of the driver will be 0.12 and will solve this problem
(test versions of the 0.12 driver have already been sent to the linux-kernel
mailing list for beta testing).

Comment 7 Michael Redinger 2002-01-26 16:07:58 UTC
Arjan added this patch to the kernel in December, it's included in 2.4.9-21. 
Closing as ERRATA.


Comment 8 Harvey Modlin 2002-02-27 16:55:07 UTC
Guess what? See bug 60418. The problem manifests itself differently under
2.4.9-21. Now artsd works great, no "CPU overload", until artsd is killed. Then
artsd effectly kills the entire operating system.

Comment 9 Michael Redinger 2002-02-27 19:29:45 UTC
I recently experienced this, too.
The problem can be easily reproduced on my systems:

- log in to kde
- as soon as possible do a logout (karts is still busy staring up and playing  that welcom sound)
- voila! Complete freeze.

The problem is: I only tried this with NVidia video cards and the NVidia driver (yes, I'm guilty .. ;). 
I didn't yet have a chance to test this with the standard XFree driver.
Which card/driver did you use?

If this is not the NVidia driver, the priority and serverity should definitely be increased.

Comment 10 Arjan van de Ven 2002-02-28 09:15:29 UTC
Please try the released 2.4.9-31 kernel; there's an i810 bug fixed in that again
:(

Comment 11 Michael Redinger 2002-03-07 15:50:20 UTC
This seems to work for me. I updated the kernel on two machines and didn't experience any problems.


Comment 12 Konstantin 2002-03-12 11:16:56 UTC
Seems to work.
But now artsd gives message at first start:
... device /dev/dsp can't be opened (No such device)
and it doesn't after restarting it.
It seems, this is caused by the time needed to load sound modules.
From /var/log/messages:
Mar 12 13:39:34 cathost kde(pam_unix)[1058]: session opened for user cat by 
(uid=0)
Mar 12 13:39:40 cathost kernel: Intel 810 + AC97 Audio, version 0.21, 07:16:09 
Feb 26 2002
Mar 12 13:39:40 cathost kernel: PCI: Found IRQ 10 for device 00:1f.5
Mar 12 13:39:40 cathost kernel: PCI: Sharing IRQ 10 with 00:1f.3
Mar 12 13:39:40 cathost kernel: PCI: Sharing IRQ 10 with 02:02.0
Mar 12 13:39:40 cathost kernel: PCI: Setting latency timer of device 00:1f.5 
to 64
Mar 12 13:39:40 cathost kernel: i810: Intel ICH2 found at IO 0xbc00 and 
0xb800, IRQ 10
Mar 12 13:39:40 cathost modprobe: modprobe: Can't locate module 
sound-service-0-3
Mar 12 13:39:40 cathost kernel: i810_audio: Audio Controller supports 6 
channels.
Mar 12 13:39:40 cathost kernel: ac97_codec: AC97 Audio codec, id: 
0x414c:0x4710 (ALC200/200P)
Mar 12 13:39:40 cathost kernel: i810_audio: AC'97 codec 0 supports AMAP, total 
channels = 2
Mar 12 13:39:40 cathost modprobe: modprobe: Can't locate module 
sound-service-0-0

But after stopping artsd, making rmmod -a twice (lsmod shows modules are 
removed), and starting artsd again:
Mar 12 13:57:01 cathost kernel: Intel 810 + AC97 Audio, version 0.21, 07:16:09 
Feb 26 2002
Mar 12 13:57:01 cathost kernel: PCI: Found IRQ 10 for device 00:1f.5
Mar 12 13:57:01 cathost kernel: PCI: Sharing IRQ 10 with 00:1f.3
Mar 12 13:57:01 cathost kernel: PCI: Sharing IRQ 10 with 02:02.0
Mar 12 13:57:01 cathost kernel: PCI: Setting latency timer of device 00:1f.5 
to 64
Mar 12 13:57:01 cathost kernel: i810: Intel ICH2 found at IO 0xbc00 and 
0xb800, IRQ 10
Mar 12 13:57:02 cathost kernel: i810_audio: Audio Controller supports 6 
channels.
Mar 12 13:57:02 cathost kernel: ac97_codec: AC97 Audio codec, id: 
0x414c:0x4710 (ALC200/200P)
Mar 12 13:57:02 cathost kernel: i810_audio: AC'97 codec 0 supports AMAP, total 
channels = 2
Mar 12 13:57:02 cathost modprobe: modprobe: Can't locate module 
sound-service-0-3


modprobe complains one line less and artsd gives no errors

Should I send new report to artsd group, or is it still kernel problem, or can 
you say if this bug is not there in updated kde packages?


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