On 17/02/16 20:15, Carlos Alberto Lopez Perez wrote:
>
> I wonder what can be causing this issue :\
>
> I already had this issue when installing a fresh Debian 8 in another
> machine, but in that one only happened once. After a hard-reboot and a
> retry it worked. With this Intel NUC machine happened everytime of the 4
> times I tried to install it.
Seems the freeze is reproducible on the installed system (with Debian Jessie and the default 3.16.0-4-amd64 kernel) by running:
$ discover-modprobe
If i run it with -x i see that it freezes here:
++++ readlink -f /sbin/discover-modprobe
+++ '[' 0 = 1 ']'
++ FANCYTTY=
++ '[' -e /etc/lsb-base-logging.sh ']'
++ true
+ . /etc/default/rcS
+ '[' -d /var/discover ']'
+ nop=
+ verbose=false
+ getopts nv ch
+ shift 0
++ grep -E -v '^ *$'
+++ uname -r
++ /sbin/discover --data-path=linux/module/name --data-path=linux/module/options '--format=%s %s' --data-version=3.16.0-4-amd64 all
And If i run the above comand with strace -f, then it freezes here:
read(3, "C Camera/Webcam controller'/>\n "..., 4096) = 4096
brk(0x145e000) = 0x145e000
read(3, "een'/>\n <device vendor='1bfd' m"..., 4096) = 4096
read(3, "2 U-Boot Bootloader'/>\n <device"..., 4096) = 4096
read(3, "ideo Player'/>\n <device vendor="..., 4096) = 4096
read(3, "20 Spinnaker 802.11g [Intersil I"..., 4096) = 4096
read(3, " vendor='2001' model='f117' mode"..., 4096) = 4096
read(3, "='2040' model='6503' model_name="..., 4096) = 4096
read(3, "del='0002' model_name='Wally 2.4"..., 4096) = 4096
read(3, "='22b8' model='4a01' model_name="..., 4096) = 4096
read(3, "\n <device vendor='2304' model='"..., 4096) = 4096
read(3, "='2735' model='100e' model_name="..., 4096) = 4096
read(3, "or='3923' model='1f00' model_nam"..., 4096) = 4096
brk(0x147f000) = 0x147f000
read(3, "' model_name='Optical Wheel Mous"..., 4096) = 4096
read(3, "c' model='8115' model_name='Wire"..., 4096) = 4096
read(3, "ice vendor='4317' model='0701' m"..., 4096) = 4096
read(3, "2 Card Reader'/>\n <device vendo"..., 4096) = 4096
read(3, "<device vendor='8086' model='004"..., 4096) = 4096
read(3, "l_name='MCS7703 Serial Port Adap"..., 4096) = 4096
read(3, "del_name='Astribank 2 series'/>\n"..., 4096) = 1459
read(3, "", 4096) = 0
read(3, "", 4096) = 0
close(3) = 0
munmap(0x7f598aea2000, 4096) = 0
open("/proc/bus/usb/devices", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/dev/bus/usb", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
getdents(3, /* 5 entries */, 32768) = 120
close(3) = 0
openat(AT_FDCWD, "/dev/bus/usb", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
getdents(3, /* 5 entries */, 32768) = 120
getdents(3, /* 0 entries */, 32768) = 0
close(3) = 0
openat(AT_FDCWD, "/dev/bus/usb/003", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
getdents(3, /* 4 entries */, 32768) = 96
open("/dev/bus/usb/003/002", O_RDWR
It don't freezes always, only sometimes.
Comparing the straces from when it freezes which the straces when it doesn't I see the following difference:
* This is when it works ok (don't freezes):
openat(AT_FDCWD, "/dev/bus/usb/003", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
getdents(3, /* 3 entries */, 32768) = 72
open("/dev/bus/usb/003/001", O_RDWR) = 4
* This is when it freezes:
openat(AT_FDCWD, "/dev/bus/usb/003", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
getdents(3, /* 4 entries */, 32768) = 96
open("/dev/bus/usb/003/002", O_RDWR
Seems that when it freezes it finds 4 entries in the directory /dev/bus/usb/003 instead of 3,
and when it tries to open the "ghost" entry it freezes completely.
ls -al /dev/bus/usb/003 gives 3 entries : (".", "..", "001")
I have been rebooting it a couple of times and doing an ls to see if I see 4 entries.
And when i get 4 entries, trying to access it causes a freeze.
ls -al /dev/bus/usb/003
total 0
drwxr-xr-x 2 root root 80 Feb 17 20:51 .
drwxr-xr-x 5 root root 100 Feb 17 20:51 ..
crw-rw-r-- 1 root root 189, 256 Feb 17 20:51 001
crw-rw-r-- 1 root root 189, 257 Feb 17 20:51 002
$ lsusb
# <... freeze>
The information about /dev/bus/usb/003 is:
# lsusb -D /dev/bus/usb/003/001
Device: ID 1d6b:0003 Linux Foundation 3.0 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.00
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 3
bMaxPacketSize0 9
idVendor 0x1d6b Linux Foundation
idProduct 0x0003 3.0 root hub
bcdDevice 3.16
iManufacturer 3 Linux 3.16.0-4-amd64 xhci_hcd
iProduct 2 xHCI Host Controller
iSerial 1 0000:00:14.0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 31
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 12
bMaxBurst 0
Hub Descriptor:
bLength 12
bDescriptorType 42
nNbrPorts 1
wHubCharacteristic 0x000a
No power switching (usb 1.0)
Per-port overcurrent protection
bPwrOn2PwrGood 10 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
bHubDecLat 0.0 micro seconds
wHubDelay 0 nano seconds
DeviceRemovable 0x00
Hub Port Status:
Port 1: 0000.02a0 5Gbps power Rx.Detect
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 15
bNumDeviceCaps 1
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x02
Latency Tolerance Messages (LTM) Supported
wSpeedsSupported 0x0008
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 3
Lowest fully-functional device speed is SuperSpeed (5Gbps)
bU1DevExitLat 10 micro seconds
bU2DevExitLat 512 micro seconds
Device Status: 0x0001
Self Powered
Trying to read this very same information when /dev/bus/usb/003/002 appears causes a freeze.
So, not sure what is going here, but this looks like either a kernel bug or a firmware bug.
Does this rings any bell? Any ideas?
Regards
Attachment:
signature.asc
Description: OpenPGP digital signature