bug: kernel timer added twice....

Heiko Ulbrich Inf/ET (h_ulbric@informatik.uni-kl.de)
Mon, 1 Mar 1999 10:30:00 +0100 (MET)


bug: kernel timer added twice at c0185a78

Hi there, just caught some bug? Here's what happened:
Mounting a CDROM caused
bug: kernel timer added twice at c0185a78
This only happened with tray opened. If i mount the CDROM, after closed
the tray, nothing happened. Ugly thing is:
PID TTY STAT TIME COMMAND
...
3254 ? D < 0:00 mount /dev/cdrom
3743 ? D < 0:00 mount /dev/cdrom
4826 ? D < 0:00 mount /dev/cdrom
5355 ? D < 0:00 mount /dev/cdrom
Unkillable. Someone got some util to get it out of mem ?

In my eyes, the message appears from :
(patch-2.2.2)
diff -u --recursive --new-file v2.2.1/linux/kernel/sched.c
linux/kernel/sched.c
--- v2.2.1/linux/kernel/sched.c Wed Jan 20 23:14:07 1999
+++ linux/kernel/sched.c Thu Feb 18 23:56:05 1999
@@ -36,6 +36,7 @@
#include <asm/uaccess.h>
#include <asm/pgtable.h>
#include <asm/mmu_context.h>
+#include <asm/semaphore-helper.h>

#include <linux/timex.h>

@@ -463,8 +464,17 @@
unsigned long flags;

spin_lock_irqsave(&timerlist_lock, flags);
+ if (timer->prev)
+ goto bug; <-----
internal_add_timer(timer);
+out:
spin_unlock_irqrestore(&timerlist_lock, flags);
+ return;
+
+bug:
+ printk("bug: kernel timer added twice at %p.\n", <-----
+ __builtin_return_address(0)); <-----
+ goto out;
}

static inline int detach_timer(struct timer_list *timer)
@@ -639,6 +649,8 @@
struct task_struct * prev, * next;
int this_cpu;

+ run_task_queue(&tq_scheduler);
+
..............and so on.

grep-ped the entire source for "timer added"-> the patched sched.c is the
only place.

What happens?

Some System-information :
-Linux version 2.2.2 (root@thunder.malz-wg.de) (gcc version pgcc-2.91.60
19981201 (egcs-1.1.1 release)) #19 Sam Feb 27 10:44:27 GMT 1999
-Kernel modules 2.1.121
Gnu C pgcc-2.91.60
Binutils 2.9.1.0.15
Linux C Library 2.0.7
Dynamic linker ldd (GNU libc) 2.0.7
Linux C++ Library 2.8.0
Procps 1.2.9
Mount 2.8a
Net-tools (1998-06-29)
Kbd 0.96
Sh-utils 1.16
-/proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 5
model name : Pentium II (Deschutes)
stepping : 2
cpu MHz : 450.479478
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
sep_bug : no
f00f_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca
cmov
pat pse36 mmx osfxsr
bogomips : 447.28
-/proc/modules
sr_mod 16156 1 (autoclean)
cdrom 13432 0 (autoclean) [sr_mod]
isofs 18168 1 (autoclean)
nls_iso8859-1 2052 1 (autoclean)
i2c-proc 2828 0
i2c-dev 2108 0 (unused)
w83781d 8404 0
sensors 4508 0 [w83781d]
piix4 2824 0 (unused)
smbus 1820 0 [w83781d piix4]
isa 1400 0 (unused)
i2c-core 4144 0 [i2c-proc i2c-dev w83781d sensors piix4
smbus isa]
serial 18516 1 (autoclean)
ne2k-pci 3876 1 (autoclean)
8390 6180 0 (autoclean) [ne2k-pci]
ide-disk 5768 1 (autoclean)
ide-probe 6724 0 (autoclean)
ide-mod 39032 1 (autoclean) [ide-disk ide-probe]
opl3 13704 1
sb 34964 1
uart401 6192 1 [sb]
sound 62508 0 [opl3 sb uart401]
soundcore 2340 6 [sb sound]
-/proc/scsi/scsi
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: IBM Model: DGHS09U Rev: 0350
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 03 Lun: 00
Vendor: PLEXTOR Model: CD-ROM PX-32TS Rev: 1.03
Type: CD-ROM ANSI SCSI revision: 02

Maybe someone can answer this question, or tell me the ac-patch, that
fixes it ;-)

That`s all, folks!
Heiko

+-----------------------------------+
| Mail: |
| h_ulbric@informatik.uni-kl.de |
| ulbrich@student.uni-kl.de |
+-----------------------------------+
WEB:
http://www.rhrk.uni-kl.de/~ulbrich
__ _
/ / (_) __ __ ____ __
/ /__ / // _ \/ // /\ \/ / . . . t h e c h o i c e o f a
/____//_//_//_/\_,_/ /_/\_\ G N U g e n e r a t i o n

Microsoft gives you Windows, UNIX gives you the whole house
The gates in my computer are AND, OR and NOT; they are not Bill.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/