Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Jul 2012 12:48:24 +0200
From:      Andreas Longwitz <longwitz@incore.de>
To:        Hans Petter Selasky <hselasky@c2i.net>, freebsd-isdn@freebsd.org
Subject:   Re: ISDN4BSD (HPS version) is going into ports
Message-ID:  <5003F178.30100@incore.de>
In-Reply-To: <201207151942.32249.hselasky@c2i.net>
References:  <4FFDB2DE.6010107@incore.de> <201207151942.32249.hselasky@c2i.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Hans

> If you can collect the backtrace from these crashes, that would be nice.

Three examples of backtraces follow, the others are similar. I use
minidumps and ddb with the line
   script kdb.enter.default=watchdog; call doadump; reset
in ddb.conf.

1. example: Default options + SPPP + RBCH, crash on kldload i4b, test PC
without isdn hardware:

kgdb /boot/kernel/kernel vmcore.3
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, ....
...
Unread portion of the kernel message buffer:
i4b: ISDN call control device attached
capi: CAPI call control device attached, v2.11
i4bisppp: 8 ISDN SyncPPP device(s) attached
i4bctl: ISDN system control port attached
i4brbch: 8 raw B channel access device(s) attached
i4btrc: 64 ISDN trace device(s) attached
Physical memory: 995 MB
Dumping 150 MB: 135 119 103 87 71 55 39 23 7

Reading symbols from /boot/kernel/firewire.ko...Reading symbols from
/boot/kernel/firewire.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/firewire.ko
Reading symbols from /boot/kernel/snd_ich.ko...Reading symbols from
/boot/kernel/snd_ich.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/snd_ich.ko
Reading symbols from /boot/kernel/sound.ko...Reading symbols from
/boot/kernel/sound.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/sound.ko
Reading symbols from /boot/kernel/dcons_crom.ko...Reading symbols from
/boot/kernel/dcons_crom.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/dcons_crom.ko
Reading symbols from /boot/kernel/acpi.ko...Reading symbols from
/boot/kernel/acpi.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/acpi.ko
Reading symbols from /boot/kernel/linux.ko...Reading symbols from
/boot/kernel/linux.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linux.ko
Reading symbols from /usr/local/modules/fuse.ko...done.
Loaded symbols for /usr/local/modules/fuse.ko
Reading symbols from /boot/modules/i4b.ko...done.
Loaded symbols for /boot/modules/i4b.ko
#0  doadump () at pcpu.h:244
244     #endif /* !_MACHINE_PCPU_H_ */
Loading gdb init file /home/crash/.gdbinit ...
set height 100 ...
source gdb6 (and gdb6.i386) ...
source mygdb6 ...
Working directory /home/crash.

(kgdb) where
#0  doadump () at pcpu.h:244
#1  0xc04b3269 in db_fncall (dummy1=0, dummy2=0, dummy3=0,
dummy4=0xe734e890 "¤è4ç")
    at /usr/src/sys/ddb/db_command.c:548
#2  0xc04b369f in db_command (last_cmdp=0xc09a917c, cmd_table=0x0,
dopager=0) at /usr/src/sys/ddb/db_command.c:445
#3  0xc04b3754 in db_command_script (command=0xc09aa04a "call doadump")
at /usr/src/sys/ddb/db_command.c:516
#4  0xc04b7680 in db_script_exec (scriptname=0xc090886e
"kdb.enter.default", warnifnotfound=Variable "warnifnotfound" is not
available.)    at /usr/src/sys/ddb/db_script.c:302
#5  0xc04b777b in db_script_kdbenter (eventname=0xc0946305 "unknown") at
/usr/src/sys/ddb/db_script.c:325
#6  0xc04b5708 in db_trap (type=10, code=0) at
/usr/src/sys/ddb/db_main.c:230
#7  0xc063abb8 in kdb_trap (type=10, code=0, tf=0xe734eadc) at
/usr/src/sys/kern/subr_kdb.c:654
#8  0xc08b85fe in trap (frame=0xe734eadc) at
/usr/src/sys/i386/i386/trap.c:710
#9  0xc089e96c in calltrap () at /usr/src/sys/i386/i386/exception.s:168
#10 0xc64df633 in ?? ()
Previous frame inner to this frame (corrupt stack?)i

2. example: crash on kldunload, server with isdn hardware
Relevant Information from messages:

Jul  5 08:58:44 <kern.crit> loserver kernel: pci6: <network, ISDN> at
device 1.0 (no driver attached)

Jul  9 21:20:39 <kern.crit> loserver kernel: KLD i4b.ko: depends on
netgraph - not available or version mismatch

Jul  9 21:37:44 <kern.crit> loserver kernel: bus_dmamem_alloc failed to
align memory properly.
Jul  9 21:37:44 <kern.crit> loserver kernel: ihfc0: <HFC-2BDS0 128K PCI
ISDN adapter> port 0xbc00-0xbc07 mem 0xff532000
-0xff5320ff irq 22 at device 1.0 on pci6
Jul  9 21:37:44 <kern.crit> loserver kernel: ihfc0: [ITHREAD]
Jul  9 21:37:44 <kern.crit> loserver kernel: ihfc0: Attaching I4B
controller 0.
Jul  9 21:37:44 <kern.crit> loserver kernel: ihfc0: Creating /dev/ihfc0.X.
Jul  9 21:37:44 <kern.crit> loserver kernel: capi: CAPI call control
device attached, v2.11
Jul  9 21:37:44 <kern.crit> loserver kernel: i4btel: 8 ISDN telephony
interface device(s) attached
Jul  9 21:37:44 <kern.crit> loserver kernel: i4bctl: ISDN system control
port attached
Jul  9 21:37:44 <kern.crit> loserver kernel: iloop0: I4B Loopback device
(attached)
Jul  9 21:37:44 <kern.crit> loserver kernel: i4b: Attaching I4B
controller 63.
Jul  9 21:37:44 <kern.crit> loserver kernel: i4bipr: 8 IP over raw HDLC
ISDN device(s) attached (VJ header compression)
Jul  9 21:37:44 <kern.crit> loserver kernel: i4b: ISDN call control
device attached
Jul  9 21:37:44 <kern.crit> loserver kernel: i4brbch: 8 raw B channel
access device(s) attached
Jul  9 21:37:44 <kern.crit> loserver kernel: i4btrc: 64 ISDN trace
device(s) attached

Information from vmcore by kgdb:
Unread portion of the kernel message buffer:
ihfc0: detached
pci6: <network, ISDN> at device 1.0 (no driver attached)
iloop0: I4B Loopback device (attached)
i4b: Attaching I4B controller 62.
kernel trap 12 with interrupts disabled

Fatal trap 12: page fault while in kernel mode
cpuid = 1; apic id = 01
fault virtual address   = 0xcd28f26c
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0xc0624752
stack pointer           = 0x28:0xc5343c28
frame pointer           = 0x28:0xc5343c8c
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = resume, IOPL = 0
current process         = 11 (swi4: clock)

(kgdb) where
#0  doadump () at pcpu.h:244
#1  0xc04bc079 in db_fncall (dummy1=0, dummy2=0, dummy3=0,
dummy4=0xc5343918 ",94Å")
    at /usr/src/sys/ddb/db_command.c:548
#2  0xc04bc4af in db_command (last_cmdp=0xc0988e1c, cmd_table=0x0,
dopager=0) at /usr/src/sys/ddb/db_command.c:445
#3  0xc04bc564 in db_command_script (command=0xc0989cea "call doadump")
at /usr/src/sys/ddb/db_command.c:516
#4  0xc04c0490 in db_script_exec (scriptname=0xc08ec23f
"kdb.enter.default", warnifnotfound=Variable "warnifnotfound" is not
available.)    at /usr/src/sys/ddb/db_script.c:302
#5  0xc04c058b in db_script_kdbenter (eventname=0xc0927275 "unknown") at
/usr/src/sys/ddb/db_script.c:325
#6  0xc04be518 in db_trap (type=12, code=0) at
/usr/src/sys/ddb/db_main.c:230
#7  0xc0641308 in kdb_trap (type=12, code=0, tf=0xc5343be8) at
/usr/src/sys/kern/subr_kdb.c:654
#8  0xc089b17f in trap_fatal (frame=0xc5343be8, eva=3442012780) at
/usr/src/sys/i386/i386/trap.c:1000
#9  0xc089b235 in trap_pfault (frame=0xc5343be8, usermode=0,
eva=3442012780) at /usr/src/sys/i386/i386/trap.c:834
#10 0xc089bf93 in trap (frame=0xc5343be8) at
/usr/src/sys/i386/i386/trap.c:546
#11 0xc08824ec in calltrap () at /usr/src/sys/i386/i386/exception.s:168
#12 0xc0624752 in softclock (arg=0xc09a4360) at
/usr/src/sys/kern/kern_timeout.c:443
#13 0xc05e6d3b in intr_event_execute_handlers (p=0xc5544810,
ie=0xc5542680) at /usr/src/sys/kern/kern_intr.c:1219
#14 0xc05e83fb in ithread_loop (arg=0xc54f6930) at
/usr/src/sys/kern/kern_intr.c:1232
#15 0xc05e3b87 in fork_exit (callout=0xc05e8390 <ithread_loop>,
arg=0xc54f6930, frame=0xc5343d28)
    at /usr/src/sys/kern/kern_fork.c:876

3. example: the same server crashes after kldunload and an ifconfig
command, after output of the linei
  isp0: flags=a011<UP,POINTOPOINT,LINK1,MULTICAST> metric 0 mtu 1500

Unread portion of the kernel message buffer:

Fatal trap 12: page fault while in kernel mode
cpuid = 1; apic id = 01
fault virtual address   = 0xcc387630
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0xcc387630
stack pointer           = 0x28:0xe810db20
frame pointer           = 0x28:0xe810dbe8
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 81670 (ifconfig)
Physical memory: 2030 MB
Dumping 249 MB: 234 218 202 186 170 154 138 122 106 90 74 58 42 26 10
...
(kgdb) where
#0  doadump () at pcpu.h:244
#1  0xc04bc079 in db_fncall (dummy1=0, dummy2=0, dummy3=0,
dummy4=0xe810d810 "$Ø\020è")
    at /usr/src/sys/ddb/db_command.c:548
#2  0xc04bc4af in db_command (last_cmdp=0xc0988e1c, cmd_table=0x0,
dopager=0) at /usr/src/sys/ddb/db_command.c:445
#3  0xc04bc564 in db_command_script (command=0xc0989cea "call doadump")
at /usr/src/sys/ddb/db_command.c:516
#4  0xc04c0490 in db_script_exec (scriptname=0xc08ec23f
"kdb.enter.default", warnifnotfound=Variable "warnifnotfound" is not
available.)    at /usr/src/sys/ddb/db_script.c:302
#5  0xc04c058b in db_script_kdbenter (eventname=0xc0927275 "unknown") at
/usr/src/sys/ddb/db_script.c:325
#6  0xc04be518 in db_trap (type=12, code=0) at
/usr/src/sys/ddb/db_main.c:230
#7  0xc0641308 in kdb_trap (type=12, code=0, tf=0xe810dae0) at
/usr/src/sys/kern/subr_kdb.c:654
#8  0xc089b17f in trap_fatal (frame=0xe810dae0, eva=3426252336) at
/usr/src/sys/i386/i386/trap.c:1000
#9  0xc089b4ae in trap_pfault (frame=0xe810dae0, usermode=0,
eva=3426252336) at /usr/src/sys/i386/i386/trap.c:922
#10 0xc089bf93 in trap (frame=0xe810dae0) at
/usr/src/sys/i386/i386/trap.c:546
#11 0xc08824ec in calltrap () at /usr/src/sys/i386/i386/exception.s:168
#12 0xcc387630 in ?? ()
Previous frame inner to this frame (corrupt stack?)

By the way, the output of kldxref in /boot/modules is
./i4b.ko
  interface ihfcpnp.1
  depends on usb.1 (1,1)
  depends on pci.1 (1,1)
  depends on isa.1 (1,1)
  module ihfcpnp_uhub
  depends on kernel.803500 (803500,899999)
  module ihfcpnp_pci
  depends on kernel.803500 (803500,899999)
  module ihfcpnp_isa
  depends on kernel.803500 (803500,899999)
  depends on ihfcpnp.1 (1,1)
  depends on usb.1 (1,1)
  module yealink_uhub
  depends on kernel.803500 (803500,899999)
  depends on sppp.1 (1,1)
  interface i4bisppp.1

Is that what you expect ? I would expect a line
  interface yealink.1
but probably I am wrong.

> I believe the SPPP functionality has not been tested for a while. I'm currently 
> using I4B mostly for voice.

OK. I will try to check the sppp problem for incoming calls.

Andreas Longwitz




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5003F178.30100>