ruby-usb icon indicating copy to clipboard operation
ruby-usb copied to clipboard

get_string_simple() dies with EIO

Open cjameshuff opened this issue 13 years ago • 1 comments

The code:

USB.devices.each do |dev|
    puts dev
    pp dev
    puts ""
end

produces the following error:

#<USB::Device:0x000001008a3710>
/Users/cjh/.rvm/gems/ruby-1.9.2-p180/gems/ruby-usb-0.2.1/lib/usb.rb:412:in `usb_get_string_simple': Input/output error - usb_get_string_simple (Errno::EIO)
    from /Users/cjh/.rvm/gems/ruby-1.9.2-p180/gems/ruby-usb-0.2.1/lib/usb.rb:412:in `get_string_simple'
    from /Users/cjh/.rvm/gems/ruby-1.9.2-p180/gems/ruby-usb-0.2.1/lib/usb.rb:253:in `block in manufacturer'
    from /Users/cjh/.rvm/gems/ruby-1.9.2-p180/gems/ruby-usb-0.2.1/lib/usb.rb:276:in `open'
    from /Users/cjh/.rvm/gems/ruby-1.9.2-p180/gems/ruby-usb-0.2.1/lib/usb.rb:253:in `manufacturer'
    from /Users/cjh/.rvm/gems/ruby-1.9.2-p180/gems/ruby-usb-0.2.1/lib/usb.rb:235:in `inspect'
    from /Users/cjh/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/pp.rb:290:in `pretty_print'
    from /Users/cjh/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/pp.rb:154:in `block in pp'
    from /Users/cjh/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/prettyprint.rb:199:in `block (2 levels) in group'
    from /Users/cjh/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/prettyprint.rb:225:in `nest'
    from /Users/cjh/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/prettyprint.rb:198:in `block in group'
    from /Users/cjh/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/prettyprint.rb:210:in `group_sub'
    from /Users/cjh/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/prettyprint.rb:197:in `group'
    from /Users/cjh/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/pp.rb:154:in `pp'
    from /Users/cjh/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/pp.rb:77:in `block in pp'
    from /Users/cjh/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/pp.rb:121:in `guard_inspect_key'
    from /Users/cjh/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/pp.rb:77:in `pp'
    from /Users/cjh/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/pp.rb:60:in `block in pp'
    from /Users/cjh/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/pp.rb:59:in `each'
    from /Users/cjh/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/pp.rb:59:in `pp'
    from ./lpcprog.rb:45:in `block in <main>'
    from ./lpcprog.rb:43:in `each'
    from ./lpcprog.rb:43:in `<main>'

Adding Errno::EIO to the list of errors rescued from in get_string_simple() avoids this error and does not appear to cause any issues. I have not tracked down exactly what is happening, and don't know if it is a sign of a deeper problem. Anyone seen this before? This is on Mac OS X 10.6.8, and as you can probably guess, Ruby 1.9.2-p180 under RVM.

cjameshuff avatar Sep 23 '11 05:09 cjameshuff

I am having this same issue.

synthead avatar Jun 10 '12 21:06 synthead