From owner-freebsd-current@FreeBSD.ORG Sun Dec 21 08:29:20 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 145AB16A4CE; Sun, 21 Dec 2003 08:29:20 -0800 (PST) Received: from mailbox.univie.ac.at (mail.univie.ac.at [131.130.1.27]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4B2F143D45; Sun, 21 Dec 2003 08:29:16 -0800 (PST) (envelope-from l.ertl@univie.ac.at) Received: from wireless (adslle.cc.univie.ac.at [131.130.102.11]) hBLGT7m2447300; Sun, 21 Dec 2003 17:29:09 +0100 Date: Sun, 21 Dec 2003 17:29:04 +0100 (CET) From: Lukas Ertl To: current@freebsd.org, wpaul@freebsd.org Message-ID: <20031221172213.W605@korben.in.tern> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE X-DCC-ZID-Univie-Metrics: mailbox 4246; Body=0 Fuz1=0 Fuz2=0 Subject: if_ndis panic when setting IP address X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 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: Sun, 21 Dec 2003 16:29:20 -0000 Hi, with the latest ndis commits 802.11 support should be better, nevertheless I get a panic when setting an IP address with ifconfig. if_ndis loads fine: ndis0: mem 0xc0200000-= 0xc0200fff irq 11 at device 2.0 on pci2 ndis0: failed to enable port mapping! ndis0: failed to enable port mapping! can't re-use a leaf (ESS_ID)! no match for NdisUnchainBufferAtBack no match for NdisGetFirstBufferFromPacketSafe status: 400100fe status complete status: 4001000c status complete ndis0: 802.11 address: 00:04:23:7e:d9:98 ndis0: 11b rates: 11Mbps 2Mbps 1Mbps NDIS dummy called... last message repeated 50 times reset done... NDIS dummy called... last message repeated 1051 times The panic happens in ndis_query_buf_safe+0xc, which is unfortunately not saved in the gdb backtrace, but it looks like a NULL pointer dereference: GNU gdb 5.2.1 (FreeBSD) Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you ar= e welcome to change it and/or distribute copies of it under certain condition= s. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-undermydesk-freebsd"... panic messages: --- Fatal trap 12: page fault while in kernel mode fault virtual address=09=3D 0x0 fault code=09=09=3D supervisor write, page not present instruction pointer=09=3D 0x8:0xc4cb926c stack pointer=09 =3D 0x10:0xd77bb690 frame pointer=09 =3D 0x10:0xd77bb690 code segment=09=09=3D base 0x0, limit 0xfffff, type 0x1b =09=09=09=3D DPL 0, pres 1, def32 1, gran 1 processor eflags=09=3D interrupt enabled, resume, IOPL =3D 0 current process=09=09=3D 22 (irq11: cbb0 fxp0+) Dumping 511 MB 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 272 288 304 320 = 336 352 368 384 400 416 432 448 464 480 496 --- Reading symbols from /usr/obj/usr/src/sys/KORBEN/modules/usr/src/sys/module= s/acpi/acpi.ko.debug...done. Loaded symbols for /usr/obj/usr/src/sys/KORBEN/modules/usr/src/sys/modules/= acpi/acpi.ko.debug Reading symbols from /usr/obj/usr/src/sys/KORBEN/modules/usr/src/sys/module= s/linux/linux.ko.debug...done. Loaded symbols for /usr/obj/usr/src/sys/KORBEN/modules/usr/src/sys/modules/= linux/linux.ko.debug Reading symbols from /usr/obj/usr/src/sys/KORBEN/modules/usr/src/sys/module= s/ndis/ndis.ko.debug...done. Loaded symbols for /usr/obj/usr/src/sys/KORBEN/modules/usr/src/sys/modules/= ndis/ndis.ko.debug Reading symbols from /boot/kernel/if_ndis.ko...done. Loaded symbols for /boot/kernel/if_ndis.ko #0 doadump () at /usr/src/sys/kern/kern_shutdown.c:240 240=09=09dumping++; (kgdb) where #0 doadump () at /usr/src/sys/kern/kern_shutdown.c:240 #1 0xc044c4c5 in db_fncall (dummy1=3D0, dummy2=3D0, dummy3=3D0, dummy4=3D0xd77bb498 "=C0=A1t=C0\f") at /usr/src/sys/ddb/db_command.c:54= 8 #2 0xc044c212 in db_command (last_cmdp=3D0xc0749860, cmd_table=3D0x0, aux_cmd_tablep=3D0xc06ff7e0, aux_cmd_tablep_end=3D0xc06ff7e4) at /usr/src/sys/ddb/db_command.c:346 #3 0xc044c355 in db_command_loop () at /usr/src/sys/ddb/db_command.c:472 #4 0xc044f375 in db_trap (type=3D12, code=3D0) at /usr/src/sys/ddb/db_trap= =2Ec:73 #5 0xc06966dc in kdb_trap (type=3D12, code=3D0, regs=3D0xd77bb650) at /usr/src/sys/i386/i386/db_interface.c:171 #6 0xc06aa606 in trap_fatal (frame=3D0xd77bb650, eva=3D0) at /usr/src/sys/i386/i386/trap.c:816 #7 0xc06aa2d2 in trap_pfault (frame=3D0xd77bb650, usermode=3D0, eva=3D0) at /usr/src/sys/i386/i386/trap.c:735 #8 0xc06a9e2d in trap (frame=3D {tf_fs =3D 24, tf_es =3D 16, tf_ds =3D 16, tf_edi =3D -990359552, tf_= esi =3D 0, tf_ebp =3D -679758192, tf_isp =3D -679758212, tf_ebx =3D -990359= 552, tf_edx =3D -1043124778, tf_ecx =3D -988330848, tf_eax =3D 0, tf_trapno= =3D 12, tf_err =3D 2, tf_eip =3D -993291668, tf_cs =3D 8, tf_eflags =3D 66= 118, tf_esp =3D -679758048, tf_ss =3D -992711837}) at /usr/src/sys/i386/i386/trap.c:420 #9 0xc0698088 in calltrap () at {standard input}:94 #10 0xc4d46b63 in drv_data () from /boot/kernel/if_ndis.ko #11 0xc4d46284 in drv_data () from /boot/kernel/if_ndis.ko #12 0xc4d46f0c in drv_data () from /boot/kernel/if_ndis.ko #13 0xc4d4712f in drv_data () from /boot/kernel/if_ndis.ko #14 0xc4d31170 in drv_data () from /boot/kernel/if_ndis.ko #15 0xc4cbb1f8 in ndis_init_dma (arg=3D0xc4f85000) at /usr/src/sys/compat/ndis/kern_ndis.c:669 #16 0xc4ccb6a9 in ndis_start (ifp=3D0xc4f85000) at /usr/src/sys/dev/if_ndis/if_ndis.c:944 #17 0xc4ccb118 in ndis_linksts (adapter=3D0x0, status=3D0, sbuf=3D0x0, slen= =3D0) at /usr/src/sys/dev/if_ndis/if_ndis.c:731 #18 0xc4d3a47b in drv_data () from /boot/kernel/if_ndis.ko #19 0xc4d31b14 in drv_data () from /boot/kernel/if_ndis.ko #20 0xc4d47cda in drv_data () from /boot/kernel/if_ndis.ko ---Type to continue, or q to quit--- #21 0xc4d44253 in drv_data () from /boot/kernel/if_ndis.ko #22 0xc4d43997 in drv_data () from /boot/kernel/if_ndis.ko #23 0xc4d44f12 in drv_data () from /boot/kernel/if_ndis.ko #24 0xc4d45067 in drv_data () from /boot/kernel/if_ndis.ko #25 0xc4cbb5f3 in ndis_get_info (arg=3D0x0, oid=3D0, buf=3D0x0, buflen=3D0x= c4f85000) at /usr/src/sys/compat/ndis/kern_ndis.c:942 #26 0xc4ccb1a9 in ndis_intr (arg=3D0xc4f85000) at /usr/src/sys/dev/if_ndis/if_ndis.c:768 #27 0xc0526c68 in ithread_loop (arg=3D0xc1d1a800) at /usr/src/sys/kern/kern_intr.c:544 #28 0xc05258e0 in fork_exit (callout=3D0xc0526a90 , arg=3D0x0= , frame=3D0x0) at /usr/src/sys/kern/kern_fork.c:793 (kgdb) quit regards, le --=20 Lukas Ertl eMail: l.ertl@univie.ac.at UNIX Systemadministrator Tel.: (+43 1) 4277-14073 Vienna University Computer Center Fax.: (+43 1) 4277-9140 University of Vienna http://mailbox.univie.ac.at/~le/