kaitai-io / kaitai_struct_visualizer

Kaitai Struct: visualizer and hex viewer tool
https://rubygems.org/gems/kaitai-struct-visualizer
GNU General Public License v3.0
280 stars 25 forks source link

instance field array crashes #60

Open phr34k opened 11 months ago

phr34k commented 11 months ago

The visualizer crashes when you use it to expose an array based property in instance fields. It seems to work fine for user-defined structs, I believe it's related not being able to figure out the associated part filestream to display.

GreyCat commented 11 months ago

Could you provide a simple example that reproduces this problem?

generalmimon commented 11 months ago

Could you provide a simple example that reproduces this problem?

I think I've found one:

meta:
  id: value_inst_array
instances:
  v:
    value: '[1000, 2000, 3000]'

After expanding v in the object tree:

C:/temp/kaitai_struct/visualizer/lib/kaitai/struct/visualizer/node.rb:212:in `explore': Unable to get debugging aid for array: {} using ID 'v' (RuntimeError)
        from C:/temp/kaitai_struct/visualizer/lib/kaitai/struct/visualizer/node.rb:64:in `open'
        from C:/temp/kaitai_struct/visualizer/lib/kaitai/struct/visualizer/tree.rb:113:in `process_keypress'
        from C:/temp/kaitai_struct/visualizer/lib/kaitai/struct/visualizer/tree.rb:75:in `block in run'
        from C:/temp/kaitai_struct/visualizer/lib/kaitai/struct/visualizer/tree.rb:41:in `loop'
        from C:/temp/kaitai_struct/visualizer/lib/kaitai/struct/visualizer/tree.rb:41:in `run'
        from C:/temp/kaitai_struct/visualizer/lib/kaitai/struct/visualizer/visualizer.rb:23:in `run'
        from ../bin/ksv:65:in `<main>'