From owner-freebsd-current@FreeBSD.ORG Tue Sep 22 21:20:45 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8B7321065679 for ; Tue, 22 Sep 2009 21:20:45 +0000 (UTC) (envelope-from onemda@gmail.com) Received: from mail-bw0-f227.google.com (mail-bw0-f227.google.com [209.85.218.227]) by mx1.freebsd.org (Postfix) with ESMTP id 09CA98FC23 for ; Tue, 22 Sep 2009 21:20:44 +0000 (UTC) Received: by bwz27 with SMTP id 27so111451bwz.43 for ; Tue, 22 Sep 2009 14:20:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=zSTDknlBhB1lUyCGnolr8X7KZDcHkkhMSAlx251b/34=; b=ehLYIbzfn+2XfoHywQQWUAGhsTmyyJaOg2vloJRPsePrekPVgAj5uIRYmMcHU4obZP G5VYzmlBFHhf/M/dBvglwpcojlpqHK7mbKi1vRYYs1ckIYR+IwjFNhdHYSVWus2D9XST AvJY+8GrJIW9gJn/85yuqLw9oF6YMcZBPFcFc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=ZAS3kCXrW8ZoCWY8GzalMFES3oSnHW57P1ELNfx+m898vQDZM4OkMIHDdp8+akgkcA YUFXrb8Rkw06fDoKzXWcNcoTD5U0uSzb9q6vXvRM7doPyLW5oI0m9Zyx3GYVvpE7sigR KOAEMvhAxVbh2gGOspY7b4rjTC/ViQ9V79/Sc= MIME-Version: 1.0 Received: by 10.103.125.17 with SMTP id c17mr579979mun.16.1253654443791; Tue, 22 Sep 2009 14:20:43 -0700 (PDT) In-Reply-To: <68c3445d0909220551k33973d38iccf20c030a00b6c8@mail.gmail.com> References: <68c3445d0909212153rf19ec23p81ecc0a070f6d594@mail.gmail.com> <3a142e750909220343k153daac0xc00099fc09c176ac@mail.gmail.com> <68c3445d0909220551k33973d38iccf20c030a00b6c8@mail.gmail.com> Date: Tue, 22 Sep 2009 23:20:43 +0200 Message-ID: <3a142e750909221420m29ae8302t71ed9558c77542f4@mail.gmail.com> From: "Paul B. Mahol" To: Raphael Kubo da Costa Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-current@freebsd.org Subject: Re: 8.0RC1 - Kernel panic when loading a ndisgen-generated module (rtl8180_sys) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Sep 2009 21:20:45 -0000 On 9/22/09, Raphael Kubo da Costa wrote: > 2009/9/22 Paul B. Mahol : >> On 9/22/09, Raphael Kubo da Costa 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 >> versions >> 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. Once more, ndisgen(ndiscvt) requires correct kernel sources to make working kernel module. For example you _must_ have 8.0-RC1 in /src and not some other version. > >> 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 >>> you >>> want. >>> >>> ----------- >>> >>> Unread portion of the kernel message buffer: >>> >>> >>> Fatal trap 12: page fault while in kernel mode >>> cpuid = 0; apic id = 00 >>> fault virtual address = 0xc4ea831a >>> fault code = supervisor read, page not present >>> instruction pointer = 0x20:0xc4df96b3 >>> stack pointer = 0x28:0xe3744a44 >>> frame pointer = 0x28:0xe3744aac >>> 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 = 1110 (ifconfig) >>> trap number = 12 >>> panic: page fault >>> cpuid = 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 doadump () at pcpu.h:246 >>> 246 pcpu.h: No such file or directory. >>> in pcpu.h >>> (kgdb) #0 doadump () at pcpu.h:246 >>> #1 0xc08823c7 in boot (howto=260) at >>> /usr/src/sys/kern/kern_shutdown.c:416 >>> #2 0xc08826b9 in panic (fmt=Variable "fmt" is not available. >>> ) at /usr/src/sys/kern/kern_shutdown.c:579 >>> #3 0xc0bb346c in trap_fatal (frame=0xe3744a04, eva=3303703322) >>> at /usr/src/sys/i386/i386/trap.c:933 >>> #4 0xc0bb36f0 in trap_pfault (frame=0xe3744a04, usermode=0, >>> eva=3303703322) >>> at /usr/src/sys/i386/i386/trap.c:846 >>> #5 0xc0bb40d5 in trap (frame=0xe3744a04) at >>> /usr/src/sys/i386/i386/trap.c:528 >>> #6 0xc0b96a4b in calltrap () at /usr/src/sys/i386/i386/exception.s:165 >>> #7 0xc4df96b3 in ndis_rtl8180_sys_drv_data_start () >>> from /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.hints >>> file >>> ndis0: 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? You can post newly introduced messages.(aka diff) >>> >>> Fatal trap 12: page fault while in kernel mode >>> cpuid = 0; apic id = 00 >>> fault virtual address = 0xc4ea831a >>> fault code = supervisor read, page not present >>> instruction pointer = 0x20:0xc4df96b3 >>> stack pointer = 0x28:0xe3744a44 >>> frame pointer = 0x28:0xe3744aac >>> 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 = 1110 (ifconfig) >> >> What commands are to reproduce this? > # kldload rtl8180_sys But up there is ifconfig mentioned so I need exact way to reproduce it because backtrace is misleading. -- Paul