Zack Weinberg
unread,Feb 21, 2017, 5:16:45 PM2/21/17Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to colorhu...@googlegroups.com
I just tripped over what appears to be the same problem: "instrument
access failed" errors when attempting to calibrate, using either the
command-line dispcal or the gui wrapper. All software is the version
present today in Debian unstable, and I have a ColorHug v1. The gui
"Colorhug Firmware Updater" says "ColorHug Detected, Firmware version
1.2.3, There are no updates available". argyll is version 1.9.2.
$ spotread
Instrument initialisation failed with 'Communication protocol
breakdown' (Invalid address)!
$ spotread -D8
Argyll 'V1.9.2' Build 'Linux 32 bit' System 'Linux #1 SMP Debian
4.9.10-1 (2017-02-17) 4.9.0-2-amd64 x86_64'
icoms_refresh_paths: called with mask = 131071
icoms_refresh_paths: looking for HID device
hid_get_paths: called
icoms_get_paths: returning 0 paths and ICOM_OK
icoms_refresh_paths: looking for USB device
usb_get_paths: about to look through buses:
usb_get_paths: about to stat /dev/bus/usb/004/001
usb_check_and_add: givem '/dev/bus/usb/004/001'
usb_check_and_add: checking vid 0x1d6b, pid 0x0003
usb_check_and_add: instrument not reconized
usb_get_paths: about to stat /dev/bus/usb/003/003
usb_check_and_add: givem '/dev/bus/usb/003/003'
usb_check_and_add: checking vid 0x273f, pid 0x1001
set ep ad 0x81 packetsize 64 type 3
set ep ad 0x1 packetsize 64 type 3
usb_check_and_add: found nep10 2
usb_check_and_add: found instrument vid 0x273f, pid 0x1001
icompath_set_usb '/dev/bus/usb/003/003 (Hughski ColorHug)' got dctype 0x0
icompath_set_usb '/dev/bus/usb/003/003 (Hughski ColorHug)' returning
dctype 0x10002
usb_get_paths: about to stat /dev/bus/usb/003/001
usb_check_and_add: givem '/dev/bus/usb/003/001'
usb_check_and_add: checking vid 0x1d6b, pid 0x0002
usb_check_and_add: instrument not reconized
usb_get_paths: about to stat /dev/bus/usb/002/006
usb_check_and_add: givem '/dev/bus/usb/002/006'
usb_check_and_add: checking vid 0x0764, pid 0x0501
usb_check_and_add: instrument not reconized
usb_get_paths: about to stat /dev/bus/usb/002/005
usb_check_and_add: givem '/dev/bus/usb/002/005'
usb_check_and_add: checking vid 0x046d, pid 0xc063
usb_check_and_add: instrument not reconized
usb_get_paths: about to stat /dev/bus/usb/002/004
usb_check_and_add: givem '/dev/bus/usb/002/004'
usb_check_and_add: checking vid 0x045e, pid 0x00db
usb_check_and_add: instrument not reconized
usb_get_paths: about to stat /dev/bus/usb/002/002
usb_check_and_add: givem '/dev/bus/usb/002/002'
usb_check_and_add: checking vid 0x8087, pid 0x8000
usb_check_and_add: instrument not reconized
usb_get_paths: about to stat /dev/bus/usb/002/001
usb_check_and_add: givem '/dev/bus/usb/002/001'
usb_check_and_add: checking vid 0x1d6b, pid 0x0002
usb_check_and_add: instrument not reconized
usb_get_paths: about to stat /dev/bus/usb/001/002
usb_check_and_add: givem '/dev/bus/usb/001/002'
usb_check_and_add: checking vid 0x8087, pid 0x8008
usb_check_and_add: instrument not reconized
usb_get_paths: about to stat /dev/bus/usb/001/001
usb_check_and_add: givem '/dev/bus/usb/001/001'
usb_check_and_add: checking vid 0x1d6b, pid 0x0002
usb_check_and_add: instrument not reconized
usb_get_paths: returning 1 paths and ICOM_OK
icoms_refresh_paths: now got 1 paths
icoms_refresh_paths: looking for serial ports
serial_get_paths: called with mask 131071
serial_get_paths: looking up serial port devices
serial_get_paths: checking '.'
serial_get_paths: checking '..'
serial_get_paths: checking 'hidraw0'
serial_get_paths: checking 'usb'
serial_get_paths: checking 'fb0'
serial_get_paths: checking 'vcsa5'
serial_get_paths: checking 'vcs5'
serial_get_paths: checking 'vcsa4'
serial_get_paths: checking 'vcs4'
serial_get_paths: checking 'vcsa3'
serial_get_paths: checking 'vcs3'
serial_get_paths: checking 'vcsa2'
serial_get_paths: checking 'vcs2'
serial_get_paths: checking 'vcsa6'
serial_get_paths: checking 'vcs6'
serial_get_paths: checking 'dri'
serial_get_paths: checking 'kvm'
serial_get_paths: checking 'watchdog0'
serial_get_paths: checking 'watchdog'
serial_get_paths: checking 'rfkill'
serial_get_paths: checking 'dvdrw'
serial_get_paths: checking 'dvd'
serial_get_paths: checking 'cdrw'
serial_get_paths: checking 'cdrom'
serial_get_paths: checking 'sg5'
serial_get_paths: checking 'sg4'
serial_get_paths: checking 'sg3'
serial_get_paths: checking 'sg2'
serial_get_paths: checking 'sg1'
serial_get_paths: checking 'sg0'
serial_get_paths: checking 'snd'
serial_get_paths: checking 'vhost-net'
serial_get_paths: checking 'uhid'
serial_get_paths: checking 'vhci'
serial_get_paths: checking 'vfio'
serial_get_paths: checking 'mapper'
serial_get_paths: checking 'uinput'
serial_get_paths: checking 'ppp'
serial_get_paths: checking 'net'
serial_get_paths: checking 'loop-control'
serial_get_paths: checking 'btrfs-control'
serial_get_paths: checking 'cuse'
serial_get_paths: checking 'fuse'
serial_get_paths: checking 'initctl'
serial_get_paths: checking 'log'
serial_get_paths: checking 'hugepages'
serial_get_paths: checking 'mqueue'
serial_get_paths: checking 'shm'
serial_get_paths: checking 'autofs'
serial_get_paths: checking 'hidraw3'
serial_get_paths: checking 'hidraw2'
serial_get_paths: checking 'hidraw1'
serial_get_paths: checking 'bcache0'
serial_get_paths: checking 'md'
serial_get_paths: checking 'md0'
serial_get_paths: checking 'sdc2'
icoms_refresh_paths: called with mask = 131071
icoms_refresh_paths: looking for HID device
hid_get_paths: called
icoms_get_paths: returning 0 paths and ICOM_OK
icoms_refresh_paths: looking for USB device
usb_get_paths: about to look through buses:
usb_get_paths: about to stat /dev/bus/usb/004/001
usb_check_and_add: givem '/dev/bus/usb/004/001'
usb_check_and_add: checking vid 0x1d6b, pid 0x0003
usb_check_and_add: instrument not reconized
usb_get_paths: about to stat /dev/bus/usb/003/003
usb_check_and_add: givem '/dev/bus/usb/003/003'
usb_check_and_add: checking vid 0x273f, pid 0x1001
set ep ad 0x81 packetsize 64 type 3
set ep ad 0x1 packetsize 64 type 3
usb_check_and_add: found nep10 2
usb_check_and_add: found instrument vid 0x273f, pid 0x1001
icompath_set_usb '/dev/bus/usb/003/003 (Hughski ColorHug)' got dctype 0x0
icompath_set_usb '/dev/bus/usb/003/003 (Hughski ColorHug)' returning
dctype 0x10002
usb_get_paths: about to stat /dev/bus/usb/003/001
usb_check_and_add: givem '/dev/bus/usb/003/001'
usb_check_and_add: checking vid 0x1d6b, pid 0x0002
usb_check_and_add: instrument not reconized
usb_get_paths: about to stat /dev/bus/usb/002/006
usb_check_and_add: givem '/dev/bus/usb/002/006'
usb_check_and_add: checking vid 0x0764, pid 0x0501
usb_check_and_add: instrument not reconized
usb_get_paths: about to stat /dev/bus/usb/002/005
usb_check_and_add: givem '/dev/bus/usb/002/005'
usb_check_and_add: checking vid 0x046d, pid 0xc063
usb_check_and_add: instrument not reconized
usb_get_paths: about to stat /dev/bus/usb/002/004
usb_check_and_add: givem '/dev/bus/usb/002/004'
usb_check_and_add: checking vid 0x045e, pid 0x00db
usb_check_and_add: instrument not reconized
usb_get_paths: about to stat /dev/bus/usb/002/002
usb_check_and_add: givem '/dev/bus/usb/002/002'
usb_check_and_add: checking vid 0x8087, pid 0x8000
usb_check_and_add: instrument not reconized
usb_get_paths: about to stat /dev/bus/usb/002/001
usb_check_and_add: givem '/dev/bus/usb/002/001'
usb_check_and_add: checking vid 0x1d6b, pid 0x0002
usb_check_and_add: instrument not reconized
usb_get_paths: about to stat /dev/bus/usb/001/002
usb_check_and_add: givem '/dev/bus/usb/001/002'
usb_check_and_add: checking vid 0x8087, pid 0x8008
usb_check_and_add: instrument not reconized
usb_get_paths: about to stat /dev/bus/usb/001/001
usb_check_and_add: givem '/dev/bus/usb/001/001'
usb_check_and_add: checking vid 0x1d6b, pid 0x0002
usb_check_and_add: instrument not reconized
usb_get_paths: returning 1 paths and ICOM_OK
icoms_refresh_paths: now got 1 paths
icoms_refresh_paths: looking for serial ports
serial_get_paths: called with mask 131071
serial_get_paths: looking up serial port devices
serial_get_paths: checking '.'
serial_get_paths: checking '..'
serial_get_paths: checking 'hidraw0'
serial_get_paths: checking 'usb'
serial_get_paths: checking 'fb0'
serial_get_paths: checking 'vcsa5'
serial_get_paths: checking 'vcs5'
serial_get_paths: checking 'vcsa4'
serial_get_paths: checking 'vcs4'
serial_get_paths: checking 'vcsa3'
serial_get_paths: checking 'vcs3'
serial_get_paths: checking 'vcsa2'
serial_get_paths: checking 'vcs2'
serial_get_paths: checking 'vcsa6'
serial_get_paths: checking 'vcs6'
serial_get_paths: checking 'dri'
serial_get_paths: checking 'kvm'
serial_get_paths: checking 'watchdog0'
serial_get_paths: checking 'watchdog'
serial_get_paths: checking 'rfkill'
serial_get_paths: checking 'dvdrw'
serial_get_paths: checking 'dvd'
serial_get_paths: checking 'cdrw'
serial_get_paths: checking 'cdrom'
serial_get_paths: checking 'sg5'
serial_get_paths: checking 'sg4'
serial_get_paths: checking 'sg3'
serial_get_paths: checking 'sg2'
serial_get_paths: checking 'sg1'
serial_get_paths: checking 'sg0'
serial_get_paths: checking 'snd'
serial_get_paths: checking 'vhost-net'
serial_get_paths: checking 'uhid'
serial_get_paths: checking 'vhci'
serial_get_paths: checking 'vfio'
serial_get_paths: checking 'mapper'
serial_get_paths: checking 'uinput'
serial_get_paths: checking 'ppp'
serial_get_paths: checking 'net'
serial_get_paths: checking 'loop-control'
serial_get_paths: checking 'btrfs-control'
serial_get_paths: checking 'cuse'
serial_get_paths: checking 'fuse'
serial_get_paths: checking 'initctl'
serial_get_paths: checking 'log'
serial_get_paths: checking 'hugepages'
serial_get_paths: checking 'mqueue'
serial_get_paths: checking 'shm'
serial_get_paths: checking 'autofs'
serial_get_paths: checking 'hidraw3'
serial_get_paths: checking 'hidraw2'
serial_get_paths: checking 'hidraw1'
serial_get_paths: checking 'bcache0'
serial_get_paths: checking 'md'
serial_get_paths: checking 'md0'
serial_get_paths: checking 'sdc2'
serial_get_paths: checking 'sdc1'
serial_get_paths: checking 'sdd2'
serial_get_paths: checking 'sdd1'
serial_get_paths: checking 'sde2'
serial_get_paths: checking 'sde1'
serial_get_paths: checking 'sdb2'
serial_get_paths: checking 'sdb1'
serial_get_paths: checking 'sr0'
serial_get_paths: checking 'disk'
serial_get_paths: checking 'block'
serial_get_paths: checking 'sda3'
serial_get_paths: checking 'sda2'
serial_get_paths: checking 'sda1'
serial_get_paths: checking 'sdb'
serial_get_paths: checking 'sdd'
serial_get_paths: checking 'sdc'
serial_get_paths: checking 'sde'
serial_get_paths: checking 'sda'
serial_get_paths: checking 'bsg'
serial_get_paths: checking 'pps0'
serial_get_paths: checking 'ptp0'
serial_get_paths: checking 'bus'
serial_get_paths: checking 'rtc'
serial_get_paths: checking 'char'
serial_get_paths: checking 'stderr'
serial_get_paths: checking 'stdout'
serial_get_paths: checking 'stdin'
serial_get_paths: checking 'fd'
serial_get_paths: checking 'core'
serial_get_paths: checking 'pts'
serial_get_paths: checking 'memory_bandwidth'
serial_get_paths: checking 'network_throughput'
serial_get_paths: checking 'network_latency'
serial_get_paths: checking 'cpu_dma_latency'
serial_get_paths: checking 'cpu'
serial_get_paths: checking 'mcelog'
serial_get_paths: checking 'rtc0'
serial_get_paths: checking 'psaux'
serial_get_paths: checking 'input'
serial_get_paths: checking 'hpet'
serial_get_paths: checking 'ttyS3'
serial_get_paths: failed to open serial "/dev/ttyS3" r/o - not real
serial_get_paths: checking 'ttyS2'
serial_get_paths: failed to open serial "/dev/ttyS2" r/o - not real
serial_get_paths: checking 'ttyS1'
serial_get_paths: failed to open serial "/dev/ttyS1" r/o - not real
serial_get_paths: checking 'ttyS0'
serial_get_paths: failed to open serial "/dev/ttyS0" r/o - not real
serial_get_paths: checking 'ptmx'
serial_get_paths: checking 'snapshot'
serial_get_paths: checking 'tty63'
serial_get_paths: checking 'tty62'
serial_get_paths: checking 'tty61'
serial_get_paths: checking 'tty60'
serial_get_paths: checking 'tty59'
serial_get_paths: checking 'tty58'
serial_get_paths: checking 'tty57'
serial_get_paths: checking 'tty56'
serial_get_paths: checking 'tty55'
serial_get_paths: checking 'tty54'
serial_get_paths: checking 'tty53'
serial_get_paths: checking 'tty52'
serial_get_paths: checking 'tty51'
serial_get_paths: checking 'tty50'
serial_get_paths: checking 'tty49'
serial_get_paths: checking 'tty48'
serial_get_paths: checking 'tty47'
serial_get_paths: checking 'tty46'
serial_get_paths: checking 'tty45'
serial_get_paths: checking 'tty44'
serial_get_paths: checking 'tty43'
serial_get_paths: checking 'tty42'
serial_get_paths: checking 'tty41'
serial_get_paths: checking 'tty40'
serial_get_paths: checking 'tty39'
serial_get_paths: checking 'tty38'
serial_get_paths: checking 'tty37'
serial_get_paths: checking 'tty36'
serial_get_paths: checking 'tty35'
serial_get_paths: checking 'tty34'
serial_get_paths: checking 'tty33'
serial_get_paths: checking 'tty32'
serial_get_paths: checking 'tty31'
serial_get_paths: checking 'tty30'
serial_get_paths: checking 'tty29'
serial_get_paths: checking 'tty28'
serial_get_paths: checking 'tty27'
serial_get_paths: checking 'tty26'
serial_get_paths: checking 'tty25'
serial_get_paths: checking 'tty24'
serial_get_paths: checking 'tty23'
serial_get_paths: checking 'tty22'
serial_get_paths: checking 'tty21'
serial_get_paths: checking 'tty20'
serial_get_paths: checking 'tty19'
serial_get_paths: checking 'tty18'
serial_get_paths: checking 'tty17'
serial_get_paths: checking 'tty16'
serial_get_paths: checking 'tty15'
serial_get_paths: checking 'tty14'
serial_get_paths: checking 'tty13'
serial_get_paths: checking 'tty12'
serial_get_paths: checking 'tty11'
serial_get_paths: checking 'tty10'
serial_get_paths: checking 'tty9'
serial_get_paths: checking 'tty8'
serial_get_paths: checking 'tty7'
serial_get_paths: checking 'tty6'
serial_get_paths: checking 'tty5'
serial_get_paths: checking 'tty4'
serial_get_paths: checking 'tty3'
serial_get_paths: checking 'tty2'
serial_get_paths: checking 'tty1'
serial_get_paths: checking 'vcsa1'
serial_get_paths: checking 'vcs1'
serial_get_paths: checking 'vcsa'
serial_get_paths: checking 'vcs'
serial_get_paths: checking 'tty0'
serial_get_paths: checking 'console'
serial_get_paths: checking 'tty'
serial_get_paths: checking 'kmsg'
serial_get_paths: checking 'urandom'
serial_get_paths: checking 'random'
serial_get_paths: checking 'full'
serial_get_paths: checking 'zero'
serial_get_paths: checking 'port'
serial_get_paths: checking 'null'
serial_get_paths: checking 'mem'
serial_get_paths: checking 'vga_arbiter'
icoms_refresh_paths: we now have 1 devices and are about to sort them
icompaths_make_dslists '/dev/bus/usb/003/003 (Hughski ColorHug)' dctype 0x10002
icoms_refresh_paths: returning 1 paths and ICOM_OK
new_inst: called with path '/dev/bus/usb/003/003 (Hughski ColorHug)'
type 'ColorHug'
new_icoms '/dev/bus/usb/003/003 (Hughski ColorHug)' itype 'ColorHug'
dctype 0x10002
icom_copy_path_to_icom '/dev/bus/usb/003/003 (Hughski ColorHug)'
returning dctype 0x10002
colorhug_init_coms: About to init coms
colorhug_init_coms: About to init USB
icoms_set_usb_port: About to set usb port characteristics
usb_open_port: Make sure USB port is open, tries 0
usb_open_port: About to open USB port '/dev/bus/usb/003/003'
usb_open_port: open port '/dev/bus/usb/003/003' succeeded
usb_open_port: 'serial' read quanta = packet size = 8
usb_open_port: USB port is now open
usb_install_signal_handlers: called
usb_install_signal_handlers: done
icoms_set_usb_port: usb port characteristics set ok
colorhug_init_coms: inited coms OK
urb_reaper: reap starting
colorhug_init_coms: About to init coms
colorhg_command: sending cmd 'GetFirmwareVersion' args ''
icoms_usb_transaction: req type 0x1 ep 0x1 size 64 to 2000
icoms_usb_transaction: set req 0x7fffd5a48030 nourbs to 1
urb_reaper: urb reap URB 0 with status 0, bytes 64, urbs left 0
coms_usb_transaction: reap - 0 left
coms_usb_transaction: returning err 0x0 and 64 bytes
icoms_usb_rw: returning 64 bytes, ICOM err 0x0
colorhug_command: Send 64 bytes and 64 sent
colorhug_command: got inst code
colorhug_command: Reading response
icoms_usb_transaction: req type 0x1 ep 0x81 size 64 to 2000
icoms_usb_transaction: set req 0x7fffd5a48030 nourbs to 1
coms_usb_transaction: time out - cancel remaining URB's
cancel_req 0
urb_reaper: urb reap URB 0 with status -2, bytes 0, urbs left 0
coms_usb_transaction: returning err 0x4000 and 0 bytes
icoms_usb_rw: returning 0 bytes, ICOM err 0x4000
colorhug_command: Read 64 bytes and 0 read
colorhug_command: Got Colorhug !OK
Instrument initialisation failed with 'Communication protocol
breakdown' (Invalid address)!
icoms_del: called
icoms_del: closing port
usb_close_port: called
usb_close_port: waking reaper thread to trigger exit
usb_close_port: waiting for reaper thread
urb_reaper: poll returned events 0 1 - shutting down
urb_reaper: shutdown or too many failure
urb_reaper: cleared requests
urb_reaper: thread done
usb_close_port: usb port has been released and closed
$ strace -f spotread
execve("/usr/bin/spotread", ["spotread"], [/* 43 vars */]) = 0
brk(NULL) = 0x55cdb85ca000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x7f07505df000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=134436, ...}) = 0
mmap(NULL, 134436, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f07505be000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\r\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14640, ...}) = 0
mmap(NULL, 2109680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f07501bb000
mprotect(0x7f07501bd000, 2097152, PROT_NONE) = 0
mmap(0x7f07503bd000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f07503bd000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340
\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=31744, ...}) = 0
mmap(NULL, 2128832, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074ffb3000
mprotect(0x7f074ffba000, 2093056, PROT_NONE) = 0
mmap(0x7f07501b9000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f07501b9000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libX11.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240\335\1\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1310288, ...}) = 0
mmap(NULL, 3407224, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074fc73000
mprotect(0x7f074fdad000, 2097152, PROT_NONE) = 0
mmap(0x7f074ffad000, 24576, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13a000) = 0x7f074ffad000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libXext.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p7\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=73704, ...}) = 0
mmap(NULL, 2169560, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074fa61000
mprotect(0x7f074fa72000, 2093056, PROT_NONE) = 0
mmap(0x7f074fc71000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0x7f074fc71000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libXxf86vm.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\20\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=22784, ...}) = 0
mmap(NULL, 2118024, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074f85b000
mprotect(0x7f074f860000, 2093056, PROT_NONE) = 0
mmap(0x7f074fa5f000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f074fa5f000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libXinerama.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\v\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=10472, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x7f07505bc000
mmap(NULL, 2105736, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074f658000
mprotect(0x7f074f65a000, 2093056, PROT_NONE) = 0
mmap(0x7f074f859000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f074f859000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libXrandr.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\34\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=43384, ...}) = 0
mmap(NULL, 2138568, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074f44d000
mprotect(0x7f074f457000, 2093056, PROT_NONE) = 0
mmap(0x7f074f656000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7f074f656000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libXau.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\20\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14544, ...}) = 0
mmap(NULL, 2109744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074f249000
mprotect(0x7f074f24c000, 2093056, PROT_NONE) = 0
mmap(0x7f074f44b000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f074f44b000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libXdmcp.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\24\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=22752, ...}) = 0
mmap(NULL, 2117896, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074f043000
mprotect(0x7f074f048000, 2093056, PROT_NONE) = 0
mmap(0x7f074f247000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f074f247000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libXss.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\f\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=10992, ...}) = 0
mmap(NULL, 2106216, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074ee40000
mprotect(0x7f074ee42000, 2097152, PROT_NONE) = 0
mmap(0x7f074f042000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f074f042000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libtiff.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0
}\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=481768, ...}) = 0
mmap(NULL, 2577392, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074ebca000
mprotect(0x7f074ec3b000, 2097152, PROT_NONE) = 0
mmap(0x7f074ee3b000, 20480, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x71000) = 0x7f074ee3b000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libjpeg.so.62", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p:\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=436224, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x7f07505ba000
mmap(NULL, 2531352, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074e95f000
mprotect(0x7f074e9c8000, 2097152, PROT_NONE) = 0
mmap(0x7f074ebc8000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x69000) = 0x7f074ebc8000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libpng16.so.16", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20P\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=206768, ...}) = 0
mmap(NULL, 2301968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074e72c000
mprotect(0x7f074e75d000, 2097152, PROT_NONE) = 0
mmap(0x7f074e95d000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x31000) = 0x7f074e95d000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300!\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=105088, ...}) = 0
mmap(NULL, 2200072, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074e512000
mprotect(0x7f074e52b000, 2093056, PROT_NONE) = 0
mmap(0x7f074e72a000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x7f074e72a000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libssl.so.1.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\211\1\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=442920, ...}) = 0
mmap(NULL, 2538392, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074e2a6000
mprotect(0x7f074e308000, 2097152, PROT_NONE) = 0
mmap(0x7f074e508000, 40960, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x62000) = 0x7f074e508000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200V\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1063328, ...}) = 0
mmap(NULL, 3158248, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074dfa2000
mprotect(0x7f074e0a5000, 2093056, PROT_NONE) = 0
mmap(0x7f074e2a4000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x102000) = 0x7f074e2a4000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240`\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=135384, ...}) = 0
mmap(NULL, 2212904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074dd85000
mprotect(0x7f074dd9d000, 2093056, PROT_NONE) = 0
mmap(0x7f074df9c000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7f074df9c000
mmap(0x7f074df9e000, 13352, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f074df9e000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\3\2\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1685264, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x7f07505b8000
mmap(NULL, 3791264, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074d9e7000
mprotect(0x7f074db7c000, 2093056, PROT_NONE) = 0
mmap(0x7f074dd7b000, 24576, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x194000) = 0x7f074dd7b000
mmap(0x7f074dd81000, 14752, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f074dd81000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libxcb.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\273\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=162800, ...}) = 0
mmap(NULL, 2258056, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074d7bf000
mprotect(0x7f074d7e6000, 2093056, PROT_NONE) = 0
mmap(0x7f074d9e5000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26000) = 0x7f074d9e5000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libXrender.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\33\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=39480, ...}) = 0
mmap(NULL, 2134664, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074d5b5000
mprotect(0x7f074d5be000, 2093056, PROT_NONE) = 0
mmap(0x7f074d7bd000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8000) = 0x7f074d7bd000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/liblzma.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2200\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=154376, ...}) = 0
mmap(NULL, 2249360, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074d38f000
mprotect(0x7f074d3b4000, 2093056, PROT_NONE) = 0
mmap(0x7f074d5b3000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24000) = 0x7f074d5b3000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libjbig.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\23\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=62376, ...}) = 0
mmap(NULL, 2157640, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074d180000
mprotect(0x7f074d18b000, 2097152, PROT_NONE) = 0
mmap(0x7f074d38b000, 16384, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0x7f074d38b000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\340\7\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=2686448, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x7f07505b6000
mmap(NULL, 4795712, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f074cced000
mprotect(0x7f074cf51000, 2097152, PROT_NONE) = 0
mmap(0x7f074d151000, 180224, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x264000) = 0x7f074d151000
mmap(0x7f074d17d000, 11584, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f074d17d000
close(3) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x7f07505b4000
arch_prctl(ARCH_SET_FS, 0x7f07505b4b40) = 0
mprotect(0x7f074dd7b000, 16384, PROT_READ) = 0
mprotect(0x7f07503bd000, 4096, PROT_READ) = 0
mprotect(0x7f074df9c000, 4096, PROT_READ) = 0
mprotect(0x7f074d151000, 122880, PROT_READ) = 0
mprotect(0x7f074d38b000, 4096, PROT_READ) = 0
mprotect(0x7f074d5b3000, 4096, PROT_READ) = 0
mprotect(0x7f074f247000, 4096, PROT_READ) = 0
mprotect(0x7f074f44b000, 4096, PROT_READ) = 0
mprotect(0x7f074d9e5000, 4096, PROT_READ) = 0
mprotect(0x7f074ffad000, 4096, PROT_READ) = 0
mprotect(0x7f074d7bd000, 4096, PROT_READ) = 0
mprotect(0x7f074e2a4000, 4096, PROT_READ) = 0
mprotect(0x7f074e508000, 16384, PROT_READ) = 0
mprotect(0x7f074e72a000, 4096, PROT_READ) = 0
mprotect(0x7f074e95d000, 4096, PROT_READ) = 0
mprotect(0x7f074ebc8000, 4096, PROT_READ) = 0
mprotect(0x7f074ee3b000, 16384, PROT_READ) = 0
mprotect(0x7f074fc71000, 4096, PROT_READ) = 0
mprotect(0x7f074f656000, 4096, PROT_READ) = 0
mprotect(0x7f074f859000, 4096, PROT_READ) = 0
mprotect(0x7f074fa5f000, 4096, PROT_READ) = 0
mprotect(0x7f07501b9000, 4096, PROT_READ) = 0
mprotect(0x55cdb8024000, 4096, PROT_READ) = 0
mprotect(0x7f07505e2000, 4096, PROT_READ) = 0
munmap(0x7f07505be000, 134436) = 0
set_tid_address(0x7f07505b4e10) = 24771
set_robust_list(0x7f07505b4e20, 24) = 0
rt_sigaction(SIGRTMIN, {sa_handler=0x7f074dd8ab40, sa_mask=[],
sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f074dd960c0}, NULL, 8)
= 0
rt_sigaction(SIGRT_1, {sa_handler=0x7f074dd8abd0, sa_mask=[],
sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO,
sa_restorer=0x7f074dd960c0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(NULL) = 0x55cdb85ca000
brk(0x55cdb85eb000) = 0x55cdb85eb000
lstat("/home", {st_mode=S_IFDIR|0755, st_size=182, ...}) = 0
lstat("/home/zack", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0
lstat("/home/zack/.cargo", {st_mode=S_IFDIR|0755, st_size=60, ...}) = 0
lstat("/home/zack/.cargo/bin", {st_mode=S_IFDIR|0755, st_size=122, ...}) = 0
lstat("/home/zack/.cargo/bin/spotread", 0x7ffdf7674c20) = -1 ENOENT
(No such file or directory)
lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/local", {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0
lstat("/usr/local/bin", {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0
lstat("/usr/local/bin/spotread", 0x7ffdf7674c20) = -1 ENOENT (No such
file or directory)
lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/bin", {st_mode=S_IFDIR|0755, st_size=73728, ...}) = 0
lstat("/usr/bin/spotread", {st_mode=S_IFREG|0755, st_size=3337016, ...}) = 0
access("/usr/bin/spotread", F_OK) = 0
open("/dev/bus/usb", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=120, ...}) = 0
getdents(3, /* 6 entries */, 32768) = 144
open("/dev/bus/usb/004", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4
fstat(4, {st_mode=S_IFDIR|0755, st_size=60, ...}) = 0
getdents(4, /* 3 entries */, 32768) = 72
stat("/dev/bus/usb/004/001", {st_mode=S_IFCHR|0664,
st_rdev=makedev(189, 384), ...}) = 0
open("/dev/bus/usb/004/001", O_RDONLY) = 5
read(5, "\22\1\0\3\t\0\3\tk\35\3\0\t\4\3\2\1\1", 18) = 18
close(5) = 0
getdents(4, /* 0 entries */, 32768) = 0
close(4) = 0
open("/dev/bus/usb/003", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4
fstat(4, {st_mode=S_IFDIR|0755, st_size=80, ...}) = 0
getdents(4, /* 4 entries */, 32768) = 96
stat("/dev/bus/usb/003/003", {st_mode=S_IFCHR|0660,
st_rdev=makedev(189, 258), ...}) = 0
open("/dev/bus/usb/003/003", O_RDONLY) = 5
read(5, "\22\1\0\2\0\0\0\10?'\1\20\2\0\1\2\0\1", 18) = 18
read(5, "\t\2)\0", 4) = 4
read(5, "\1\1\0\300\226\t\4\0\0\2\3\0\0\0\t!\21\1\0\1\"\35\0\7\5\201\3@\0\1\7\5"...,
37) = 37
close(5) = 0
stat("/dev/bus/usb/003/001", {st_mode=S_IFCHR|0664,
st_rdev=makedev(189, 256), ...}) = 0
open("/dev/bus/usb/003/001", O_RDONLY) = 5
read(5, "\22\1\0\2\t\0\1@k\35\2\0\t\4\3\2\1\1", 18) = 18
close(5) = 0
getdents(4, /* 0 entries */, 32768) = 0
close(4) = 0
open("/dev/bus/usb/002", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4
fstat(4, {st_mode=S_IFDIR|0755, st_size=140, ...}) = 0
getdents(4, /* 7 entries */, 32768) = 168
stat("/dev/bus/usb/002/006", {st_mode=S_IFCHR|0664,
st_rdev=makedev(189, 133), ...}) = 0
open("/dev/bus/usb/002/006", O_RDONLY) = 5
read(5, "\22\1\20\1\0\0\0\10d\7\1\5\1\0\3\1\0\1", 18) = 18
close(5) = 0
stat("/dev/bus/usb/002/005", {st_mode=S_IFCHR|0664,
st_rdev=makedev(189, 132), ...}) = 0
open("/dev/bus/usb/002/005", O_RDONLY) = 5
read(5, "\22\1\0\2\0\0\0\10m\4c\300\0W\1\2\0\1", 18) = 18
close(5) = 0
stat("/dev/bus/usb/002/004", {st_mode=S_IFCHR|0664,
st_rdev=makedev(189, 131), ...}) = 0
open("/dev/bus/usb/002/004", O_RDONLY) = 5
read(5, "\22\1\0\2\0\0\0\10^\4\333\0s\1\1\2\0\1", 18) = 18
close(5) = 0
stat("/dev/bus/usb/002/002", {st_mode=S_IFCHR|0664,
st_rdev=makedev(189, 129), ...}) = 0
open("/dev/bus/usb/002/002", O_RDONLY) = 5
read(5, "\22\1\0\2\t\0\1@\207\200\0\200\5\0\0\0\0\1", 18) = 18
close(5) = 0
stat("/dev/bus/usb/002/001", {st_mode=S_IFCHR|0664,
st_rdev=makedev(189, 128), ...}) = 0
open("/dev/bus/usb/002/001", O_RDONLY) = 5
read(5, "\22\1\0\2\t\0\0@k\35\2\0\t\4\3\2\1\1", 18) = 18
close(5) = 0
getdents(4, /* 0 entries */, 32768) = 0
close(4) = 0
open("/dev/bus/usb/001", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4
fstat(4, {st_mode=S_IFDIR|0755, st_size=80, ...}) = 0
getdents(4, /* 4 entries */, 32768) = 96
stat("/dev/bus/usb/001/002", {st_mode=S_IFCHR|0664,
st_rdev=makedev(189, 1), ...}) = 0
open("/dev/bus/usb/001/002", O_RDONLY) = 5
read(5, "\22\1\0\2\t\0\1@\207\200\10\200\5\0\0\0\0\1", 18) = 18
close(5) = 0
stat("/dev/bus/usb/001/001", {st_mode=S_IFCHR|0664,
st_rdev=makedev(189, 0), ...}) = 0
open("/dev/bus/usb/001/001", O_RDONLY) = 5
read(5, "\22\1\0\2\t\0\0@k\35\2\0\t\4\3\2\1\1", 18) = 18
close(5) = 0
getdents(4, /* 0 entries */, 32768) = 0
close(4) = 0
getdents(3, /* 0 entries */, 32768) = 0
close(3) = 0
open("/dev/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=3620, ...}) = 0
getdents(3, /* 181 entries */, 32768) = 5176
open("/dev/ttyS3", O_RDONLY|O_NOCTTY|O_NONBLOCK) = -1 EACCES (Permission denied)
nanosleep({tv_sec=0, tv_nsec=100000000}, NULL) = 0
open("/dev/ttyS2", O_RDONLY|O_NOCTTY|O_NONBLOCK) = -1 EACCES (Permission denied)
nanosleep({tv_sec=0, tv_nsec=100000000}, NULL) = 0
open("/dev/ttyS1", O_RDONLY|O_NOCTTY|O_NONBLOCK) = -1 EACCES (Permission denied)
nanosleep({tv_sec=0, tv_nsec=100000000}, NULL) = 0
open("/dev/ttyS0", O_RDONLY|O_NOCTTY|O_NONBLOCK) = -1 EACCES (Permission denied)
nanosleep({tv_sec=0, tv_nsec=100000000}, NULL) = 0
getdents(3, /* 0 entries */, 32768) = 0
close(3) = 0
open("/dev/bus/usb/003/003", O_RDWR) = 3
ioctl(3, USBDEVFS_CLAIMINTERFACE, 0x7ffdf7676b7c) = 0
ioctl(3, USBDEVFS_CLEAR_HALT, 0x7ffdf7676b3c) = 0
ioctl(3, USBDEVFS_CLEAR_HALT, 0x7ffdf7676b3c) = 0
pipe([4, 5]) = 0
mmap(NULL, 8392704, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f074c4ec000
mprotect(0x7f074c4ec000, 4096, PROT_NONE) = 0
clone(strace: Process 24772 attached
child_stack=0x7f074ccebff0,
flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID,
parent_tidptr=0x7f074ccec9d0, tls=0x7f074ccec700,
child_tidptr=0x7f074ccec9d0) = 24772
[pid 24772] set_robust_list(0x7f074ccec9e0, 24 <unfinished ...>
[pid 24771] rt_sigaction(SIGHUP, {sa_handler=0x55cdb7d4ed90,
sa_mask=[HUP], sa_flags=SA_RESTORER|SA_RESTART,
sa_restorer=0x7f074da1a040}, <unfinished ...>
[pid 24772] <... set_robust_list resumed> ) = 0
[pid 24771] <... rt_sigaction resumed> {sa_handler=SIG_DFL,
sa_mask=[], sa_flags=0}, 8) = 0
[pid 24772] select(5, [3 4], [3], [], NULL <unfinished ...>
[pid 24771] rt_sigaction(SIGINT, {sa_handler=0x55cdb7d4ed90,
sa_mask=[INT], sa_flags=SA_RESTORER|SA_RESTART,
sa_restorer=0x7f074da1a040}, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=0}, 8) = 0
[pid 24771] rt_sigaction(SIGTERM, {sa_handler=0x55cdb7d4ed90,
sa_mask=[TERM], sa_flags=SA_RESTORER|SA_RESTART,
sa_restorer=0x7f074da1a040}, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=0}, 8) = 0
[pid 24771] ioctl(3, USBDEVFS_SUBMITURB, 0x55cdb85caba0) = 0
[pid 24771] futex(0x7ffdf7676b54,
FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {tv_sec=1487713649,
tv_nsec=823128000}, 0xffffffff <unfinished ...>
[pid 24772] <... select resumed> ) = 1 (out [3])
[pid 24772] ioctl(3, USBDEVFS_REAPURBNDELAY, 0x7f074ccebf08) = 0
[pid 24772] futex(0x7ffdf7676b54, FUTEX_WAKE_OP_PRIVATE, 1, 1,
0x7ffdf7676b50, FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_GT<<24|0x1
<unfinished ...>
[pid 24771] <... futex resumed> ) = 0
[pid 24772] <... futex resumed> ) = 1
[pid 24771] futex(0x7ffdf7676b28, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
[pid 24772] futex(0x7ffdf7676b28, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
[pid 24771] <... futex resumed> ) = -1 EAGAIN (Resource
temporarily unavailable)
[pid 24772] <... futex resumed> ) = 0
[pid 24771] futex(0x7ffdf7676b28, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
[pid 24772] select(5, [3 4], [3], [], NULL <unfinished ...>
[pid 24771] <... futex resumed> ) = 0
[pid 24771] ioctl(3, USBDEVFS_SUBMITURB, 0x55cdb85caba0) = 0
[pid 24771] futex(0x7ffdf7676b54,
FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {tv_sec=1487713649,
tv_nsec=823864000}, 0xffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 24771] ioctl(3, USBDEVFS_DISCARDURB, 0x55cdb85caba0) = 0
[pid 24772] <... select resumed> ) = 1 (out [3])
[pid 24771] futex(0x7ffdf7676b28, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 24772] ioctl(3, USBDEVFS_REAPURBNDELAY <unfinished ...>
[pid 24771] futex(0x7ffdf7676b54, FUTEX_WAIT_PRIVATE, 3, NULL <unfinished ...>
[pid 24772] <... ioctl resumed> , 0x7f074ccebf08) = 0
[pid 24772] futex(0x7ffdf7676b54, FUTEX_WAKE_OP_PRIVATE, 1, 1,
0x7ffdf7676b50, FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_GT<<24|0x1) = 1
[pid 24771] <... futex resumed> ) = 0
[pid 24772] select(5, [3 4], [3], [], NULL <unfinished ...>
[pid 24771] futex(0x7ffdf7676b28, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 24771] fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 0), ...}) = 0
[pid 24771] write(1, "Instrument initialisation failed"...,
92Instrument initialisation failed with 'Communication protocol
breakdown' (Invalid address)!
) = 92
[pid 24771] ioctl(3, USBDEVFS_RELEASEINTERFACE, 0x7ffdf7676cec) = 0
[pid 24771] write(5, "\0", 1) = 1
[pid 24771] futex(0x7f074ccec9d0, FUTEX_WAIT, 24772, NULL <unfinished ...>
[pid 24772] <... select resumed> ) = 1 (in [4])
[pid 24772] madvise(0x7f074c4ec000, 8368128, MADV_DONTNEED) = 0
[pid 24772] exit(0) = ?
[pid 24771] <... futex resumed> ) = 0
[pid 24772] +++ exited with 0 +++
close(3) = 0
close(4) = 0
close(5) = 0
rt_sigaction(SIGHUP, {sa_handler=SIG_DFL, sa_mask=[HUP],
sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f074da1a040},
{sa_handler=0x55cdb7d4ed90, sa_mask=[HUP],
sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f074da1a040}, 8) = 0
rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[INT],
sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f074da1a040},
{sa_handler=0x55cdb7d4ed90, sa_mask=[INT],
sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f074da1a040}, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=[TERM],
sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f074da1a040},
{sa_handler=0x55cdb7d4ed90, sa_mask=[TERM],
sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f074da1a040}, 8) = 0
exit_group(-1) = ?
+++ exited with 255 +++
It looks to me like the ColorHug is not responding to the first real
message the program sends it. Digging a little deeper, the call to
ioctl(3, USBDEVFS_SUBMITURB, ...) appears to be coming from here:
Thread 1 "spotread" hit Breakpoint 3, icoms_usb_transaction
(p=p@entry=0x555555ac9110, cancelt=cancelt@entry=0x0,
transferred=transferred@entry=0x7fffffff0a5c,
ttype=ttype@entry=icom_usb_trantype_interrutpt,
endpoint=endpoint@entry=1 '\001',
buffer=buffer@entry=0x7fffffff0ad0 "\a", length=64, timeout=2000)
at spectro/usbio_lx.c:780
780 spectro/usbio_lx.c: No such file or directory.
and reading through the code, the 'buffer' argument is what it's
trying to send, so
(gdb) x/64xb buffer
0x7fffffff0ad0: 0x07 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x7fffffff0ad8: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x7fffffff0ae0: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x7fffffff0ae8: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x7fffffff0af0: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x7fffffff0af8: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x7fffffff0b00: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x7fffffff0b08: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
If I continue from that point, it breaks there again with slightly
different arguments:
Thread 1 "spotread" hit Breakpoint 3, icoms_usb_transaction
(p=0x555555ac9110, cancelt=0x0, transferred=0x7fffffff0a5c,
ttype=icom_usb_trantype_interrutpt, endpoint=129 '\201',
buffer=0x7fffffff0ad0 "\a", length=64, timeout=2000) at
spectro/usbio_lx.c:780
780 in spectro/usbio_lx.c
(gdb) x/64xb buffer
0x7fffffff0ad0: 0x07 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x7fffffff0ad8: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x7fffffff0ae0: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x7fffffff0ae8: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x7fffffff0af0: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x7fffffff0af8: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x7fffffff0b00: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x7fffffff0b08: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
and continuing again waits for two seconds and then prints the
"Instrument initialisation failed with 'Communication protocol
breakdown' (Invalid address)!" error.
Does that help any? I need to go home now but I will be able to poke
at this more tomorrow - just tell me what you want me to try.
N.B. this is a 64-bit system, incorrectly identified as "Linux 32-bit"
because (if I'm reading this code correctly) numlib/numsup.c includes
aconfig.h before either icc.h or numsup.h, so __P64__ is not defined
and ARGYLL_BUILD_STR is set wrong. Fortunately, that appears to be
the only place in the entire codebase that actually *uses* __P64__ ;-)
zw