NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/44144 (ifconfig causes assertion failure in vfs_lookup.c)
The following reply was made to PR kern/44144; it has been noted by GNATS.
From: Alan Barrett <apb%cequrux.com@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: kern/44144 (ifconfig causes assertion failure in vfs_lookup.c)
Date: Thu, 23 Dec 2010 20:44:40 +0200
On Fri, 26 Nov 2010, David Holland wrote:
> > Now I get "ERROR: wpi0: could not read firmware file" on the console
> > (printed by line 1150 of if_wpi.c), and the system enters ddb.
> >
> > I have /usr/pkg/libdata/if_wpi/iwlwifi-3945.ucode but, because
> > this was a new kernel with an old userland, I do not have
> > /libdata/firmware/if_wpi/iwlwifi-3945.ucode.
>
> That appears to be progress, anyway...
Sorry, I was wrong about that. I have both
/usr/pkg/libdata/if_wpi/iwlwifi-3945.ucode and
/libdata/firmware/if_wpi/iwlwifi-3945.ucode in the chroot in which
ifconfig was running (which most of userland thinks of as the root file
system, through the use of sysctl init.chroot), but I don't have them
in what the kernel thinks of as the root file system (which is a small
memory disk). My old kernel (5.99.27) is able to load the firmware.
> > Instead of entering ddb, I think the system should return the error in a
> > way that allows userland to print a sensible message.
>
> Certainly. Where's it entering ddb?
$ sudo -s
sudo password:
# ifconfig wpi0 up
wpi0: ERROR: could not read firmware file
uvm_fault(0xcf02292c, 0, 2) -> 0xe
fatal page fault in supervisor mode
trap type 6 code 2 eip c010ce0acs 8 eflags 10246 cr2 0 ilevel 6
kernel: supervisor trap page fault, code=0
Stopped in pid 1173.1 (ifconfig) at netbsd:mutex_enter+0xa: lock cmpxchgl
%
ecx,0(%edx)
db{1}> bt
mutex_enter ...
vn_close ...
firmware_close ...
wpi_init ...
ether_ioctl ...
ieee80211_ioctl ...
wpi_ioctl ... at netbsd:wpi_ioctl+0x43
in6_update_ifa ...
in6_ifattach ...
in6_if_up ...
ifioctl_common ...
wpi_ioctl ... at netbsd:wpi_ioctl+0xdd
ifioctl ...
soo_ioctl ...
sys_ioctl ...
syscall ...
db{1}>
Yes, wpi_ioctl really does appear twice in that call chain.
--apb (Alan Barrett)
Home |
Main Index |
Thread Index |
Old Index