kernel crash on Intel 386EX

Philippe Gerum rpm at xenomai.org
Mon Oct 11 12:09:40 CEST 2004


On Mon, 2004-10-11 at 11:45, Edelhard Becker wrote:
> Hi,
> 
> we now have a kernel (2.6.8, rather minimal configuration due to
> limited resources of course) and RTAI modules (3.1) for a 386 (16MB
> RAM, no swap).  rtai_hal.ko loads fine, but when loading rtai_lxrt.ko
> the kernel crashes:
> 
> | Adeos: Domain RTAI registered.
> | RTAI[hal]: 3.1 mounted over Adeos 2.6r7/x86.
> | RTAI[hal]: compiled with gcc version 3.3.5 (Debian 1:3.3.5-1).
> | RTAI[malloc]: loaded (global heap size=131072 bytes).
> | Unable to handle kernel paging request at virtual address d5902e22
> |  printing eip:
> | c011035b
> | *pde = 00000000
> | Oops: 0000 [#1]
> | PREEMPT
> | Modules linked in: rtai_lxrt rtai_hal
> | CPU:    0
> | EIP:    0060:[<c011035b>]    Not tainted
> | EFLAGS: 00010883   (2.6.8-386ex)
> | EIP is at do_page_fault+0x3b/0x4b7
> | eax: c05bc000   ebx: 00000000   ecx: 0000007b   edx: 0000007b
> | esi: d5902dba   edi: c0110320   ebp: 746961df   esp: c05bdf98
> | ds: 007b   es: 007b   ss: 0068
> | Adeos domain RTAI
> | Stack: 61685f6c 656c646e 74720072 7465675f 00030001 6769726f 00000000 00000000
> |        00000000 00000000 745f7472 5f6b7361 656b616d 7265705f 69646f69 65725f63
> |        6974616c 6e5f6576 74720073 7361745f 616d5f6b 705f656b 6f697265 c05be004
> | Call Trace:
> | Not executing in the root domain, no trace available
> | Code: 8b 56 68 89 54 24 04 8b 50 14 8b 00 8b 40 14 f7 d0 81 e2 ff
> |  <0>Kernel panic: Fatal exception in interrupt
> | In interrupt handler - not syncing
> |  <4>Adeos: Current domain=RTAI on CPU #0 [stackbase=c052a000]
> |     RTAI[cpuid=0]: priority=200, status=0x0, pending_hi=0x0
> |    Linux[cpuid=0]: priority=100, status=0x0, pending_hi=0x3
> 
> Does anybody have an idea in which direction to search/debug for the
> problem?  Some more info about the hardware:
> 

Likely a page fault over RTAI which ends up confusing Linux when trying
to solve it later in do_page_fault(). To catch the initial failure, try
adding the following debug to the very beginning of
arch/i386/mm/fault.c:do_page_fault():

#include<linux/kallsyms.h>

if (adp_current != adp_root)	{
	adeos_set_printk_sync(adp_current);
	print_symbol("OOPS: fault over domain RTAI, eip = %s\n",regs->eip);
}

> | # cat /proc/cpuinfo /proc/devices /proc/interrupts /proc/meminfo
> | processor       : 0
> | vendor_id       : unknown
> | cpu family      : 3
> | model           : 0
> | model name      : 386
> | stepping        : unknown
> | fdiv_bug        : no
> | hlt_bug         : no
> | f00f_bug        : no
> | coma_bug        : no
> | fpu             : no
> | fpu_exception   : no
> | cpuid level     : -1
> | wp              : no
> | flags           :
> | bogomips        : 8.19
> | 
> | Character devices:
> |   1 mem
> |   2 pty
> |   3 ttyp
> |   4 /dev/vc/0
> |   4 tty
> |   4 ttyS
> |   5 /dev/tty
> |   5 /dev/console
> |   5 /dev/ptmx
> |   7 vcs
> |  10 misc
> |  13 input
> | 128 ptm
> | 136 pts
> | 254 devfs
> | 
> | Block devices:
> |   1 ramdisk
> |   3 hd
> |            CPU0
> |   0:     390536          XT-PIC  timer
> |   2:          0          XT-PIC  cascade
> |   3:       1743          XT-PIC  serial
> |  12:      12642          XT-PIC  eth0
> |  14:          8          XT-PIC  hd
> | NMI:          0
> | ERR:          0
> | MemTotal:        13888 kB
> | MemFree:          2736 kB
> | Buffers:             0 kB
> | Cached:           6676 kB
> | SwapCached:          0 kB
> | Active:           6772 kB
> | Inactive:         1948 kB
> | HighTotal:           0 kB
> | HighFree:            0 kB
> | LowTotal:        13888 kB
> | LowFree:          2736 kB
> | SwapTotal:           0 kB
> | SwapFree:            0 kB
> | Dirty:               0 kB
> | Writeback:           0 kB
> | Mapped:           4792 kB
> | Slab:             2104 kB
> | Committed_AS:     5424 kB
> | PageTables:        124 kB
> | VmallocTotal:  1023976 kB
> | VmallocUsed:         8 kB
> | VmallocChunk:  1023968 kB
> | #
> 
> Thanks and greetings,
> Edelhard Becker
-- 

Philippe.





More information about the Rtai mailing list