GateD V 3.6 Alpha 0 crashes Linux 1.3.95 Kernel

Henning Schmiedehausen (barnard@forge.franken.de)
Fri, 26 Apr 1996 18:57:07 +0200 (MET DST)


Hi!

I tried to compile (with lots of tweaking) a gated 3.6 Alpha 0 on
Linux 1.3.9[4|5]. I don't have an older kernel handy yet (in fact I
have lots of them, but none with multicast support compiled which is
essentially the key to using gated. ;-) )

With the 1.3.85 Kernel, no oops occurs.

The crashes happen 90 - 180 seconds after starting gated (looks to me
it is either receiving RIP routing info or trying to send some infos
out). I appended my gated config also (please don't laugh, this is my
first attempt at configuring it and it may be plain stupid but it
shouldn't oops the kernel. Besides it is still a test config, so it
doesn't even do something useful. I was happy when gated -C didn't
give me errors... ;-) ).

Let's start with the trivial things:

babsi is an i486-33 VLB, running Redhat 2.1 + libraries from 3.0.3
(libc 5.2.18), Kernel 1.3.9[4|5]. gated was compiled using gcc 2.7.2
on an i486DX4-100. There is an NE 2k Clone Ethernet card in the
machine, an Adaptec 1540 SCSI Controller and an Teles ISDN board. The
system is working as a router, featuring two ISDN and one ethernet
Interface (isdn0, isdn1 and eth0). Babsi features also a pretty std
VGA (no X, just Console), and two Multi-I/O Boards.

Removing the ISDN interfaces (leaving the router with just a lone eth0
and lo) does not change anything.

It could be a race-condition, because if I try to strace the gated, no
crash happens for hours. If I quit the strace process, the gated
crashes within minutes...

Result for 1.3.95:

Apr 26 16:14:11 babsi gated[846]: Commence routing updates
Apr 26 16:15:40 babsi kernel: general protection: 0000
Apr 26 16:15:40 babsi kernel: CPU: 0
Apr 26 16:15:40 babsi kernel: EIP: 0010:[<0014cbfb>]
Apr 26 16:15:40 babsi kernel: EFLAGS: 00010286
Apr 26 16:15:40 babsi kernel: eax: 00fe6d34 ebx: 00000024 ecx: 00000000 edx: 000941b6
Apr 26 16:15:40 babsi kernel: esi: bffff228 edi: 0066360c ebp: 00001000 esp: 003a2e34
Apr 26 16:15:40 babsi kernel: ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Apr 26 16:15:40 babsi kernel: Process gated (pid: 846, process nr: 46, stackpage=003a2000)
Apr 26 16:15:40 babsi kernel: Stack: 0066360c 003a2eb0 00000000 00000800 00fe6d34 003a2eb4 00151d96 0066360c
Apr 26 16:15:40 babsi kernel: 003a2eb4 00001000 00000800 00000000 003a2eb0 00151d20 004d9cb4 00000000
Apr 26 16:15:40 babsi kernel: 003a2eb4 001395e8 004d9cb4 003a2eb4 00001000 00000800 00000000 003a2eb0
Apr 26 16:15:40 babsi kernel: Call Trace: [<00151d96>] [<00151d20>] [<001395e8>] [<0011d1b6>] [<0011a746>] [<00111545>] [<001399ae>]
Apr 26 16:15:40 babsi kernel: [<0010a5f9>]
Apr 26 16:15:40 babsi kernel: Code: 66 c7 06 02 00 8b 50 3c 89 56 04 50 57 e8 03 e2 fe ff 89 d8
Apr 26 16:15:40 babsi kernel: double lock on socket at 00150c5f
Apr 26 16:15:40 babsi kernel: Socket destroy delayed (r=220 w=0)

EIP is: raw_recvmsg + 0xcb

Call Trace is:

00151d96: inet_recvmsg+0x76
00151d20: inet_recvmsg+0
001395e8: sys_recvmsg+0x128
0011d1b6: filemap_nopage+0x206
0011a746: do_no_page+0x3e6
00111545: timer_bh+0x155
001399ae: sys_socketcall+0x32e
0010a5f9: system_call+0x59

Nope, sorry, no ksymoops, the programs only segfaults for me. :-(
(Hey, I'm quite newish to this kernel business. ).

Result for 1.3.94:

Apr 26 18:02:31 babsi gated[324]: Start gated[324] version R3_6Alpha_0 built Fri Apr 26 12:55:08 MET DST 1996
Apr 26 18:02:32 babsi gated[324]: Commence routing updates
Apr 26 18:03:11 babsi kernel: general protection: 0000
Apr 26 18:03:11 babsi kernel: CPU: 0
Apr 26 18:03:11 babsi kernel: EIP: 0010:[<0014cc4b>]
Apr 26 18:03:11 babsi kernel: EFLAGS: 00010282
Apr 26 18:03:11 babsi kernel: eax: 00fe6c38 ebx: 00000024 ecx: 00000000 edx: 00013cc9
Apr 26 18:03:11 babsi kernel: esi: bffff220 edi: 00ea8214 ebp: 00001000 esp: 006dde34
Apr 26 18:03:11 babsi kernel: ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Apr 26 18:03:11 babsi kernel: Process gated (pid: 324, process nr: 45, stackpage=006dd000)
Apr 26 18:03:11 babsi kernel: Stack: 00ea8214 006ddeb0 00000000 00000800 00fe6c38 006ddeb4 00151de6 00ea8214
Apr 26 18:03:11 babsi kernel: 006ddeb4 00001000 00000800 00000000 006ddeb0 00151d70 00410534 00000000
Apr 26 18:03:11 babsi kernel: 006ddeb4 00139628 00410534 006ddeb4 00001000 00000800 00000000 006ddeb0
Apr 26 18:03:11 babsi kernel: Call Trace: [<00151de6>] [<00151d70>] [<00139628>] [<0011d1a6>] [<0011a756>] [<00111545>] [<001399ee>]
Apr 26 18:03:11 babsi kernel: [<0010a5f9>]
Apr 26 18:03:11 babsi kernel: Code: 66 c7 06 02 00 8b 50 3c 89 56 04 50 57 e8 f3 e1 fe ff 89 d8
Apr 26 18:03:11 babsi kernel: double lock on socket at 00150caf
Apr 26 18:03:11 babsi kernel: Socket destroy delayed (r=220 w=0)

Ah, yes, my Config. There is more stuff in the kernel, because I use
this kernel on another machine, too.

#
# Automatically generated by make menuconfig: don't edit
#

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
# CONFIG_KERNELD is not set

#
# General setup
#
# CONFIG_MATH_EMULATION is not set
CONFIG_NET=y
# CONFIG_MAX_16M is not set
CONFIG_PCI=y
CONFIG_PCI_OPTIMIZE=y
CONFIG_SYSVIPC=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=y
CONFIG_KERNEL_ELF=y
CONFIG_M486=y

#
# Floppy, IDE, and other block devices
#
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_IDE=y
# CONFIG_BLK_DEV_HD_IDE is not set
# CONFIG_BLK_DEV_IDECD is not set
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDE_PCMCIA is not set
CONFIG_BLK_DEV_CMD640=y
CONFIG_BLK_DEV_RZ1000=y
# CONFIG_BLK_DEV_TRITON is not set
# CONFIG_IDE_CHIPSETS is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_XD is not set
# CONFIG_BLK_DEV_MD is not set

#
# Networking options
#
# CONFIG_FIREWALL is not set
# CONFIG_NET_ALIAS is not set
CONFIG_INET=y
CONFIG_IP_FORWARD=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ACCT is not set
# CONFIG_IP_ROUTER is not set
# CONFIG_NET_IPIP is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_INET_PCTCP is not set
# CONFIG_INET_RARP is not set
# CONFIG_NO_PATH_MTU_DISCOVERY is not set
# CONFIG_TCP_NAGLE_OFF is not set
CONFIG_IP_NOSR=y
# CONFIG_SKB_LARGE is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_AX25 is not set
# CONFIG_BRIDGE is not set
# CONFIG_NETLINK is not set

#
# SCSI support
#
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_CHR_DEV_SG=y
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y

#
# SCSI low-level drivers
#
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_AHA152X is not set
CONFIG_SCSI_AHA1542=y
# CONFIG_SCSI_AHA1740 is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA_DMA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
CONFIG_SCSI_NCR53C7xx=y
CONFIG_SCSI_NCR53C7xx_sync=y
# CONFIG_SCSI_NCR53C7xx_FAST is not set
CONFIG_SCSI_NCR53C7xx_DISCONNECT=y
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_QLOGIC is not set
# CONFIG_SCSI_SEAGATE is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_ULTRASTOR is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_AM53C974 is not set

#
# Network device support
#
CONFIG_NETDEVICES=y
CONFIG_DUMMY=y
CONFIG_SLIP=y
CONFIG_SLIP_COMPRESSED=y
# CONFIG_SLIP_SMART is not set
CONFIG_PPP=y
# CONFIG_STRIP is not set
# CONFIG_WIC is not set
# CONFIG_SCC is not set
# CONFIG_PLIP is not set
# CONFIG_EQUALIZER is not set
# CONFIG_DLCI is not set
# CONFIG_NET_ALPHA is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_LANCE is not set
CONFIG_NET_VENDOR_3COM=y
# CONFIG_EL1 is not set
# CONFIG_EL2 is not set
CONFIG_EL3=y
# CONFIG_VORTEX is not set
CONFIG_NET_ISA=y
# CONFIG_E2100 is not set
# CONFIG_DEPCA is not set
# CONFIG_EWRK3 is not set
# CONFIG_HPLAN_PLUS is not set
# CONFIG_HPLAN is not set
# CONFIG_HP100 is not set
CONFIG_NE2000=y
# CONFIG_SK_G16 is not set
# CONFIG_NET_EISA is not set
# CONFIG_NET_POCKET is not set
# CONFIG_TR is not set
# CONFIG_ARCNET is not set

#
# ISDN subsystem
#
CONFIG_ISDN=m
# CONFIG_ISDN_PPP is not set
CONFIG_ISDN_DRV_TELES=m
# CONFIG_ISDN_DRV_ICN is not set
# CONFIG_ISDN_DRV_PCBIT is not set

#
# CD-ROM drivers (not for SCSI or IDE/ATAPI drives)
#
# CONFIG_CD_NO_IDESCSI is not set

#
# Filesystems
#
# CONFIG_QUOTA is not set
CONFIG_MINIX_FS=y
# CONFIG_EXT_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_XIA_FS is not set
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
# CONFIG_UMSDOS_FS is not set
CONFIG_PROC_FS=y
CONFIG_NFS_FS=y
# CONFIG_ROOT_NFS is not set
# CONFIG_SMB_FS is not set
CONFIG_ISO9660_FS=y
# CONFIG_HPFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_UFS_FS is not set

#
# Character devices
#
CONFIG_SERIAL=y
# CONFIG_DIGI is not set
# CONFIG_CYCLADES is not set
# CONFIG_STALDRV is not set
# CONFIG_RISCOM8 is not set
CONFIG_PRINTER=y
# CONFIG_BUSMOUSE is not set
# CONFIG_PSMOUSE is not set
# CONFIG_MS_BUSMOUSE is not set
# CONFIG_ATIXL_BUSMOUSE is not set
# CONFIG_UMISC is not set
# CONFIG_QIC02_TAPE is not set
# CONFIG_FTAPE is not set
# CONFIG_APM is not set
# CONFIG_WATCHDOG is not set
CONFIG_RTC=y

#
# Sound
#
CONFIG_SOUND=y
# CONFIG_PAS is not set
CONFIG_SB=y
# CONFIG_ADLIB is not set
# CONFIG_GUS is not set
# CONFIG_MPU401 is not set
# CONFIG_UART6850 is not set
# CONFIG_PSS is not set
# CONFIG_GUS16 is not set
# CONFIG_GUSMAX is not set
# CONFIG_MSS is not set
# CONFIG_SSCAPE is not set
# CONFIG_TRIX is not set
# CONFIG_MAD16 is not set
# CONFIG_CS4232 is not set
# CONFIG_MAUI is not set
CONFIG_AUDIO=y
CONFIG_MIDI=y
CONFIG_YM3812=y
# CONFIG_SMWAVE is not set
SBC_BASE=220
SBC_IRQ=5
SBC_DMA=1
SB_DMA2=5
SB_MPU_BASE=330
SB_MPU_IRQ=-1
DSP_BUFFSIZE=65536

#
# Kernel hacking
#
# CONFIG_PROFILE is not set

And here is my gated Config:

#
# $Header$
#
#
# Gated config for babsi
#
options noresolv;

interfaces {
define 193.175.24.17 pointopoint 193.175.24.34;
define 194.99.111.251 pointopoint 194.99.111.252;
interface all passive;
};

redirect no;
icmp {
};

rip yes {
nobroadcast;
interface isdn noripout noripin;
interface eth noripin;
interface eth0 version 1;
};

static {
default gateway 193.175.24.34 preference 100 retain;
193.174.2.232 mask 255.255.255.248 interface eth0;
};

export proto rip {
proto static {
default metric 1;
} ;
};