Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: -current not booting (amd64)



On Thu, 5 Jun 2008 21:18:08 -0400
"Steven M. Bellovin" <smb%cs.columbia.edu@localhost> wrote:

> > config_stdsubmatch()
> > mapply() at netbsd:mapply+0x2d
> > config_search_loc() at netbsd:config_search_loc+0xcb
> > config_found_sm_loc at netbsd:config_found_sm_loc+0x3b
> > usbd_new_device() at netbsd:usbd_new_device+0x431
> > uhub_explore() at netbsd:uhub_explore+0x1c1
> > usb_discover() at netbsd:usb_discover+0x37
> > usb_event_thread() at netbsd:usb_event_thread+0x3e
> > 
> > 
> > Disabling ugen via 'boot -c' let me boot.
>  
> It's triggered by this line in my kernel config:
> 
> ugen*   at uhub? port ? vendor "0x051d" flags 1

I had a similar problem with a hardwired entry for a uhid(ev). I looked
into into it, but didn't have time to send a PR yet. The problem is
that config_stdsubmatch is called with the locs argument NULL. There is
a loop going over all locator types and when one of them is not the
default (i.e. unspecified) it is checked against locs[i] which causes
the crash. Simply putting "&& locs" before the last comparison fixed it
for me (as did removing that entry from my config). (This is all from
my memory of my understading of the code, then, so I don't guarantee it
to be correct ;).

kind regards
dieter


> There is another ugen device on the machine; I don't know if that's a
> contributing factor.
> 
> 
>               --Steve Bellovin, http://www.cs.columbia.edu/~smb
> 


Home | Main Index | Thread Index | Old Index