After 7.3->8.1, moused on serial mouse draws 100% CPU

Michael Sperber sperber at deinprogramm.de
Thu Sep 16 13:32:31 UTC 2010


Ed Schouten <ed at 80386.nl> writes:

> I should really get myself subscribed to stable at ...
>
> Anyway, Michael, can you attach truss to the process to see what it's
> actually doing (truss -p $pid)? I'm interested in a single `iteration'
> of what it's doing. Thanks!

The relevant bit is this, I think:

open("/dev/cuau0",O_RDWR|O_NONBLOCK,01001172450) = 2 (0x2)
ioctl(2,MOUSE_SETLEVEL,0x805004c)		 ERR#25 'Inappropriate ioctl for device'
ioctl(2,MOUSE_GETLEVEL,0xbfbfe4cc)		 ERR#25 'Inappropriate ioctl for device'
ioctl(2,MOUSE_GETHWINFO,0x8050088)		 ERR#25 'Inappropriate ioctl for device'
ioctl(2,MOUSE_GETMODE,0x805009c)		 ERR#25 'Inappropriate ioctl for device'
write(2,"moused: ",8)				 = 8 (0x8)
write(2,"PnP COM device rev 1.0 probe...",31)	 = 31 (0x1f)
write(2,"\n",1)					 = 1 (0x1)
ioctl(2,TIOCMGET,0xbfbfe4c4)			 = 0 (0x0)
ioctl(2,TIOCMSET,0xbfbfe4c4)			 = 0 (0x0)
nanosleep({0.240000000 })			 = 0 (0x0)
ioctl(2,TIOCMGET,0xbfbfe4c4)			 = 0 (0x0)
write(2,"moused: ",8)				 ERR#5 'Input/output error'
write(2,"\n",1)					 ERR#5 'Input/output error'
write(2,"\n",1)					 ERR#5 'Input/output error'
ioctl(2,TIOCMGET,0xbfbfe4c4)			 = 0 (0x0)
ioctl(2,TIOCMSET,0xbfbfe4c4)			 = 0 (0x0)
nanosleep({0.240000000 })			 = 0 (0x0)
ioctl(2,TIOCGETA,0xbfbfe2fc)			 = 0 (0x0)
ioctl(2,TIOCSETAW,0xbfbfe2fc)			 = 0 (0x0)
nanosleep({0.100000000 })			 = 0 (0x0)
ioctl(2,TIOCSETAW,0xbfbfe2fc)			 = 0 (0x0)
ioctl(2,TIOCFLUSH,0xbfbfe4c4)			 = 0 (0x0)
ioctl(2,TIOCMBIS,0xbfbfe4c4)			 = 0 (0x0)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
write(2,"\n",1)					 ERR#5 'Input/output error'
nanosleep({0.240000000 })			 = 0 (0x0)
read(2,"3",1)					 = 1 (0x1)
write(2,"\n",1)					 ERR#5 'Input/output error'
read(2,"\b",1)					 = 1 (0x1)
write(2,"\n",1)					 ERR#5 'Input/output error'
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"\^A",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"\^Z",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"+",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"-",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,",",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"\^P",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"\^P",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"\^P",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"\^Q",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"<",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"<",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"-",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"/",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"5",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"3",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"%",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"<",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"0",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,".",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"0",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"\^P",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,"&",1)					 = 1 (0x1)
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,0xbfbfe4ec,1)				 ERR#35 'Resource temporarily unavailable'
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,0xbfbfe4ed,1)				 ERR#35 'Resource temporarily unavailable'
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)
read(2,0xbfbfe4ee,1)				 ERR#35 'Resource temporarily unavailable'
select(1024,{2},0x0,0x0,{0.240000 })		 = 1 (0x1)

The last two lines then repeat endlessly.

-- 
Regards,
Mike



More information about the freebsd-stable mailing list