2001-07-05 00:01:58

by Manfred H. Winter

[permalink] [raw]
Subject: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

Hi!

I tried to install kernel 2.4.6 with same configuration as 2.4.5, but
booting failed with:

kernel BUG at softirq.c:206!
invalid operand: 0000
CPU: 0
EIP: 0010:[<c0117f2e>]
EFLAGS: 00010082
eax: 0000001d ebx: c025bf80 ecx: 00000001 edx: c0206628
esi: c025bf80 edi: 00000001 ebp: 00000000 esp: c0213efc
ds: 0018 es: 0018 ss: 0018
Process swapper (pid: 0, stackpage=c0213000)
Stack: c01d896c c01d8a08 000000ce 00000009 c02445c0 c02445c0 c0213f40 c0117d3f
c02445c0 00000000 c0242900 00000000 c010818d c020b5e0 c0213f9f 000003c7
c0205ba0 000003c7 c0106d80 c020b5e0 00000000 000003c7 c0213f9f 000003c7
Call Trace: [<c0117d3f>] [<c010818d>] [<c0106d80>] [<c011493f>] [<c0105000>]
Code: 0f 0b 83 c4 0c 8b 43 08 85 c0 75 18 fb 8b 43 10 50 8b 43 0c
Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncing

+++

Output of ver_linux:

Linux marvin 2.4.5 #1 Tue May 29 03:56:38 CEST 2001 i686 unknown

Gnu C 2.95.2
Gnu make 3.79.1
binutils 2.10.0.33
util-linux 2.10s
mount 2.10s
modutils 2.4.6
e2fsprogs 1.19
reiserfsprogs 3.x.0k-pre8
PPP 2.4.1
Linux C Library x 1 root root 1382179 Jan 19 07:14 /lib/libc.so.6
Dynamic linker (ldd) 2.2
Procps 2.0.7
Net-tools 1.57
Kbd 1.02
Sh-utils 2.0
Modules Loaded sd_mod af_packet khttpd autofs4 unix 8139too ide-scsi aic7xxx scsi_mod

+++

marvin:~ # cat /proc/cpuinfo
processor : 0
vendor_id : CyrixInstead
cpu family : 6
model : 2
model name : 6x86MX 2.5x Core/Bus Clock
stepping : 6
cpu MHz : 167.047
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : yes
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu de tsc msr cx8 pge cmov mmx cyrix_arr
bogomips : 333.41

+++

marvin:~ # cat /proc/ioports
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
0376-0376 : ide1
03c0-03df : vga+
03f6-03f6 : ide0
0cf8-0cff : PCI conf1
6000-60ff : Adaptec AIC-7861
6500-65ff : Realtek Semiconductor Co., Ltd. RTL-8139
6500-65ff : 8139too
f000-f00f : Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
f000-f007 : ide0
f008-f00f : ide1

+++

marvin:~ # cat /proc/iomem
00000000-0009fbff : System RAM
0009fc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000cc000-000cc7ff : Extension ROM
000f0000-000fffff : System ROM
00100000-07ffffff : System RAM
00100000-001ccc23 : Kernel code
001ccc24-0020b153 : Kernel data
e0000000-e1ffffff : nVidia Corporation Vanta [NV6]
e2000000-e2ffffff : nVidia Corporation Vanta [NV6]
e3000000-e3000fff : Adaptec AIC-7861
e3000000-e3000fff : aic7xxx
e3001000-e30010ff : Realtek Semiconductor Co., Ltd. RTL-8139
e3001000-e30010ff : 8139too
ffff0000-ffffffff : reserved

+++

marvin:~ # lspci -vvv
00:00.0 Host bridge: Intel Corporation 430VX - 82437VX TVX [Triton VX] (rev 02)
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
Latency: 32

00:07.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] (rev 01)
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0

00:07.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] (prog-if 80 [Master])
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32
Region 4: I/O ports at f000 [size=16]

00:08.0 SCSI storage controller: Adaptec AIC-7861 (rev 01)
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (1000ns min, 1000ns max), cache line size 08
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at 6000 [disabled] [size=256]
Region 1: Memory at e3000000 (32-bit, non-prefetchable) [size=4K]
Expansion ROM at <unassigned> [disabled] [size=64K]

00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139 (rev 10)
Subsystem: Allied Telesyn International: Unknown device 2503
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (8000ns min, 16000ns max)
Interrupt: pin A routed to IRQ 10
Region 0: I/O ports at 6500 [size=256]
Region 1: Memory at e3001000 (32-bit, non-prefetchable) [size=256]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:0a.0 VGA compatible controller: nVidia Corporation Vanta [NV6] (rev 15) (prog-if 00 [VGA])
Subsystem: Creative Labs: Unknown device 1039
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (1250ns min, 250ns max)
Interrupt: pin A routed to IRQ 9
Region 0: Memory at e2000000 (32-bit, non-prefetchable) [size=16M]
Region 1: Memory at e0000000 (32-bit, prefetchable) [size=32M]
Expansion ROM at <unassigned> [disabled] [size=64K]
Capabilities: [60] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

+++

marvin:~ # cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 01 Lun: 00
Vendor: TANDBERG Model: TDC 3600 Rev: =08:
Type: Sequential-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 05 Lun: 00
Vendor: IOMEGA Model: ZIP 100 Rev: C.19
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 06 Lun: 00
Vendor: SCANNER Model: Rev: 1.01
Type: Scanner ANSI SCSI revision: 01 CCS
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: TEAC Model: CD-W54E Rev: 1.1Y
Type: CD-ROM ANSI SCSI revision: 02

+++

.config:

CONFIG_X86=y
CONFIG_ISA=y
CONFIG_UID16=y

CONFIG_EXPERIMENTAL=y

CONFIG_MODULES=y
CONFIG_KMOD=y

CONFIG_M586=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_USE_STRING_486=y
CONFIG_X86_ALIGNMENT_16=y
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
CONFIG_NOHIGHMEM=y
CONFIG_MTRR=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_LOCAL_APIC=y

CONFIG_NET=y
CONFIG_PCI=y
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_NAMES=y
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y
CONFIG_PM=y
CONFIG_APM=y
CONFIG_APM_DO_ENABLE=y
CONFIG_APM_CPU_IDLE=y
CONFIG_APM_DISPLAY_BLANK=y
CONFIG_APM_RTC_IS_GMT=y

CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_PC_FIFO=y
CONFIG_PARPORT_1284=y

CONFIG_PNP=m
CONFIG_ISAPNP=m

CONFIG_BLK_DEV_FD=m
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y

CONFIG_PACKET=m
CONFIG_PACKET_MMAP=y
CONFIG_NETLINK=y
CONFIG_RTNETLINK=y
CONFIG_NETLINK_DEV=m
CONFIG_NETFILTER=y
CONFIG_UNIX=m
CONFIG_INET=y
CONFIG_SYN_COOKIES=y

CONFIG_IP_NF_CONNTRACK=m
CONFIG_IP_NF_FTP=m
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_TCPMSS=m
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_UNCLEAN=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_MIRROR=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_NAT_FTP=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_MARK=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_KHTTPD=m

CONFIG_IDE=y

CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_IDESCSI=m
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_IDEDMA_AUTO=y
CONFIG_IDEDMA_IVB=y

CONFIG_SCSI=m
CONFIG_BLK_DEV_SD=m
CONFIG_SD_EXTRA_DEVS=40
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=m
CONFIG_SR_EXTRA_DEVS=2
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y

CONFIG_SCSI_AIC7XXX=m
CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
CONFIG_AIC7XXX_RESET_DELAY_MS=5000
CONFIG_AIC7XXX_BUILD_FIRMWARE=y

CONFIG_NETDEVICES=y

CONFIG_DUMMY=m

CONFIG_NET_ETHERNET=y
CONFIG_NET_PCI=y
CONFIG_8139TOO=m

CONFIG_PPP=m
CONFIG_PPP_ASYNC=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m

CONFIG_INPUT=m
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_EVDEV=m

CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=m
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
CONFIG_PRINTER=m

CONFIG_MOUSE=m
CONFIG_PSMOUSE=y

CONFIG_JOYSTICK=y
CONFIG_INPUT_NS558=m
CONFIG_INPUT_ANALOG=m

CONFIG_NVRAM=m
CONFIG_RTC=m

CONFIG_AUTOFS4_FS=m
CONFIG_REISERFS_FS=y
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_TMPFS=y
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_MINIX_FS=m
CONFIG_PROC_FS=y
CONFIG_DEVPTS_FS=y
CONFIG_EXT2_FS=y
CONFIG_UDF_FS=m
CONFIG_UDF_RW=y

CONFIG_PARTITION_ADVANCED=y
CONFIG_MSDOS_PARTITION=y
CONFIG_NLS=y

CONFIG_NLS_DEFAULT="iso8859-15"
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_UTF8=m

CONFIG_VGA_CONSOLE=y
CONFIG_VIDEO_SELECT=y

CONFIG_SOUND=m
CONFIG_SOUND_OSS=m
CONFIG_SOUND_TRACEINIT=y
CONFIG_SOUND_DMAP=y
CONFIG_SOUND_SB=m
CONFIG_SOUND_AWE32_SYNTH=m
CONFIG_SOUND_YM3812=m

CONFIG_MAGIC_SYSRQ=y

+++

If you need more information, tell me.

Bye,

Manfred


2001-07-05 07:45:13

by Mircea Damian

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

Hello,

This bug hits me since 2.4.6-pre5 but nobody answered to my emails... The
code line is identical (and the softirq.c:206 ofc).

Anyone, any idea?

PS: My other posts:
http://www.uwsg.indiana.edu/hypermail/linux/kernel/0107.0/0018.html
http://www.uwsg.indiana.edu/hypermail/linux/kernel/0106.2/0790.html


On Wed, Jul 04, 2001 at 11:28:17PM +0200, Manfred H. Winter wrote:
> Hi!
>
> I tried to install kernel 2.4.6 with same configuration as 2.4.5, but
> booting failed with:
>
> kernel BUG at softirq.c:206!
> invalid operand: 0000
> CPU: 0
> EIP: 0010:[<c0117f2e>]
> EFLAGS: 00010082
> eax: 0000001d ebx: c025bf80 ecx: 00000001 edx: c0206628
> esi: c025bf80 edi: 00000001 ebp: 00000000 esp: c0213efc
> ds: 0018 es: 0018 ss: 0018
> Process swapper (pid: 0, stackpage=c0213000)
> Stack: c01d896c c01d8a08 000000ce 00000009 c02445c0 c02445c0 c0213f40 c0117d3f
> c02445c0 00000000 c0242900 00000000 c010818d c020b5e0 c0213f9f 000003c7
> c0205ba0 000003c7 c0106d80 c020b5e0 00000000 000003c7 c0213f9f 000003c7
> Call Trace: [<c0117d3f>] [<c010818d>] [<c0106d80>] [<c011493f>] [<c0105000>]
> Code: 0f 0b 83 c4 0c 8b 43 08 85 c0 75 18 fb 8b 43 10 50 8b 43 0c
> Kernel panic: Aiee, killing interrupt handler!
> In interrupt handler - not syncing
>
> +++
>
> Output of ver_linux:
>
> Linux marvin 2.4.5 #1 Tue May 29 03:56:38 CEST 2001 i686 unknown
>
> Gnu C 2.95.2
> Gnu make 3.79.1
> binutils 2.10.0.33
> util-linux 2.10s
> mount 2.10s
> modutils 2.4.6
> e2fsprogs 1.19
> reiserfsprogs 3.x.0k-pre8
> PPP 2.4.1
> Linux C Library x 1 root root 1382179 Jan 19 07:14 /lib/libc.so.6
> Dynamic linker (ldd) 2.2
> Procps 2.0.7
> Net-tools 1.57
> Kbd 1.02
> Sh-utils 2.0
> Modules Loaded sd_mod af_packet khttpd autofs4 unix 8139too ide-scsi aic7xxx scsi_mod
>
> +++
>
> marvin:~ # cat /proc/cpuinfo
> processor : 0
> vendor_id : CyrixInstead
> cpu family : 6
> model : 2
> model name : 6x86MX 2.5x Core/Bus Clock
> stepping : 6
> cpu MHz : 167.047
> fdiv_bug : no
> hlt_bug : no
> f00f_bug : no
> coma_bug : yes
> fpu : yes
> fpu_exception : yes
> cpuid level : 1
> wp : yes
> flags : fpu de tsc msr cx8 pge cmov mmx cyrix_arr
> bogomips : 333.41
>
> +++
>
> marvin:~ # cat /proc/ioports
> 0000-001f : dma1
> 0020-003f : pic1
> 0040-005f : timer
> 0060-006f : keyboard
> 0080-008f : dma page reg
> 00a0-00bf : pic2
> 00c0-00df : dma2
> 00f0-00ff : fpu
> 0170-0177 : ide1
> 01f0-01f7 : ide0
> 0376-0376 : ide1
> 03c0-03df : vga+
> 03f6-03f6 : ide0
> 0cf8-0cff : PCI conf1
> 6000-60ff : Adaptec AIC-7861
> 6500-65ff : Realtek Semiconductor Co., Ltd. RTL-8139
> 6500-65ff : 8139too
> f000-f00f : Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
> f000-f007 : ide0
> f008-f00f : ide1
>
> +++
>
> marvin:~ # cat /proc/iomem
> 00000000-0009fbff : System RAM
> 0009fc00-0009ffff : reserved
> 000a0000-000bffff : Video RAM area
> 000c0000-000c7fff : Video ROM
> 000cc000-000cc7ff : Extension ROM
> 000f0000-000fffff : System ROM
> 00100000-07ffffff : System RAM
> 00100000-001ccc23 : Kernel code
> 001ccc24-0020b153 : Kernel data
> e0000000-e1ffffff : nVidia Corporation Vanta [NV6]
> e2000000-e2ffffff : nVidia Corporation Vanta [NV6]
> e3000000-e3000fff : Adaptec AIC-7861
> e3000000-e3000fff : aic7xxx
> e3001000-e30010ff : Realtek Semiconductor Co., Ltd. RTL-8139
> e3001000-e30010ff : 8139too
> ffff0000-ffffffff : reserved
>
> +++
>
> marvin:~ # lspci -vvv
> 00:00.0 Host bridge: Intel Corporation 430VX - 82437VX TVX [Triton VX] (rev 02)
> Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
> Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
> Latency: 32
>
> 00:07.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] (rev 01)
> Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
> Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> Latency: 0
>
> 00:07.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] (prog-if 80 [Master])
> Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
> Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> Latency: 32
> Region 4: I/O ports at f000 [size=16]
>
> 00:08.0 SCSI storage controller: Adaptec AIC-7861 (rev 01)
> Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
> Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> Latency: 32 (1000ns min, 1000ns max), cache line size 08
> Interrupt: pin A routed to IRQ 11
> Region 0: I/O ports at 6000 [disabled] [size=256]
> Region 1: Memory at e3000000 (32-bit, non-prefetchable) [size=4K]
> Expansion ROM at <unassigned> [disabled] [size=64K]
>
> 00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139 (rev 10)
> Subsystem: Allied Telesyn International: Unknown device 2503
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
> Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> Latency: 32 (8000ns min, 16000ns max)
> Interrupt: pin A routed to IRQ 10
> Region 0: I/O ports at 6500 [size=256]
> Region 1: Memory at e3001000 (32-bit, non-prefetchable) [size=256]
> Capabilities: [50] Power Management version 2
> Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
> Status: D0 PME-Enable- DSel=0 DScale=0 PME-
>
> 00:0a.0 VGA compatible controller: nVidia Corporation Vanta [NV6] (rev 15) (prog-if 00 [VGA])
> Subsystem: Creative Labs: Unknown device 1039
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
> Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> Latency: 32 (1250ns min, 250ns max)
> Interrupt: pin A routed to IRQ 9
> Region 0: Memory at e2000000 (32-bit, non-prefetchable) [size=16M]
> Region 1: Memory at e0000000 (32-bit, prefetchable) [size=32M]
> Expansion ROM at <unassigned> [disabled] [size=64K]
> Capabilities: [60] Power Management version 1
> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
> Status: D0 PME-Enable- DSel=0 DScale=0 PME-
>
> +++
>
> marvin:~ # cat /proc/scsi/scsi
> Attached devices:
> Host: scsi0 Channel: 00 Id: 01 Lun: 00
> Vendor: TANDBERG Model: TDC 3600 Rev: =08:
> Type: Sequential-Access ANSI SCSI revision: 02
> Host: scsi0 Channel: 00 Id: 05 Lun: 00
> Vendor: IOMEGA Model: ZIP 100 Rev: C.19
> Type: Direct-Access ANSI SCSI revision: 02
> Host: scsi0 Channel: 00 Id: 06 Lun: 00
> Vendor: SCANNER Model: Rev: 1.01
> Type: Scanner ANSI SCSI revision: 01 CCS
> Host: scsi1 Channel: 00 Id: 00 Lun: 00
> Vendor: TEAC Model: CD-W54E Rev: 1.1Y
> Type: CD-ROM ANSI SCSI revision: 02
>
> +++
>
> .config:
>
> CONFIG_X86=y
> CONFIG_ISA=y
> CONFIG_UID16=y
>
> CONFIG_EXPERIMENTAL=y
>
> CONFIG_MODULES=y
> CONFIG_KMOD=y
>
> CONFIG_M586=y
> CONFIG_X86_WP_WORKS_OK=y
> CONFIG_X86_INVLPG=y
> CONFIG_X86_CMPXCHG=y
> CONFIG_X86_XADD=y
> CONFIG_X86_BSWAP=y
> CONFIG_X86_POPAD_OK=y
> CONFIG_RWSEM_XCHGADD_ALGORITHM=y
> CONFIG_X86_L1_CACHE_SHIFT=5
> CONFIG_X86_USE_STRING_486=y
> CONFIG_X86_ALIGNMENT_16=y
> CONFIG_X86_MSR=m
> CONFIG_X86_CPUID=m
> CONFIG_NOHIGHMEM=y
> CONFIG_MTRR=y
> CONFIG_X86_UP_IOAPIC=y
> CONFIG_X86_IO_APIC=y
> CONFIG_X86_LOCAL_APIC=y
>
> CONFIG_NET=y
> CONFIG_PCI=y
> CONFIG_PCI_GOANY=y
> CONFIG_PCI_BIOS=y
> CONFIG_PCI_DIRECT=y
> CONFIG_PCI_NAMES=y
> CONFIG_SYSVIPC=y
> CONFIG_BSD_PROCESS_ACCT=y
> CONFIG_SYSCTL=y
> CONFIG_KCORE_ELF=y
> CONFIG_BINFMT_AOUT=m
> CONFIG_BINFMT_ELF=y
> CONFIG_BINFMT_MISC=y
> CONFIG_PM=y
> CONFIG_APM=y
> CONFIG_APM_DO_ENABLE=y
> CONFIG_APM_CPU_IDLE=y
> CONFIG_APM_DISPLAY_BLANK=y
> CONFIG_APM_RTC_IS_GMT=y
>
> CONFIG_PARPORT=m
> CONFIG_PARPORT_PC=m
> CONFIG_PARPORT_PC_FIFO=y
> CONFIG_PARPORT_1284=y
>
> CONFIG_PNP=m
> CONFIG_ISAPNP=m
>
> CONFIG_BLK_DEV_FD=m
> CONFIG_BLK_DEV_LOOP=m
> CONFIG_BLK_DEV_RAM=y
> CONFIG_BLK_DEV_RAM_SIZE=4096
> CONFIG_BLK_DEV_INITRD=y
>
> CONFIG_PACKET=m
> CONFIG_PACKET_MMAP=y
> CONFIG_NETLINK=y
> CONFIG_RTNETLINK=y
> CONFIG_NETLINK_DEV=m
> CONFIG_NETFILTER=y
> CONFIG_UNIX=m
> CONFIG_INET=y
> CONFIG_SYN_COOKIES=y
>
> CONFIG_IP_NF_CONNTRACK=m
> CONFIG_IP_NF_FTP=m
> CONFIG_IP_NF_QUEUE=m
> CONFIG_IP_NF_IPTABLES=m
> CONFIG_IP_NF_MATCH_LIMIT=m
> CONFIG_IP_NF_MATCH_MAC=m
> CONFIG_IP_NF_MATCH_MARK=m
> CONFIG_IP_NF_MATCH_MULTIPORT=m
> CONFIG_IP_NF_MATCH_TOS=m
> CONFIG_IP_NF_MATCH_TCPMSS=m
> CONFIG_IP_NF_MATCH_STATE=m
> CONFIG_IP_NF_MATCH_UNCLEAN=m
> CONFIG_IP_NF_MATCH_OWNER=m
> CONFIG_IP_NF_FILTER=m
> CONFIG_IP_NF_TARGET_REJECT=m
> CONFIG_IP_NF_TARGET_MIRROR=m
> CONFIG_IP_NF_NAT=m
> CONFIG_IP_NF_NAT_NEEDED=y
> CONFIG_IP_NF_TARGET_MASQUERADE=m
> CONFIG_IP_NF_TARGET_REDIRECT=m
> CONFIG_IP_NF_NAT_FTP=m
> CONFIG_IP_NF_MANGLE=m
> CONFIG_IP_NF_TARGET_TOS=m
> CONFIG_IP_NF_TARGET_MARK=m
> CONFIG_IP_NF_TARGET_LOG=m
> CONFIG_IP_NF_TARGET_TCPMSS=m
> CONFIG_KHTTPD=m
>
> CONFIG_IDE=y
>
> CONFIG_BLK_DEV_IDE=y
> CONFIG_BLK_DEV_IDEDISK=y
> CONFIG_BLK_DEV_IDESCSI=m
> CONFIG_BLK_DEV_IDEPCI=y
> CONFIG_IDEPCI_SHARE_IRQ=y
> CONFIG_BLK_DEV_IDEDMA_PCI=y
> CONFIG_IDEDMA_PCI_AUTO=y
> CONFIG_BLK_DEV_IDEDMA=y
> CONFIG_IDEDMA_AUTO=y
> CONFIG_IDEDMA_IVB=y
>
> CONFIG_SCSI=m
> CONFIG_BLK_DEV_SD=m
> CONFIG_SD_EXTRA_DEVS=40
> CONFIG_CHR_DEV_ST=m
> CONFIG_BLK_DEV_SR=m
> CONFIG_SR_EXTRA_DEVS=2
> CONFIG_CHR_DEV_SG=m
> CONFIG_SCSI_CONSTANTS=y
> CONFIG_SCSI_LOGGING=y
>
> CONFIG_SCSI_AIC7XXX=m
> CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
> CONFIG_AIC7XXX_RESET_DELAY_MS=5000
> CONFIG_AIC7XXX_BUILD_FIRMWARE=y
>
> CONFIG_NETDEVICES=y
>
> CONFIG_DUMMY=m
>
> CONFIG_NET_ETHERNET=y
> CONFIG_NET_PCI=y
> CONFIG_8139TOO=m
>
> CONFIG_PPP=m
> CONFIG_PPP_ASYNC=m
> CONFIG_PPP_DEFLATE=m
> CONFIG_PPP_BSDCOMP=m
>
> CONFIG_INPUT=m
> CONFIG_INPUT_JOYDEV=m
> CONFIG_INPUT_EVDEV=m
>
> CONFIG_VT=y
> CONFIG_VT_CONSOLE=y
> CONFIG_SERIAL=m
> CONFIG_UNIX98_PTYS=y
> CONFIG_UNIX98_PTY_COUNT=256
> CONFIG_PRINTER=m
>
> CONFIG_MOUSE=m
> CONFIG_PSMOUSE=y
>
> CONFIG_JOYSTICK=y
> CONFIG_INPUT_NS558=m
> CONFIG_INPUT_ANALOG=m
>
> CONFIG_NVRAM=m
> CONFIG_RTC=m
>
> CONFIG_AUTOFS4_FS=m
> CONFIG_REISERFS_FS=y
> CONFIG_FAT_FS=m
> CONFIG_MSDOS_FS=m
> CONFIG_VFAT_FS=m
> CONFIG_TMPFS=y
> CONFIG_ISO9660_FS=m
> CONFIG_JOLIET=y
> CONFIG_MINIX_FS=m
> CONFIG_PROC_FS=y
> CONFIG_DEVPTS_FS=y
> CONFIG_EXT2_FS=y
> CONFIG_UDF_FS=m
> CONFIG_UDF_RW=y
>
> CONFIG_PARTITION_ADVANCED=y
> CONFIG_MSDOS_PARTITION=y
> CONFIG_NLS=y
>
> CONFIG_NLS_DEFAULT="iso8859-15"
> CONFIG_NLS_CODEPAGE_437=m
> CONFIG_NLS_CODEPAGE_850=m
> CONFIG_NLS_ISO8859_1=m
> CONFIG_NLS_ISO8859_15=m
> CONFIG_NLS_UTF8=m
>
> CONFIG_VGA_CONSOLE=y
> CONFIG_VIDEO_SELECT=y
>
> CONFIG_SOUND=m
> CONFIG_SOUND_OSS=m
> CONFIG_SOUND_TRACEINIT=y
> CONFIG_SOUND_DMAP=y
> CONFIG_SOUND_SB=m
> CONFIG_SOUND_AWE32_SYNTH=m
> CONFIG_SOUND_YM3812=m
>
> CONFIG_MAGIC_SYSRQ=y
>
> +++
>
> If you need more information, tell me.
>
> Bye,
>
> Manfred
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

--
Mircea Damian
E-mails: [email protected], [email protected]
WebPage: http://taz.mania.k.ro/~dmircea/

2001-07-05 11:09:43

by Thibaut Laurent

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

Hi,

I posted a message 2 weeks ago regarding this bug, though I can't trigger the
kernel panic every time (see original post). My CPU is a MediaGX, and
Manfred's one is a 6x86MX. What about yours ?
After my first unsuccessful attempt with a 2.4.6-pre3, I tried several other
2.4.6-preX and 2.4.5-acX kernels. All 2.4.6 (since pre1) seem to be
affected, and so do the latest ac's. I don't have tested 2.4.7-pre[12] yet,
but looking at the changelog, I doubt the fix is in.

Original post for the behaviour on my box:
http://www.uwsg.indiana.edu/hypermail/linux/kernel/0106.2/0778.html
Note: the kernel panic mentioned in the original post is the same "kernel BUG
at softirq.c:206!" thing.

Regards,

Thibaut

2001-07-05 11:18:54

by Alan

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

> This bug hits me since 2.4.6-pre5 but nobody answered to my emails... The
> code line is identical (and the softirq.c:206 ofc).
>
> Anyone, any idea?

None at all. There are odd items in your config - like khttpd which if
involved might explain why there are not more reports.



2001-07-05 12:11:42

by rct

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

Alan Cox wrote:
> > This bug hits me since 2.4.6-pre5 but nobody answered to my emails... The
> > code line is identical (and the softirq.c:206 ofc).
> >
> > Anyone, any idea?
>
> None at all. There are odd items in your config - like khttpd which if
> involved might explain why there are not more reports.

Add me to the list :-(. Like the other folks reporting the softirq.c:206
panic problem, I've got a Cyrix. Mine's a MII 300 (233 MHz). Works fine
with 2.4.5 and prior kernels. Didn't try any of the pre-2.4.6 or -ac
kernels. Oops report available on request, but it's similar if not
identical to one I saw posted earlier.

--Bob Tracy
[email protected]

2001-07-05 12:15:12

by rct

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

Something I forgot to mention that I didn't see in any of the other
problem reports. In my case, the panic happens immediately after
"Calibrating delay loop" appears during the boot sequence.

--Bob

2001-07-05 12:59:41

by Mircea Damian

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

On Thu, Jul 05, 2001 at 06:52:43PM +0800, Thibaut Laurent wrote:
> Hi,
>
> I posted a message 2 weeks ago regarding this bug, though I can't trigger the
> kernel panic every time (see original post). My CPU is a MediaGX, and
> Manfred's one is a 6x86MX. What about yours ?
> After my first unsuccessful attempt with a 2.4.6-pre3, I tried several other
> 2.4.6-preX and 2.4.5-acX kernels. All 2.4.6 (since pre1) seem to be
> affected, and so do the latest ac's. I don't have tested 2.4.7-pre[12] yet,
> but looking at the changelog, I doubt the fix is in.

My CPU is:

root@cyrix:~# cat /proc/cpuinfo
processor : 0
vendor_id : CyrixInstead
cpu family : 6
model : 2
model name : 6x86MX 2.5x Core/Bus Clock
stepping : 7
cpu MHz : 166.452
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : yes
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu de tsc msr cx8 pge cmov mmx cyrix_arr
bogomips : 331.77



--
Mircea Damian
E-mails: [email protected], [email protected]
WebPage: http://taz.mania.k.ro/~dmircea/

2001-07-05 13:03:20

by Mircea Damian

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

On Thu, Jul 05, 2001 at 12:18:46PM +0100, Alan Cox wrote:
> > This bug hits me since 2.4.6-pre5 but nobody answered to my emails... The
> > code line is identical (and the softirq.c:206 ofc).
> >
> > Anyone, any idea?
>
> None at all. There are odd items in your config - like khttpd which if
> involved might explain why there are not more reports.

If you look closer at my post you'll see that I do not have khttpd
configured. I've just replied to that message because I saw somebody
crying about the same thing. My configuration is posted in an earlier
message but here it is again:


CONFIG_X86=y
CONFIG_ISA=y
CONFIG_UID16=y
CONFIG_EXPERIMENTAL=y
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y
CONFIG_M586=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_USE_STRING_486=y
CONFIG_X86_ALIGNMENT_16=y
CONFIG_NOHIGHMEM=y
CONFIG_MTRR=y
CONFIG_NET=y
CONFIG_PCI=y
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_NAMES=y
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=m
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_NETLINK=y
CONFIG_RTNETLINK=y
CONFIG_NETLINK_DEV=y
CONFIG_NETFILTER=y
CONFIG_FILTER=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_RTNETLINK=y
CONFIG_NETLINK=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_FWMARK=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
CONFIG_SYN_COOKIES=y
CONFIG_IP_NF_CONNTRACK=y
CONFIG_IP_NF_FTP=y
CONFIG_IP_NF_QUEUE=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_LIMIT=y
CONFIG_IP_NF_MATCH_MAC=y
CONFIG_IP_NF_MATCH_MARK=y
CONFIG_IP_NF_MATCH_MULTIPORT=y
CONFIG_IP_NF_MATCH_TOS=y
CONFIG_IP_NF_MATCH_TCPMSS=y
CONFIG_IP_NF_MATCH_STATE=y
CONFIG_IP_NF_MATCH_UNCLEAN=y
CONFIG_IP_NF_MATCH_OWNER=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_MIRROR=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_NAT_FTP=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_TOS=y
CONFIG_IP_NF_TARGET_MARK=y
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_IP_NF_TARGET_TCPMSS=y
CONFIG_NET_SCHED=y
CONFIG_NETLINK=y
CONFIG_RTNETLINK=y
CONFIG_NET_SCH_CBQ=y
CONFIG_NET_SCH_CSZ=y
CONFIG_NET_SCH_PRIO=y
CONFIG_NET_SCH_RED=y
CONFIG_NET_SCH_SFQ=y
CONFIG_NET_SCH_TEQL=y
CONFIG_NET_SCH_TBF=y
CONFIG_NET_SCH_GRED=y
CONFIG_NET_SCH_DSMARK=y
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
CONFIG_NET_CLS_TCINDEX=y
CONFIG_NET_CLS_ROUTE4=y
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=y
CONFIG_NET_CLS_U32=y
CONFIG_NET_CLS_RSVP=y
CONFIG_NET_CLS_RSVP6=y
CONFIG_NET_CLS_POLICE=y
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_BLK_DEV_PIIX=y
CONFIG_IDEDMA_AUTO=y
CONFIG_BLK_DEV_IDE_MODES=y
CONFIG_NETDEVICES=y
CONFIG_NET_ETHERNET=y
CONFIG_NET_ISA=y
CONFIG_NE2000=y
CONFIG_NET_PCI=y
CONFIG_NE2K_PCI=y
CONFIG_8139TOO=y
CONFIG_PPP=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPPOE=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_SERIAL_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
CONFIG_REISERFS_FS=y
CONFIG_FAT_FS=y
CONFIG_VFAT_FS=y
CONFIG_TMPFS=y
CONFIG_MINIX_FS=y
CONFIG_PROC_FS=y
CONFIG_DEVPTS_FS=y
CONFIG_EXT2_FS=y
CONFIG_MSDOS_PARTITION=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
CONFIG_VGA_CONSOLE=y
CONFIG_VIDEO_SELECT=y
CONFIG_MAGIC_SYSRQ=y

--
Mircea Damian
E-mails: [email protected], [email protected]
WebPage: http://taz.mania.k.ro/~dmircea/

2001-07-05 13:38:54

by Manfred H. Winter

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

Hi!

On Wed, 04 Jul 2001, Manfred H. Winter wrote:

>
> I tried to install kernel 2.4.6 with same configuration as 2.4.5, but
> booting failed with:
>
> kernel BUG at softirq.c:206!
> invalid operand: 0000
> CPU: 0
> EIP: 0010:[<c0117f2e>]
> EFLAGS: 00010082
> eax: 0000001d ebx: c025bf80 ecx: 00000001 edx: c0206628
> esi: c025bf80 edi: 00000001 ebp: 00000000 esp: c0213efc
> ds: 0018 es: 0018 ss: 0018
> Process swapper (pid: 0, stackpage=c0213000)
> Stack: c01d896c c01d8a08 000000ce 00000009 c02445c0 c02445c0 c0213f40 c0117d3f
> c02445c0 00000000 c0242900 00000000 c010818d c020b5e0 c0213f9f 000003c7
> c0205ba0 000003c7 c0106d80 c020b5e0 00000000 000003c7 c0213f9f 000003c7
> Call Trace: [<c0117d3f>] [<c010818d>] [<c0106d80>] [<c011493f>] [<c0105000>]
> Code: 0f 0b 83 c4 0c 8b 43 08 85 c0 75 18 fb 8b 43 10 50 8b 43 0c
> Kernel panic: Aiee, killing interrupt handler!
> In interrupt handler - not syncing
>

Because the kernel crashed in early stage of booting, there are no logs,
but I've written it from screen.

Here's what ksymoops says:

>>EIP; c0117f2e <tasklet_hi_action+6a/b4> <=====
Trace; c0117d3f <do_softirq+3f/68>
Trace; c010818d <do_IRQ+9d/b0>
Trace; c0106d80 <ret_from_intr+0/7>
Trace; c011493f <register_console+22b/234>
Trace; c0105000 <_stext+0/0>
Code; c0117f2e <tasklet_hi_action+6a/b4>
00000000 <_EIP>:
Code; c0117f2e <tasklet_hi_action+6a/b4> <=====
0: 0f 0b ud2a <=====
Code; c0117f30 <tasklet_hi_action+6c/b4>
2: 83 c4 0c add $0xc,%esp
Code; c0117f33 <tasklet_hi_action+6f/b4>
5: 8b 43 08 mov 0x8(%ebx),%eax
Code; c0117f36 <tasklet_hi_action+72/b4>
8: 85 c0 test %eax,%eax
Code; c0117f38 <tasklet_hi_action+74/b4>
a: 75 18 jne 24 <_EIP+0x24> c0117f52 <tasklet_hi_action+8e/b4>
Code; c0117f3a <tasklet_hi_action+76/b4>
c: fb sti
Code; c0117f3b <tasklet_hi_action+77/b4>
d: 8b 43 10 mov 0x10(%ebx),%eax
Code; c0117f3e <tasklet_hi_action+7a/b4>
10: 50 push %eax
Code; c0117f3f <tasklet_hi_action+7b/b4>
11: 8b 43 0c mov 0xc(%ebx),%eax

Kernel panic: Aiee, killing interrupt handler!

Hope that helps to find the bug, it's the first kernel in the 2.4 series
which doesn't boot.

Bye,

Manfred
--
/"\ | PGP-Key available at Public Key Servers
\ / ASCII ribbon campaign | or "http://www.mahowi.de/pgp/mahowi.asc"
X against HTML mail | RSA: 0xC05BC0F5 * DSS: 0x4613B5CA
/ \ and postings | AIM: mahowi42 * ICQ: 61597169

2001-07-05 13:43:04

by Alan

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

> Something I forgot to mention that I didn't see in any of the other
> problem reports. In my case, the panic happens immediately after
> "Calibrating delay loop" appears during the boot sequence.

Duplicated here. Works fine on a non Cyrix processor with the same kernel image.
Perhaps the folks who submitted the 2.4.6 tasklet changes could review them ?

2001-07-05 13:59:44

by rct

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

Alan Cox wrote:
> Intriguing its all Cyrix.

That was the first thing that hit me (stood out).

> What compiler, what processor choice in the build.

compiler:
gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)

processor choice:
586/K5/5x86/6x86/6x86MX CONFIG_M586

> It looks like it is time
> to run 2.4.6ac on my Cyrix MII/233 and take a look.

Any chance this might be an "APIC support on uniprocessor" kind of thing?
I haven't tried disabling that yet to see if it makes any difference,
and it will be several hours before I'll get a chance to try it :-(.

--Bob

2001-07-05 14:03:34

by rct

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

Alan Cox wrote:
> > Something I forgot to mention that I didn't see in any of the other
> > problem reports. In my case, the panic happens immediately after
> > "Calibrating delay loop" appears during the boot sequence.
>
> Duplicated here. Works fine on a non Cyrix processor with the same kernel image.
> Perhaps the folks who submitted the 2.4.6 tasklet changes could review them ?

Definitely *not* "APIC support on uniprocessor" related. At least one
of the posted configurations had that option disabled.

--Bob

2001-07-05 14:20:57

by Andrea Arcangeli

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

On Wed, Jul 04, 2001 at 11:28:17PM +0200, Manfred H. Winter wrote:
> Hi!
>
> I tried to install kernel 2.4.6 with same configuration as 2.4.5, but
> booting failed with:
>
> kernel BUG at softirq.c:206!

do you have any problem with those patches applied?

ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.6pre5aa1/00_ksoftirqd-7
ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.6pre5aa1/00_softirq-fixes-4

Andrea

2001-07-05 14:30:17

by Alan

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

> > kernel BUG at softirq.c:206!
>
> do you have any problem with those patches applied?

I don't
>
> ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.6pre5aa1/00_ksoftirqd-7
> ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.6pre5aa1/00_softirq-fixes-4

But I can certainly try them latet today

Alan

2001-07-05 14:36:57

by Arjan van de Ven

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

Andrea Arcangeli wrote:
>
> On Wed, Jul 04, 2001 at 11:28:17PM +0200, Manfred H. Winter wrote:
> > Hi!
> >
> > I tried to install kernel 2.4.6 with same configuration as 2.4.5, but
> > booting failed with:
> >
> > kernel BUG at softirq.c:206!
>
> do you have any problem with those patches applied?
>
> ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.6pre5aa1/00_ksoftirqd-7
> ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.6pre5aa1/00_softirq-fixes-4
>

Is there anything in here that fixes a Via/Cyrix specific bug ?

2001-07-05 14:41:07

by Andrea Arcangeli

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

On Thu, Jul 05, 2001 at 03:36:29PM +0100, Arjan van de Ven wrote:
> Andrea Arcangeli wrote:
> >
> > On Wed, Jul 04, 2001 at 11:28:17PM +0200, Manfred H. Winter wrote:
> > > Hi!
> > >
> > > I tried to install kernel 2.4.6 with same configuration as 2.4.5, but
> > > booting failed with:
> > >
> > > kernel BUG at softirq.c:206!
> >
> > do you have any problem with those patches applied?
> >
> > ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.6pre5aa1/00_ksoftirqd-7
> > ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.6pre5aa1/00_softirq-fixes-4
> >
>
> Is there anything in here that fixes a Via/Cyrix specific bug ?

definitely not. The softirq.c:206 bug cannot be caused by any hardware
bug, unless the bug triggers memory corruption exactly in the
tasklet->state word (which sounds unlikely since different people
triggered the bug using different binary kernels that are unlikely to
allocate t->state exactly in the same place).

Andrea

2001-07-05 15:12:28

by Manfred H. Winter

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

Hi Alan!

On Thu, 05 Jul 2001, Alan Cox wrote:

> > This bug hits me since 2.4.6-pre5 but nobody answered to my emails... The
> > code line is identical (and the softirq.c:206 ofc).
> >
> > Anyone, any idea?
>
> None at all. There are odd items in your config - like khttpd which if
> involved might explain why there are not more reports.
>

But khttpd is compiled as a module which isn't loaded at the moment, the
crash appears. The crash is just after "Calibrating delay loop... 333.41
BogoMIPS". At this moment, there should be no modules loaded.

As others report the same error, it seems to be a conflict with Cyrix
processors.

Bye,

Manfred
--
/"\ | PGP-Key available at Public Key Servers
\ / ASCII ribbon campaign | or "http://www.mahowi.de/pgp/mahowi.asc"
X against HTML mail | RSA: 0xC05BC0F5 * DSS: 0x4613B5CA
/ \ and postings | AIM: mahowi42 * ICQ: 61597169

2001-07-05 15:12:28

by Manfred H. Winter

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

Hi Andrew!

On Thu, 05 Jul 2001, Andrew Morton wrote:

> > kernel panic every time (see original post). My CPU is a MediaGX, and
> > Manfred's one is a 6x86MX. What about yours ?
> > After my first unsuccessful attempt with a 2.4.6-pre3, I tried several other
> > 2.4.6-preX and 2.4.5-acX kernels. All 2.4.6 (since pre1) seem to be
> > affected, and so do the latest ac's. I don't have tested 2.4.7-pre[12] yet,
> > but looking at the changelog, I doubt the fix is in.
>
>
> It may help to know which tasklet is in the wrong state.
> Could you please add this patch:
>
> --- linux-2.4.6/kernel/softirq.c Wed Jul 4 18:21:32 2001
> +++ lk-ext3/kernel/softirq.c Thu Jul 5 21:32:08 2001
> @@ -202,8 +202,10 @@ static void tasklet_hi_action(struct sof
> if (!tasklet_trylock(t))
> BUG();
> repeat:
> - if (!test_and_clear_bit(TASKLET_STATE_SCHED, &t->state))
> + if (!test_and_clear_bit(TASKLET_STATE_SCHED, &t->state)) {
> + printk("func: %p\n", t->func);
> BUG();
> + }
> if (!atomic_read(&t->count)) {
> local_irq_enable();
> t->func(t->data);
>

Okay, here's the output of gdb:

(gdb) x/10i 0xc0118028
0xc0118028 <bh_action>: mov 0x4(%esp,1),%eax
0xc011802c <bh_action+4>: cmpl $0x0,0xc025c2e4
0xc0118033 <bh_action+11>: jne 0xc0118043 <bh_action+27>
0xc0118035 <bh_action+13>: mov 0xc024af20(,%eax,4),%eax
0xc011803c <bh_action+20>: test %eax,%eax
0xc011803e <bh_action+22>: je 0xc0118042 <bh_action+26>
0xc0118040 <bh_action+24>: call *%eax
0xc0118042 <bh_action+26>: ret
0xc0118043 <bh_action+27>: lea (%eax,%eax,4),%eax
0xc0118046 <bh_action+30>: lea 0xc025bf80(,%eax,4),%eax

HTH,

Manfred
--
/"\ | PGP-Key available at Public Key Servers
\ / ASCII ribbon campaign | or "http://www.mahowi.de/pgp/mahowi.asc"
X against HTML mail | RSA: 0xC05BC0F5 * DSS: 0x4613B5CA
/ \ and postings | AIM: mahowi42 * ICQ: 61597169

2001-07-05 15:22:48

by Andrew Morton

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

"Manfred H. Winter" wrote:
>
> ...
> > --- linux-2.4.6/kernel/softirq.c Wed Jul 4 18:21:32 2001
> > +++ lk-ext3/kernel/softirq.c Thu Jul 5 21:32:08 2001
> > @@ -202,8 +202,10 @@ static void tasklet_hi_action(struct sof
> > if (!tasklet_trylock(t))
> > BUG();
> > repeat:
> > - if (!test_and_clear_bit(TASKLET_STATE_SCHED, &t->state))
> > + if (!test_and_clear_bit(TASKLET_STATE_SCHED, &t->state)) {
> > + printk("func: %p\n", t->func);
> > BUG();
> > + }
> > if (!atomic_read(&t->count)) {
> > local_irq_enable();
> > t->func(t->data);
> >
>
> Okay, here's the output of gdb:
>
> (gdb) x/10i 0xc0118028
> 0xc0118028 <bh_action>: mov 0x4(%esp,1),%eax
> 0xc011802c <bh_action+4>: cmpl $0x0,0xc025c2e4
> 0xc0118033 <bh_action+11>: jne 0xc0118043 <bh_action+27>
> 0xc0118035 <bh_action+13>: mov 0xc024af20(,%eax,4),%eax
> 0xc011803c <bh_action+20>: test %eax,%eax
> 0xc011803e <bh_action+22>: je 0xc0118042 <bh_action+26>
> 0xc0118040 <bh_action+24>: call *%eax
> 0xc0118042 <bh_action+26>: ret
> 0xc0118043 <bh_action+27>: lea (%eax,%eax,4),%eax
> 0xc0118046 <bh_action+30>: lea 0xc025bf80(,%eax,4),%eax
>

Well I guess it tells us it's not random uninitialised
crud.

Just for interest: what happens if you swap around the lines

time_init();
softirq_init();

in init/main.c?

-

2001-07-05 15:32:41

by Manfred H. Winter

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

Andrea Arcangeli schrieb am Donnerstag, den 05. Juli 2001:

> On Wed, Jul 04, 2001 at 11:28:17PM +0200, Manfred H. Winter wrote:
> > Hi!
> >
> > I tried to install kernel 2.4.6 with same configuration as 2.4.5, but
> > booting failed with:
> >
> > kernel BUG at softirq.c:206!
>
> do you have any problem with those patches applied?
>
> ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.6pre5aa1/00_ksoftirqd-7
> ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.6pre5aa1/00_softirq-fixes-4
>

I didn't know about these patches but I'll give them a try.

Manfred
--
/"\ | PGP-Key available at Public Key Servers
\ / ASCII ribbon campaign | or "http://www.mahowi.de/pgp/mahowi.asc"
X against HTML mail | RSA: 0xC05BC0F5 * DSS: 0x4613B5CA
/ \ and postings | AIM: mahowi42 * ICQ: 61597169

2001-07-05 15:45:21

by Thibaut Laurent

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

And the winner is... Andrea. Kudos to you, I've just applied these patches,
recompiled and it seems to work fine.
Too bad, this was the perfect excuse for getting rid of those good old Cyrix
boxen ;)

Thanks,

Thibaut

2001-07-05 15:47:01

by Arjan van de Ven

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

On Thu, Jul 05, 2001 at 11:32:00PM +0800, Thibaut Laurent wrote:
> And the winner is... Andrea. Kudos to you, I've just applied these patches,
> recompiled and it seems to work fine.
> Too bad, this was the perfect excuse for getting rid of those good old Cyrix
> boxen ;)

As Andrea's patches don't actually fix anything Cyrix related it's obvious
that they just avoid the real bug instead of fixing it.
It's a very useful datapoint though.

2001-07-05 15:55:53

by Andrew Morton

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

Arjan van de Ven wrote:
>
> On Thu, Jul 05, 2001 at 11:32:00PM +0800, Thibaut Laurent wrote:
> > And the winner is... Andrea. Kudos to you, I've just applied these patches,
> > recompiled and it seems to work fine.
> > Too bad, this was the perfect excuse for getting rid of those good old Cyrix
> > boxen ;)
>
> As Andrea's patches don't actually fix anything Cyrix related it's obvious
> that they just avoid the real bug instead of fixing it.
> It's a very useful datapoint though.

My money is on the unconditional sti()'s in the cyrix code.



--- linux-2.4.6/arch/i386/kernel/setup.c Mon May 28 13:31:46 2001
+++ lk-ext3/arch/i386/kernel/setup.c Fri Jul 6 01:37:39 2001
@@ -1243,12 +1255,13 @@ static int __init init_amd(struct cpuinf
/*
* Read Cyrix DEVID registers (DIR) to get more detailed info. about the CPU
*/
-static inline void do_cyrix_devid(unsigned char *dir0, unsigned char *dir1)
+static void do_cyrix_devid(unsigned char *dir0, unsigned char *dir1)
{
unsigned char ccr2, ccr3;
+ unsigned long flags;

/* we test for DEVID by checking whether CCR3 is writable */
- cli();
+ save_flags(flags);
ccr3 = getCx86(CX86_CCR3);
setCx86(CX86_CCR3, ccr3 ^ 0x80);
getCx86(0xc0); /* dummy to change bus */
@@ -1272,7 +1285,7 @@ static inline void do_cyrix_devid(unsign
*dir0 = getCx86(CX86_DIR0);
*dir1 = getCx86(CX86_DIR1);
}
- sti();
+ restore_flags(flags);
}

/*
@@ -1316,15 +1329,16 @@ static void __init check_cx686_slop(stru
{
if (Cx86_dir0_msb == 3) {
unsigned char ccr3, ccr5;
+ unsigned long flags;

- cli();
+ save_flags(flags);
ccr3 = getCx86(CX86_CCR3);
setCx86(CX86_CCR3, (ccr3 & 0x0f) | 0x10); /* enable MAPEN */
ccr5 = getCx86(CX86_CCR5);
if (ccr5 & 2)
setCx86(CX86_CCR5, ccr5 & 0xfd); /* reset SLOP */
setCx86(CX86_CCR3, ccr3); /* disable MAPEN */
- sti();
+ restore_flags(flags);

if (ccr5 & 2) { /* possible wrong calibration done */
printk(KERN_INFO "Recalibrating delay loop with SLOP bit reset\n");
@@ -2092,15 +2106,16 @@ static int __init id_and_try_enable_cpui
if (dir0 == 5 || dir0 == 3)
{
unsigned char ccr3, ccr4;
+ unsigned long flags;

printk(KERN_INFO "Enabling CPUID on Cyrix processor.\n");
- cli();
+ save_flags(flags);
ccr3 = getCx86(CX86_CCR3);
setCx86(CX86_CCR3, (ccr3 & 0x0f) | 0x10); /* enable MAPEN */
ccr4 = getCx86(CX86_CCR4);
setCx86(CX86_CCR4, ccr4 | 0x80); /* enable cpuid */
setCx86(CX86_CCR3, ccr3); /* disable MAPEN */
- sti();
+ restore_flags(flags);
}
} else

2001-07-05 16:05:02

by Alan

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

> My money is on the unconditional sti()'s in the cyrix code.

Possibly but the diff is wrong

> - cli();
> + save_flags(flags);

>>> cli() needed still


2001-07-05 16:10:42

by Andrew Morton

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

Alan Cox wrote:
>
> > My money is on the unconditional sti()'s in the cyrix code.
>
> Possibly but the diff is wrong

But it'll still work :)

--- linux-2.4.6/init/main.c Wed Jul 4 18:21:32 2001
+++ lk-ext3/init/main.c Fri Jul 6 02:06:12 2001
@@ -523,8 +523,8 @@ asmlinkage void __init start_kernel(void
trap_init();
init_IRQ();
sched_init();
- time_init();
softirq_init();
+ time_init();

/*
* HACK ALERT! This is early. We're enabling the console before
--- linux-2.4.6/arch/i386/kernel/setup.c Mon May 28 13:31:46 2001
+++ lk-ext3/arch/i386/kernel/setup.c Fri Jul 6 01:59:37 2001
@@ -1243,11 +1255,13 @@ static int __init init_amd(struct cpuinf
/*
* Read Cyrix DEVID registers (DIR) to get more detailed info. about the CPU
*/
-static inline void do_cyrix_devid(unsigned char *dir0, unsigned char *dir1)
+static void do_cyrix_devid(unsigned char *dir0, unsigned char *dir1)
{
unsigned char ccr2, ccr3;
+ unsigned long flags;

/* we test for DEVID by checking whether CCR3 is writable */
+ save_flags(flags);
cli();
ccr3 = getCx86(CX86_CCR3);
setCx86(CX86_CCR3, ccr3 ^ 0x80);
@@ -1272,7 +1286,7 @@ static inline void do_cyrix_devid(unsign
*dir0 = getCx86(CX86_DIR0);
*dir1 = getCx86(CX86_DIR1);
}
- sti();
+ restore_flags(flags);
}

/*
@@ -1316,7 +1330,9 @@ static void __init check_cx686_slop(stru
{
if (Cx86_dir0_msb == 3) {
unsigned char ccr3, ccr5;
+ unsigned long flags;

+ save_flags(flags);
cli();
ccr3 = getCx86(CX86_CCR3);
setCx86(CX86_CCR3, (ccr3 & 0x0f) | 0x10); /* enable MAPEN */
@@ -1324,7 +1340,7 @@ static void __init check_cx686_slop(stru
if (ccr5 & 2)
setCx86(CX86_CCR5, ccr5 & 0xfd); /* reset SLOP */
setCx86(CX86_CCR3, ccr3); /* disable MAPEN */
- sti();
+ restore_flags(flags);

if (ccr5 & 2) { /* possible wrong calibration done */
printk(KERN_INFO "Recalibrating delay loop with SLOP bit reset\n");
@@ -2092,15 +2108,17 @@ static int __init id_and_try_enable_cpui
if (dir0 == 5 || dir0 == 3)
{
unsigned char ccr3, ccr4;
+ unsigned long flags;

printk(KERN_INFO "Enabling CPUID on Cyrix processor.\n");
+ save_flags(flags);
cli();
ccr3 = getCx86(CX86_CCR3);
setCx86(CX86_CCR3, (ccr3 & 0x0f) | 0x10); /* enable MAPEN */
ccr4 = getCx86(CX86_CCR4);
setCx86(CX86_CCR4, ccr4 | 0x80); /* enable cpuid */
setCx86(CX86_CCR3, ccr3); /* disable MAPEN */
- sti();
+ restore_flags(flags);
}
} else

2001-07-05 16:16:23

by Andrea Arcangeli

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

On Thu, Jul 05, 2001 at 11:46:33AM -0400, Arjan van de Ven wrote:
> On Thu, Jul 05, 2001 at 11:32:00PM +0800, Thibaut Laurent wrote:
> > And the winner is... Andrea. Kudos to you, I've just applied these patches,
> > recompiled and it seems to work fine.
> > Too bad, this was the perfect excuse for getting rid of those good old Cyrix
> > boxen ;)
>
> As Andrea's patches don't actually fix anything Cyrix related it's obvious
> that they just avoid the real bug instead of fixing it.
> It's a very useful datapoint though.

I repeat an hardware issue cannot cause that BUG(), I assume you are
worried about the software device driver. The softirq stuff in mainline
is pretty broken, to make an example think if atomic_read(&t->count) is
> 0 and another cpu enables the tasklet before the tasklet_unlock but
after the test_bit(TASKLET_STATE_SCHED), the following
test_bit(TASKLET_STATE_SCHED) will trigger but tasklet_hi_schedule won't
do anything because TASKLET_STATE_SCHED is just set and you will break
badly if you don't use my patches. The new code breaks the invariant
that when irq are locally enabled and the TASKLET_STATE_SCHED is set the
tasklet is guaranteed to be just queued and that can have side effects,
possibly the BUG() you are seeing, I didn't checked the new code too
closely because I simply don't agree with the "infinite loop into atomic
context" design, ksoftirqd solves the latency bugs just fine without
losing robusteness that way.

But of course if the driver has all the power to be able to be the buggy
piece of code, in that case I will be more than willing to add some
BUG() to my variant of the softirq handling to trigger it too. But at
the moment it is not obvious to me this is not a bug in the softirq
code.

Andrea

2001-07-05 22:40:59

by rct

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

Andrea Arcangeli quoted:
> On Thu, Jul 05, 2001 at 11:46:33AM -0400, Arjan van de Ven wrote:
> > On Thu, Jul 05, 2001 at 11:32:00PM +0800, Thibaut Laurent wrote:
> > > And the winner is... Andrea. Kudos to you, I've just applied these patches,
> > > recompiled and it seems to work fine.
> > > Too bad, this was the perfect excuse for getting rid of those good old Cyrix
> > > boxen ;)
> >
> > As Andrea's patches don't actually fix anything Cyrix related it's obvious
> > that they just avoid the real bug instead of fixing it.
> > It's a very useful datapoint though.

Put me in the "it works for me" camp also. Do we have the definitive answer
as far as what is/was broken? Thanks, Andrea...

--Bob Tracy
[email protected]

2001-07-05 23:20:12

by Manfred H. Winter

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

Hi Andrew!

On Fri, 06 Jul 2001, Andrew Morton wrote:

> > Okay, here's the output of gdb:
> >
> > (gdb) x/10i 0xc0118028
> > 0xc0118028 <bh_action>: mov 0x4(%esp,1),%eax
> > 0xc011802c <bh_action+4>: cmpl $0x0,0xc025c2e4
> > 0xc0118033 <bh_action+11>: jne 0xc0118043 <bh_action+27>
> > 0xc0118035 <bh_action+13>: mov 0xc024af20(,%eax,4),%eax
> > 0xc011803c <bh_action+20>: test %eax,%eax
> > 0xc011803e <bh_action+22>: je 0xc0118042 <bh_action+26>
> > 0xc0118040 <bh_action+24>: call *%eax
> > 0xc0118042 <bh_action+26>: ret
> > 0xc0118043 <bh_action+27>: lea (%eax,%eax,4),%eax
> > 0xc0118046 <bh_action+30>: lea 0xc025bf80(,%eax,4),%eax
> >
>
> Well I guess it tells us it's not random uninitialised
> crud.
>
> Just for interest: what happens if you swap around the lines
>
> time_init();
> softirq_init();
>
> in init/main.c?
>

That works, kernel boots now without problems.

Thanks,

Manfred
--
/"\ | PGP-Key available at Public Key Servers
\ / ASCII ribbon campaign | or "http://www.mahowi.de/pgp/mahowi.asc"
X against HTML mail | RSA: 0xC05BC0F5 * DSS: 0x4613B5CA
/ \ and postings | AIM: mahowi42 * ICQ: 61597169

2001-07-06 03:42:33

by Andrew Morton

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

Bob_Tracy wrote:
>
> Andrea Arcangeli quoted:
> > On Thu, Jul 05, 2001 at 11:46:33AM -0400, Arjan van de Ven wrote:
> > > On Thu, Jul 05, 2001 at 11:32:00PM +0800, Thibaut Laurent wrote:
> > > > And the winner is... Andrea. Kudos to you, I've just applied these patches,
> > > > recompiled and it seems to work fine.
> > > > Too bad, this was the perfect excuse for getting rid of those good old Cyrix
> > > > boxen ;)
> > >
> > > As Andrea's patches don't actually fix anything Cyrix related it's obvious
> > > that they just avoid the real bug instead of fixing it.
> > > It's a very useful datapoint though.
>
> Put me in the "it works for me" camp also. Do we have the definitive answer
> as far as what is/was broken? Thanks, Andrea...

The Cyrix setup code in arch/i386/kernel/setup.c is unconditionally
enabling interrupts when it shouldn't. This allows timer interrupts
to start running before the softirq system has been set up. A
subsequent softirq_init() mucks up the softirq data structures and
we hit the BUG().

The setup code needs to not reenable interrupts, and softirq_init()
should be called prior to time_init(). Both these changes are in
2.4.7-pre3.

-

2001-07-06 12:07:21

by Manfred H. Winter

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

On Thu, 05 Jul 2001, Arjan van de Ven wrote:

> On Thu, Jul 05, 2001 at 11:32:00PM +0800, Thibaut Laurent wrote:
> > And the winner is... Andrea. Kudos to you, I've just applied these patches,
> > recompiled and it seems to work fine.
> > Too bad, this was the perfect excuse for getting rid of those good old Cyrix
> > boxen ;)
>
> As Andrea's patches don't actually fix anything Cyrix related it's obvious
> that they just avoid the real bug instead of fixing it.
> It's a very useful datapoint though.

For me, it works with just swapping around these two lines

time_init();
softirq_init();

in init/main.c. Thanks, Andrew, for this tip.

Bye,

Manfred
--
/"\ | PGP-Key available at Public Key Servers
\ / ASCII ribbon campaign | or "http://www.mahowi.de/pgp/mahowi.asc"
X against HTML mail | RSA: 0xC05BC0F5 * DSS: 0x4613B5CA
/ \ and postings | AIM: mahowi42 * ICQ: 61597169

2001-07-06 12:43:30

by Andrea Arcangeli

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

On Thu, Jul 05, 2001 at 11:32:00PM +0800, Thibaut Laurent wrote:
> And the winner is... Andrea. Kudos to you, I've just applied these patches,
> recompiled and it seems to work fine.

can you apply this patch on top of the ksoftirqd patch and see if you
can trigger the BUG() again when based on pre2? (I want to make sure to
be as strict as mainline) Then if you apply the same patches on top of
pre3 the BUG() should go away.

--- 2.4.7pre2aa1/kernel/softirq.c.~1~ Thu Jul 5 17:13:47 2001
+++ 2.4.7pre2aa1/kernel/softirq.c Fri Jul 6 14:39:49 2001
@@ -173,7 +173,8 @@
if (!tasklet_trylock(t))
BUG();
if (!atomic_read(&t->count)) {
- clear_bit(TASKLET_STATE_SCHED, &t->state);
+ if (!test_and_clear_bit(TASKLET_STATE_SCHED, &t->state))
+ BUG();
t->func(t->data);
tasklet_unlock(t);
continue;
@@ -210,7 +211,8 @@
if (!tasklet_trylock(t))
BUG();
if (!atomic_read(&t->count)) {
- clear_bit(TASKLET_STATE_SCHED, &t->state);
+ if (!test_and_clear_bit(TASKLET_STATE_SCHED, &t->state))
+ BUG();
t->func(t->data);
tasklet_unlock(t);
continue;


Thanks!

Andrea

2001-07-06 14:32:24

by Thibaut Laurent

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

On Fri, 6 Jul 2001 14:43:11 +0200
Andrea Arcangeli <[email protected]> wrote:

| On Thu, Jul 05, 2001 at 11:32:00PM +0800, Thibaut Laurent wrote:
| > And the winner is... Andrea. Kudos to you, I've just applied these patches,
| > recompiled and it seems to work fine.
|
| can you apply this patch on top of the ksoftirqd patch and see if you
| can trigger the BUG() again when based on pre2? (I want to make sure to
| be as strict as mainline) Then if you apply the same patches on top of
| pre3 the BUG() should go away.

Confirmed. I tried both pre2 and pre3

2.4.7-pre2 + 00_ksoftirqd-7 + your last "bug" patch --> boot failed
2.4.7-pre3 + 00_ksoftirqd-7 + your last "bug" patch --> boot ok

BTW, is there some kind of doc regarding all the patches in
ftp.kernel.org/pub/linux/kernel/people/andrea/kernels ?
Especially, what each of them is meant for.

Best regards,

Thibaut

2001-07-06 15:02:43

by Andrea Arcangeli

[permalink] [raw]
Subject: Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

On Fri, Jul 06, 2001 at 10:18:53PM +0800, Thibaut Laurent wrote:
> Confirmed. I tried both pre2 and pre3
>
> 2.4.7-pre2 + 00_ksoftirqd-7 + your last "bug" patch --> boot failed
> 2.4.7-pre3 + 00_ksoftirqd-7 + your last "bug" patch --> boot ok

perfect.

> BTW, is there some kind of doc regarding all the patches in
> ftp.kernel.org/pub/linux/kernel/people/andrea/kernels ?
> Especially, what each of them is meant for.

there are the .log files for each patchkit, most of the time I only
document the diffs between different patchkits since it's faster that
way but if lots of people asks for that I can automate the build of the
whole description for every patchkit too.

Andrea