Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

RH kernel + ISDN == kernel panic

0 views
Skip to first unread message

Mikko Rapeli

unread,
Mar 22, 2002, 1:28:23 PM3/22/02
to
Kysymys:
a) Onko RedHatin 7.1:n 2.4.9-31 ja aiemmissa kerneleissä epävakaa
ISDN-osasto tms. vai omaanko huonoa tuuria/kovatavaraa?

b) Kannattaisiko siirtyä RH:n kerneleistä uudempiin itse käännettyihin,
jotta stabiilius lisääntyisi?

Taustaa:
Värkkäsin syksyllä kotiin NAPT/palomuuri/snort/sshd -purkin, joka yrittää
pitää rumien skriptien avulla ISDN:ää päällä (OPOY *kele potkii kyllä kokoajan ulos, vaikka
kuukausimaksu onkin vakio). FreeBSD:llä en saanut ISDN:ää toimimaan
helposti, joten laiton tilalle RedHat 7.1:en.

2.4.2-2 oli ihan susi, kun uptime oli maksimissaan viikko, jonka jälkeen
tuli kernel panic. 2.4.9-12 kesti parhaimmillaan 50 päivää, mutta edelleen
samankaltainen paniikki oli tuloksena. Viimeisin yritys on tämä 2.4.9-31,
joka kesti pari viikkoa kaatumatta. Kaikissa paniikeissa on ollut
samantyyppinen ulostus ruudulla, joten mutu ehdottaa syylliseksi
ISDN-moduleita.

Tässä viimeisin paniikkitulostus käsin kopioituna:
<snip, voi sisältää typoja>
isdn_ppp_xmit: lp->ppp_slot -1
Scheduling in interrupt
---[cut here]---
kernel BUG at sched.c:728!
ivalid operand: 0000
Kernel 2.4.9-31
CPU: 0
EIP: 0010:[<c01131c3>] Not tainted
EFLAGS: 00010086
EIP is at schedule [kernel] 0x3b3
eax: 0000001b ebx: c20ea000 ecx: c02af5c4 edx: 00006f00
esi: 00000000 edi: 000001c0 ebp: c20ebfbc esp: c20ebf94
ds: 0018 es: 0018 ss: 0018
Process ping (pid: 2817, stackpage = c20eb000)
Stack: ...
Call Trace: [<c022c801>] .rodata.str1.1 [kernel] 0x18fc
[<c0107005>] reschedule [kernel] 0x5
Code: 0f 0b 59 5b 8d 65 f4 5b 5e 5f 5d c3 9055 89 e5 57 56 53 83
<0> Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncing
</snip>

Juuri ennen viimeisintä paniikkia /var/log/messages kertoo, että OPOY
potki taas ulos:
<snip>
Mar 20 06:03:07 nalle kernel: ippp1: remote hangup
Mar 20 06:03:07 nalle kernel: ippp1: Chargesum is 0
Mar 20 06:03:07 nalle ipppd[19977]: Modem hangup
Mar 20 06:03:07 nalle ipppd[19977]: Connection terminated.
Mar 20 06:03:07 nalle ipppd[19977]: taking down PHASE_DEAD link 1, linkunit: 1
Mar 20 06:03:08 nalle ipppd[19977]: closing fd 9 from unit 1
Mar 20 06:03:08 nalle ipppd[19977]: link 1 closed , linkunit: 1
Mar 20 06:03:08 nalle ipppd[19977]: reinit_unit: 1
Mar 20 06:03:08 nalle ipppd[19977]: Connect[1]: /dev/ippp1, fd: 9
</snip>

Ja tässä muuta tietoa koneesta:
<snip>
# dmesg
Linux version 2.4.9-31 (bhco...@daffy.perf.redhat.com) (gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)) #1 Tue Feb 26 06:25:35 EST 2002
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 0000000002800000 (usable)
BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
On node 0 totalpages: 10240
zone(0): 4096 pages.
zone(1): 6144 pages.
zone(2): 0 pages.
Kernel command line: auto BOOT_IMAGE=linux ro root=301 BOOT_FILE=/boot/vmlinuz
Initializing CPU#0
Detected 90.206 MHz processor.
Console: colour dummy device 80x25
Calibrating delay loop... 179.81 BogoMIPS
Memory: 37316k/40960k available (1717k kernel code, 3064k reserved, 90k data, 224k init, 0k highmem)
Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes)
Inode-cache hash table entries: 4096 (order: 3, 32768 bytes)
Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 16384 (order: 5, 131072 bytes)
CPU: Before vendor init, caps: 000001bf 00000000 00000000, vendor = 0
Intel Pentium with F0 0F bug - workaround enabled.
CPU: After vendor init, caps: 000001bf 00000000 00000000 00000000
CPU: After generic, caps: 000001bf 00000000 00000000 00000000
CPU: Common caps: 000001bf 00000000 00000000 00000000
CPU: Intel Pentium 75 - 200 stepping 05
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.40 (20010327) Richard Gooch (rgo...@atnf.csiro.au)
mtrr: detected mtrr type: none
PCI: PCI BIOS revision 2.10 entry at 0xfb260, last bus=0
PCI: Using configuration type 1
PCI: Probing PCI hardware
Limiting direct PCI/PCI transfers.
Activating ISA DMA hang workarounds.
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
apm: BIOS version 1.2 Flags 0x07 (Driver version 1.14)
Starting kswapd v1.8
VFS: Diskquotas version dquot_6.5.0 initialized
Detected PS/2 Mouse Port.
pty: 512 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS MULTIPORT SHARE_IRQ SERIAL_PCI ISAPNP enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
Real Time Clock Driver v1.10e
block: queued sectors max/low 24680kB/8226kB, 128 slots per queue
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz PCI bus speed for PIO modes; override with idebus=xx
PIIX3: IDE controller on PCI bus 00 dev 39
PIIX3: chipset revision 0
PIIX3: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0x9000-0x9007, BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0x9008-0x900f, BIOS settings: hdc:pio, hdd:pio
hda: QUANTUM FIREBALL EL7.6A, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
blk: queue c033a720, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c033a720, I/O limit 4095Mb (mask 0xffffffff)
hda: 15032115 sectors (7696 MB) w/418KiB Cache, CHS=935/255/63, (U)DMA
Partition check:
hda: hda1 hda2 hda4
FDC 0 is an 8272A
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 4096)
Linux IP multicast router 0.06 plus PIM-SM
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 224k freed
Adding Swap: 281128k swap-space (priority -1)
8139too Fast Ethernet driver 0.9.18a
eth0: RealTek RTL8139 Fast Ethernet at 0xc302b000, 00:10:a7:09:48:c7, IRQ 11
eth0: Identified 8139 chip type 'RTL-8139C'
eth0: Setting 100mbps full-duplex based on auto-negotiated partner ability 41e1.
task `ifconfig' exit_signal 17 in reparent_to_init
IPv6 v0.8 for NET4.0
IPv6 over IPv4 tunneling driver
CSLIP: code copyright 1989 Regents of the University of California
ISDN subsystem Rev: 1.114.6.14/1.94.6.7/1.140.6.8/1.85.6.6/1.21.6.1/1.5.6.3 loaded
NET4: Linux IPX 0.47 for NET4.0
IPX Portions Copyright (c) 1995 Caldera, Inc.
IPX Portions Copyright (c) 2000, 2001 Conectiva, Inc.
HiSax: Linux Driver for passive ISDN cards
HiSax: Version 3.5 (module)
HiSax: Layer1 Revision 2.41.6.4
HiSax: Layer2 Revision 2.25.6.3
HiSax: TeiMgr Revision 2.17.6.2
HiSax: Layer3 Revision 2.17.6.4
HiSax: LinkLayer Revision 2.51.6.5
HiSax: Approval certification failed because of
HiSax: unauthorized source code changes
HiSax: Total 1 card defined
HiSax: Card 1 Protocol EDSS1 Id=HiSax (0)
HiSax: W6692 driver Rev. 1.12.6.5
Found: Winbond W6692, I/O base: 0x6200, irq: 9
HiSax: W6692 config irq:9 I/O:6200
W6692: Winbond W6692 version (0): W6692 V00
W6692 ISTA=0x0
W6692 IMASK=0xFF
W6692 D_EXIR=0x0
W6692 D_EXIM=0xFF
W6692 D_RSTA=0xA0
Winbond 6692: IRQ 9 count 0
Winbond 6692: IRQ 9 count 6
HiSax: DSS1 Rev. 2.30.6.1
HiSax: 2 channels added
HiSax: MAX_WAITING_CALLS added
NET4: AppleTalk 0.18a for Linux NET4.0
HiSax: debugging flags card 1 set to 3ff
ippp, open, slot: 0, minor: 0, state: 0000
ippp_ccp: allocated reset data structure c137a800
ippp, open, slot: 1, minor: 1, state: 0000
ippp_ccp: allocated reset data structure c1330000
device ippp0 entered promiscuous mode
ip_conntrack (320 buckets, 2560 max)
eth0: no IPv6 routers present
ippp0: dialing 1 328500...
ippp1: dialing 1 328500...
isdn_net: ippp0 connected
isdn_net: ippp1 connected
iPPP-bundle: minor: 0, slave unit: 0, master unit: 1
device ippp0 left promiscuous mode
isdn_net: local hangup ippp1
ippp1: Chargesum is 0
isdn_net: local hangup ippp0
ippp0: Chargesum is 0
ippp_ccp: freeing reset data structure c137a800
ippp_ccp: freeing reset data structure c1330000
ippp, open, slot: 0, minor: 0, state: 0000
ippp_ccp: allocated reset data structure c137a800
ippp, open, slot: 1, minor: 1, state: 0000
ippp_ccp: allocated reset data structure c1330000
ippp0: dialing 1 328500...
isdn_net: ippp0 connected
ippp1: dialing 1 328500...
isdn_net: ippp1 connected
iPPP-bundle: minor: 1, slave unit: 1, master unit: 0
device ippp0 entered promiscuous mode
</snip>

ISDN-systeemin käynnistys bugittaa, kun olen kämmännyt
snort:in käynnistyksen ja ippp0 on jo promiscuous moodissa ennen kuin
operaattorille soitetaan, mutta käsin ja cron-skripteistä soitettaessa
homma kyllä pelaa:
<snip, /var/log/messages>
Mar 22 19:04:07 nalle isdn: Loading ISDN modules succeeded
Mar 22 19:04:07 nalle /etc/hotplug/net.agent: register event not handled
Mar 22 19:04:08 nalle ipppd[596]: Found 2 devices: ,
Mar 22 19:04:08 nalle ipppd[599]: ipppd i2.2.12 (isdn4linux version of pppd by MH) started
Mar 22 19:04:08 nalle ipppd[599]: init_unit: 0
Mar 22 19:04:08 nalle ipppd[599]: Connect[0]: /dev/ippp0, fd: 8
Mar 22 19:04:08 nalle ipppd[599]: init_unit: 1
Mar 22 19:04:08 nalle ipppd[599]: Connect[1]: /dev/ippp1, fd: 9
Mar 22 19:04:09 nalle isdn: Adding provider 'OPOY' on device 'ippp0' succeeded
Mar 22 19:04:10 nalle kernel: device ippp0 entered promiscuous mode
Mar 22 19:04:10 nalle snort-plain: WARNING: OpenPcap() device ippp0 network lookup: ^Iippp0: no IPv4 address assigned
Mar 22 19:04:10 nalle snort-plain: PID stat checked out ok, PID set to /var/run/
Mar 22 19:04:10 nalle snort-plain: Writing PID file to "/var/run/"
Mar 22 19:04:10 nalle snort-plain: Initializing daemon mode
Mar 22 19:04:10 nalle snort-plain: PID stat checked out ok, PID set to /var/run/
Mar 22 19:04:10 nalle snort-plain: Writing PID file to "/var/run/"
Mar 22 19:04:10 nalle snortd: snort-plain startup succeeded
Mar 22 19:04:11 nalle kernel: ip_conntrack (320 buckets, 2560 max)
Mar 22 19:04:11 nalle ipchains: Flushing all current rules and user defined chains: succeeded
Mar 22 19:04:11 nalle ipchains: Clearing all current rules and user defined chains: succeeded
Mar 22 19:04:15 nalle snort[617]: Snort initialization completed successfully, Snort running
Mar 22 19:04:19 nalle ipchains: Applying ipchains firewall rules succeeded
Mar 22 19:04:20 nalle crond: crond startup succeeded
Mar 22 19:04:22 nalle linuxconf: Running Linuxconf hooks: succeeded
Mar 22 19:04:22 nalle kernel: ippp0: dialing 1 328500...
Mar 22 19:04:22 nalle kernel: ippp1: dialing 1 328500...
Mar 22 19:04:23 nalle ipppd[599]: Local number: xxxxxxx, Remote number: 328500, Type: outgoing
Mar 22 19:04:23 nalle ipppd[599]: PHASE_WAIT -> PHASE_ESTABLISHED, ifunit: 0, linkunit: 0, fd: 8
Mar 22 19:04:23 nalle kernel: isdn_net: ippp0 connected
Mar 22 19:04:23 nalle ipppd[599]: Local number: xxxxxxx, Remote number: 328500, Type: outgoing
Mar 22 19:04:23 nalle ipppd[599]: PHASE_WAIT -> PHASE_ESTABLISHED, ifunit: 1, linkunit: 1, fd: 9
Mar 22 19:04:23 nalle kernel: isdn_net: ippp1 connected
Mar 22 19:04:23 nalle modprobe: modprobe: Can't locate module ippp1
Mar 22 19:04:23 nalle ipppd[599]: ioctl(SIOCSIFMTU): No such device, 7 ippp1 1500.
Mar 22 19:04:23 nalle ipppd[599]: Remote message:
Mar 22 19:04:23 nalle ipppd[599]: MPPP negotiation, He: Yes We: Yes
Mar 22 19:04:24 nalle ipppd[599]: local IP address x.x.x.x
Mar 22 19:04:24 nalle ipppd[599]: remote IP address x.x.x.x
Mar 22 19:04:24 nalle modprobe: modprobe: Can't locate module ippp1
Mar 22 19:04:24 nalle ipppd[599]: ioctl(SIOCAIFADDR): No such device
Mar 22 19:04:24 nalle ipppd[599]: Remote message:
Mar 22 19:04:24 nalle ipppd[599]: MPPP negotiation, He: Yes We: Yes
Mar 22 19:04:24 nalle ipppd[599]: ipppd[0]: discr: 2
Mar 22 19:04:24 nalle ipppd[599]: ipppd[0]: passed 1
Mar 22 19:04:24 nalle ipppd[599]: ipppd[0]: passed 2
Mar 22 19:04:24 nalle ipppd[599]: ipppd[0]: pap/chap-check passed
Mar 22 19:04:24 nalle ipppd[599]: ok, found a valid bundle with linkunit 1
Mar 22 19:04:24 nalle ipppd[599]: bundle: 0
Mar 22 19:07:46 nalle kernel: isdn_net: local hangup ippp1
Mar 22 19:07:46 nalle kernel: ippp1: Chargesum is 0
Mar 22 19:07:46 nalle kernel: isdn_net: local hangup ippp0
Mar 22 19:07:46 nalle kernel: ippp0: Chargesum is 0
Mar 22 19:07:46 nalle ipppd[599]: Connect[1]: /dev/ippp1, fd: 9
Mar 22 19:07:59 nalle kernel: ippp0: dialing 1 328500...
Mar 22 19:08:00 nalle kernel: isdn_net: ippp0 connected
Mar 22 19:08:00 nalle ipppd[599]: Local number: xxxxxx, Remote number: 328500, Type: outgoing
Mar 22 19:08:00 nalle ipppd[599]: PHASE_WAIT -> PHASE_ESTABLISHED, ifunit: 0, linkunit: 0, fd: 8
Mar 22 19:08:00 nalle ipppd[599]: Remote message:
Mar 22 19:08:00 nalle ipppd[599]: MPPP negotiation, He: Yes We: Yes
Mar 22 19:08:00 nalle ipppd[599]: local IP address x.x.x.x
Mar 22 19:08:00 nalle ipppd[599]: remote IP address x.x.x.x
Mar 22 19:08:01 nalle kernel: ippp1: dialing 1 328500...
Mar 22 19:08:01 nalle ipppd[599]: Local number: xxxxxx, Remote number: 328500, Type: outgoing
Mar 22 19:08:01 nalle ipppd[599]: PHASE_WAIT -> PHASE_ESTABLISHED, ifunit: 1, linkunit: 1, fd: 9
Mar 22 19:08:01 nalle kernel: isdn_net: ippp1 connected
Mar 22 19:08:01 nalle modprobe: modprobe: Can't locate module ippp1
Mar 22 19:08:02 nalle ipppd[599]: ioctl(SIOCSIFMTU): No such device, 7 ippp1 1500.
Mar 22 19:08:02 nalle ipppd[599]: Remote message:
Mar 22 19:08:02 nalle ipppd[599]: MPPP negotiation, He: Yes We: Yes
Mar 22 19:08:02 nalle ipppd[599]: ipppd[1]: discr: 2
Mar 22 19:08:02 nalle ipppd[599]: ipppd[1]: passed 1
Mar 22 19:08:02 nalle ipppd[599]: ipppd[1]: passed 2
Mar 22 19:08:02 nalle ipppd[599]: ipppd[1]: pap/chap-check passed
Mar 22 19:08:02 nalle ipppd[599]: ok, found a valid bundle with linkunit 0
Mar 22 19:08:02 nalle ipppd[599]: bundle: 0
</snip>

-Mikko

Eero Volotinen

unread,
Mar 22, 2002, 2:52:25 PM3/22/02
to
> 2.4.2-2 oli ihan susi, kun uptime oli maksimissaan viikko, jonka jälkeen
> tuli kernel panic. 2.4.9-12 kesti parhaimmillaan 50 päivää, mutta edelleen

[eero@xxx eero]$ uptime
9:54pm up 102 days, 4:01, 1 user, load average: 0.00, 0.00, 0.00
[eero@xxx eero]$ uname -a
Linux xxx.xx.xx 2.4.2-2 #1 Sun Apr 8 19:37:14 EDT 2001 i586 unknown
[eero@xxx eero]$


--
Eero


Oskari Simola

unread,
Mar 23, 2002, 1:30:58 AM3/23/02
to

"Mikko Rapeli" <foo...@bar.foo> wrote in message
news:Pine.SOL.4.44.0203221916180.12279-100000@stekt57...

> Kysymys:
> a) Onko RedHatin 7.1:n 2.4.9-31 ja aiemmissa kerneleissä epävakaa
> ISDN-osasto tms. vai omaanko huonoa tuuria/kovatavaraa?

Ei johdu mitenkään redhatin kerneleistä. MPPP tuki on vain niin surkean
huono linux kerneleissä. Yhdellä linjalla saa varmasti toimimaan kun junan
vessa, mutta MPPP:n kanssa on sellasta arpapeliä millon kippaa.

> b) Kannattaisiko siirtyä RH:n kerneleistä uudempiin itse käännettyihin,
> jotta stabiilius lisääntyisi?

Viimeisin oma yritys MPPP:n voimuudesta oli minun osalta kernelillä 2.4.17
ja ihan samalla tavalla kernel panic 1-5 päivän välein. Ongelma on tiedossa
linuxin ISDN koodin tekijöillä, mutta ilmeisesti sitä ei vieläkään ole saatu
kunnolla korjattua. Ongelma liittyy kai juuri tuohon kun yhteys katkeaa
operaattorin päästä ei odotetulla tavalla niin kerneli heittää härän pyllyä.

Vaihtoehdot vian korjaamiseen ovat seuraavat:
-Kerneli versio 2.2.15, joka sisältää vielä vanhan MPPP koodin. Tällä itse
olen saavuttanut pisimmän uptimen tuplalinjalla
-Kerneli versio 2.2.20, jossa tuo MPPP vika pitäis olla korjattu. Tosin
itselläni tuplalinja kaatui edelleen
-Olla käyttämättä sitä tuplalinjaa, johon itse päädyin, kun meni hermo
siihen koneen buuttailuun. No nyt kun vaihdoin ext3:n niin buuttaus ei enää
kestä vuosia, mutta silti.

Oskari Simola


Kari Jarvinen

unread,
Mar 23, 2002, 3:42:14 AM3/23/02
to
Oskari Simola <oskari.sim...@nic.fi.invalid> wrote:
> -Kerneli versio 2.2.15, joka sisältää vielä vanhan MPPP koodin. Tällä itse
> olen saavuttanut pisimmän uptimen tuplalinjalla
> -Kerneli versio 2.2.20, jossa tuo MPPP vika pitäis olla korjattu. Tosin
> itselläni tuplalinja kaatui edelleen

Tuota noin, itselläni ei ole ikinä ollut ongelmia tuplalinjan kanssa
millään kernelillä. Esim tällä hetkellä tilanne palomuurissa on tämä:

[isdn@luna isdn]$ uname -a
Linux luna 2.2.17 #10 Sun Feb 4 19:34:34 EET 2001 i686 unknown
[isdn@luna isdn]$ uptime
10:40am up 409 days, 13:09, 2 users, load average: 0.00, 0.02, 0.00
[isdn@luna isdn]$

Muistatko tarkalleen, mitä tapahtui, kun kerneli kippasi? Millaista
rautaa sinulla oli sillä hetkellä ajossa?

--
Kari Jarvinen <ka...@iki.fi>
GSM: +358 50 3515128

Mikko Rapeli

unread,
Mar 25, 2002, 12:42:39 PM3/25/02
to
On Sat, 23 Mar 2002, Kari Jarvinen wrote:
>Tuota noin, itselläni ei ole ikinä ollut ongelmia tuplalinjan kanssa
>millään kernelillä. Esim tällä hetkellä tilanne palomuurissa on tämä:
>[isdn@luna isdn]$ uname -a
>Linux luna 2.2.17 #10 Sun Feb 4 19:34:34 EET 2001 i686 unknown
>[isdn@luna isdn]$ uptime
> 10:40am up 409 days, 13:09, 2 users, load average: 0.00, 0.02, 0.00

Okei, tahan luottaen vaihdoin RH7.1:een 2.2.20:n (meni pelkalla make:lla
ja lilo:lla, ja kaikki vanhat asetukset toimi - oisko ongelmia vasta
edessa). Rautana toimii Telewell:n PCI-kortti eli Winbond 6692 piiri.

Saas nahda, pysyyko paremmin pystyssa. Nyt vois OPOY:n linjoilla rykia ja
paukkua ;)

-Mikko

0 new messages