hald spins in a poll/read loop against /dev/usb with CURRENT

Joe Marcus Clarke marcus at marcuscom.com
Fri Sep 25 22:04:13 UTC 2009


On Sat, 2009-09-26 at 05:59 +0800, Rohit Grover wrote:
> On Fri, Sep 25, 2009 at 9:32 PM, Gary Jennejohn
> <gary.jennejohn at freenet.de> wrote:
> > On Fri, 25 Sep 2009 21:23:12 +0800
> > Rohit Grover <rgrover1 at gmail.com> wrote:
> >
> >> Hald spins endlessly on my CURRENT. I have the following from truss:
> >>
> >> open("/dev/usb",O_RDONLY,00)                     = 12 (0xc)
> >> ...
> >> ...
> >> poll({4/POLLIN 8/POLLIN 10/POLLIN|POLLPRI 15/POLLIN 89/POLLIN 6/POLLIN
> >> 9/POLLIN 88/POLLIN 7/POLLIN 12/POLLIN},10,161) = 1 (0x1)
> >> gettimeofday({1253883730.961100 },0x0)           = 0 (0x0)
> >> read(12,0xbfbfe56c,384)                          = 0 (0x0)
> >> gettimeofday({1253883730.961158 },0x0)           = 0 (0x0)
> >> poll({4/POLLIN 8/POLLIN 10/POLLIN|POLLPRI 15/POLLIN 89/POLLIN 6/POLLIN
> >> 9/POLLIN 88/POLLIN 7/POLLIN 12/POLLIN},10,161) = 1 (0x1)
> >> gettimeofday({1253883730.961228 },0x0)           = 0 (0x0)
> >> read(12,0xbfbfe56c,384)                          = 0 (0x0)
> >> gettimeofday({1253883730.961286 },0x0)           = 0 (0x0)
> >> poll({4/POLLIN 8/POLLIN 10/POLLIN|POLLPRI 15/POLLIN 89/POLLIN 6/POLLIN
> >> 9/POLLIN 88/POLLIN 7/POLLIN 12/POLLIN},10,161) = 1 (0x1)
> >> gettimeofday({1253883730.961357 },0x0)           = 0 (0x0)
> >> read(12,0xbfbfe56c,384)                          = 0 (0x0)
> >> gettimeofday({1253883730.961415 },0x0)           = 0 (0x0)
> >> ...
> >> ...
> >>
> >> Why is /dev/usb responding to poll() when there is no data to be read?
> >>
> >> thanks.
> >>
> >
> > /dev/usb is a directory on my 9-CURRENT machine, not a device file.
> >
> > Did you install hald recently, e.g. after updating you kernel?  I'm pretty sure that
> > hald depends on kernel sources and often requires a fresh installation.
> 
> I've rebuilt hald (hal-0.5.11_26) after checking out 8/stable under
> /usr/src/sys. Same problem. A spin loop of poll/read, with /dev/usb
> responding to poll() but not to read().

Insufficient.  You need to be running on a world/kernel which are in
sync with each other.  You also need to make sure the libusb port is no
longer installed, and that you have run "make delete-old" after the
upgrade.  Then rebuild hal.

Joe

> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
> 
-- 
PGP Key : http://www.marcuscom.com/pgp.asc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20090925/1f0af452/attachment.pgp


More information about the freebsd-current mailing list