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

Re: Debian Jessie installer freezes during "Processing triggers for libc-bin"



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


Reply to: