Skip to content

get_string_simple() dies with EIO #5

@cjameshuff

Description

@cjameshuff

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions