Date: Tue, 22 Sep 2009 09:51:45 -0300 From: Raphael Kubo da Costa <kubito@gmail.com> To: "Paul B. Mahol" <onemda@gmail.com> Cc: freebsd-current@freebsd.org Subject: Re: 8.0RC1 - Kernel panic when loading a ndisgen-generated module (rtl8180_sys) Message-ID: <68c3445d0909220551k33973d38iccf20c030a00b6c8@mail.gmail.com> In-Reply-To: <3a142e750909220343k153daac0xc00099fc09c176ac@mail.gmail.com> References: <68c3445d0909212153rf19ec23p81ecc0a070f6d594@mail.gmail.com> <3a142e750909220343k153daac0xc00099fc09c176ac@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
2009/9/22 Paul B. Mahol <onemda@gmail.com>: > On 9/22/09, Raphael Kubo da Costa <kubito@gmail.com> wrote: >> Hi there, >> >> I'm not sure this is the proper place to send this, so please tell me >> if I should send this mail to another mailing list or file a PR about >> this. >> >> I used freebsd-update to upgrade from 7.2-RELEASE-p3 to 8.0-RC1. >> Everything went fine, but I had to regenerate my wireless card >> (Realtek RTL8180L) module with ndisgen. However, when I load the >> generated module with kldload I get a kernel panic and the system >> reboots. I also have a 67mb vmcore; I can try to make it available if >> needed. > > You are saying that it worked without problems on 7.2? Yes, until this upgrade everything worked fine. > There were very little changes with sys/compat/ndis between that two vers= ions > so if problem really exist it must be somewhere in if_ndis module. > Are you sure that complete world and kernel are in sync? I think so; I've followed http://www.daemonology.net/blog/2009-07-11-freebsd-update-to-8.0-beta1.html and ran "freebsd-update -r 8.0-RC1 upgrade", "freebsd-update install", rebooted, reran "freebsd-update install", rebooted and ran ndisgen. > And you really did loaded regenerated module? Yes, I ran ndisgen and used kldload to load the generated module and besides I copied the module to /boot/modules and tried loading it after the kernel panics. >> >> I'll paste some sections from core.txt; I can attach the whole file if y= ou >> want. >> >> ----------- >> >> Unread portion of the kernel message buffer: >> >> >> Fatal trap 12: page fault while in kernel mode >> cpuid =3D 0; apic id =3D 00 >> fault virtual address =3D 0xc4ea831a >> fault code =A0 =A0 =A0 =A0 =A0 =A0=3D supervisor read, page not present >> instruction pointer =A0 =3D 0x20:0xc4df96b3 >> stack pointer =A0 =A0 =A0 =A0 =3D 0x28:0xe3744a44 >> frame pointer =A0 =A0 =A0 =A0 =3D 0x28:0xe3744aac >> code segment =A0 =A0 =A0 =A0 =A0=3D base 0x0, limit 0xfffff, type 0x1b >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =3D DPL 0, pres 1, def32 1, = gran 1 >> processor eflags =A0 =A0 =A0=3D interrupt enabled, resume, IOPL =3D 0 >> current process =A0 =A0 =A0 =A0 =A0 =A0 =A0 =3D 1110 (ifconfig) >> trap number =A0 =A0 =A0 =A0 =A0 =3D 12 >> panic: page fault >> cpuid =3D 0 >> Uptime: 36s >> Physical memory: 883 MB >> Dumping 67 MB: 52 36 20 4 >> >> Reading symbols from /boot/kernel/snd_hda.ko...Reading symbols from >> /boot/kernel/snd_hda.ko.symbols...done. >> done. >> Loaded symbols for /boot/kernel/snd_hda.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/linprocfs.ko...Reading symbols from >> /boot/kernel/linprocfs.ko.symbols...done. >> done. >> Loaded symbols for /boot/kernel/linprocfs.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 /boot/kernel/reiserfs.ko...Reading symbols from >> /boot/kernel/reiserfs.ko.symbols...done. >> done. >> Loaded symbols for /boot/kernel/reiserfs.ko >> Reading symbols from /boot/kernel/logo_saver.ko...Reading symbols from >> /boot/kernel/logo_saver.ko.symbols...done. >> done. >> Loaded symbols for /boot/kernel/logo_saver.ko >> Reading symbols from /boot/modules/rtl8180_sys.ko...done. >> Loaded symbols for /boot/modules/rtl8180_sys.ko >> Reading symbols from /boot/kernel/if_ndis.ko...Reading symbols from >> /boot/kernel/if_ndis.ko.symbols...done. >> done. >> Loaded symbols for /boot/kernel/if_ndis.ko >> Reading symbols from /boot/kernel/ndis.ko...Reading symbols from >> /boot/kernel/ndis.ko.symbols...done. >> done. >> Loaded symbols for /boot/kernel/ndis.ko >> #0 =A0doadump () at pcpu.h:246 >> 246 =A0 pcpu.h: No such file or directory. >> =A0 =A0 =A0 in pcpu.h >> (kgdb) #0 =A0doadump () at pcpu.h:246 >> #1 =A00xc08823c7 in boot (howto=3D260) at /usr/src/sys/kern/kern_shutdow= n.c:416 >> #2 =A00xc08826b9 in panic (fmt=3DVariable "fmt" is not available. >> ) at /usr/src/sys/kern/kern_shutdown.c:579 >> #3 =A00xc0bb346c in trap_fatal (frame=3D0xe3744a04, eva=3D3303703322) >> =A0 =A0 at /usr/src/sys/i386/i386/trap.c:933 >> #4 =A00xc0bb36f0 in trap_pfault (frame=3D0xe3744a04, usermode=3D0, eva= =3D3303703322) >> =A0 =A0 at /usr/src/sys/i386/i386/trap.c:846 >> #5 =A00xc0bb40d5 in trap (frame=3D0xe3744a04) at >> /usr/src/sys/i386/i386/trap.c:528 >> #6 =A00xc0b96a4b in calltrap () at /usr/src/sys/i386/i386/exception.s:16= 5 >> #7 =A00xc4df96b3 in ndis_rtl8180_sys_drv_data_start () >> =A0 =A0from /boot/modules/rtl8180_sys.ko >> Previous frame inner to this frame (corrupt stack?) >> (kgdb) >> >> >> ------ Last lines from dmesg -------- >> Tue Sep 22 01:02:49 BRT 2009 >> Sep 22 01:02:55 borges login: ROOT LOGIN (root) ON ttyv0 >> warning: KLD '/boot/modules/rtl8180_sys.ko' is newer than the linker.hin= ts >> file >> ndis0: <Realtek RTL8180 Wireless LAN (Mini-)PCI NIC> port >> 0xe800-0xe8ff mem 0xdffffc00-0xdffffcff irq 16 at device 6.0 on pci1 >> ndis0: [ITHREAD] >> ndis0: NDIS API version: 5.1 >> ifa_add_loopback_route: insertion failed > > Try to enable debug.ndis sysctl. And then paste the same sections here? >> >> Fatal trap 12: page fault while in kernel mode >> cpuid =3D 0; apic id =3D 00 >> fault virtual address =3D 0xc4ea831a >> fault code =A0 =A0 =A0 =A0 =A0 =A0=3D supervisor read, page not present >> instruction pointer =A0 =3D 0x20:0xc4df96b3 >> stack pointer =A0 =A0 =A0 =A0 =3D 0x28:0xe3744a44 >> frame pointer =A0 =A0 =A0 =A0 =3D 0x28:0xe3744aac >> code segment =A0 =A0 =A0 =A0 =A0=3D base 0x0, limit 0xfffff, type 0x1b >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =3D DPL 0, pres 1, def32 1, = gran 1 >> processor eflags =A0 =A0 =A0=3D interrupt enabled, resume, IOPL =3D 0 >> current process =A0 =A0 =A0 =A0 =A0 =A0 =A0 =3D 1110 (ifconfig) > > What commands are to reproduce this? # kldload rtl8180_sys >> trap number =A0 =A0 =A0 =A0 =A0 =3D 12 >> panic: page fault >> cpuid =3D 0 >> Uptime: 36s >> Physical memory: 883 MB >> Dumping 67 MB: 52 36 20 4 >> >> ------------------------------------------------------------------------ >> kernel config >> >> config: File /boot/kernel/kernel doesn't contain configuration file. >> Either unsupported, or not compiled with INCLUDE_CONFIG_FILE
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?68c3445d0909220551k33973d38iccf20c030a00b6c8>