Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Panic when opening a (dev) RRD #3238

Closed
abey79 opened this issue Sep 6, 2023 · 2 comments
Closed

Panic when opening a (dev) RRD #3238

abey79 opened this issue Sep 6, 2023 · 2 comments
Labels
😤 annoying Something in the UI / SDK is annoying to use 🪳 bug Something isn't working

Comments

@abey79
Copy link
Member

abey79 commented Sep 6, 2023

As of now on main, rerun data.rrd panics with this RRD: https://demo.rerun.io/commit/5be001c/examples/structure_from_motion/data.rrd

That 5be001c commit was one of my #3191 branch (which is pure UI code), just after merging from main yesterday.

Here is the log:

[2023-09-06T16:02:08Z INFO  re_data_source::load_file_path] Loading "/Users/hhip/Downloads/data.rrd"…
[2023-09-06T16:02:09Z WARN  re_data_store::store_db] The incoming component "rerun.tensor" had the type:
    Struct(
        [
            Field {
                name: "tensor_id",
                data_type: FixedSizeBinary(
                    16,
                ),
                is_nullable: false,
                metadata: {},
            },
            Field {
                name: "shape",
                data_type: List(
                    Field {
                        name: "item",
                        data_type: Struct(
                            [
                                Field {
                                    name: "size",
                                    data_type: UInt64,
                                    is_nullable: false,
                                    metadata: {},
                                },
                                Field {
                                    name: "name",
                                    data_type: Utf8,
                                    is_nullable: true,
                                    metadata: {},
                                },
                            ],
                        ),
                        is_nullable: false,
                        metadata: {},
                    },
                ),
                is_nullable: false,
                metadata: {},
            },
            Field {
                name: "data",
                data_type: Union(
                    [
                        Field {
                            name: "U8",
                            data_type: Binary,
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "U16",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: UInt16,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "U32",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: UInt32,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "U64",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: UInt64,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "I8",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: Int8,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "I16",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: Int16,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "I32",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: Int32,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "I64",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: Int64,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "F16",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: Float16,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "F32",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: Float32,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "F64",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: Float64,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "JPEG",
                            data_type: Binary,
                            is_nullable: false,
                            metadata: {},
                        },
                    ],
                    None,
                    Dense,
                ),
                is_nullable: false,
                metadata: {},
            },
            Field {
                name: "meaning",
                data_type: Union(
                    [
                        Field {
                            name: "Unknown",
                            data_type: Boolean,
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "ClassId",
                            data_type: Boolean,
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "Depth",
                            data_type: Boolean,
                            is_nullable: false,
                            metadata: {},
                        },
                    ],
                    None,
                    Dense,
                ),
                is_nullable: false,
                metadata: {},
            },
            Field {
                name: "meter",
                data_type: Float32,
                is_nullable: true,
                metadata: {},
            },
        ],
    )
    Expected type:
    Struct(
        [
            Field {
                name: "shape",
                data_type: List(
                    Field {
                        name: "item",
                        data_type: Struct(
                            [
                                Field {
                                    name: "size",
                                    data_type: UInt64,
                                    is_nullable: false,
                                    metadata: {},
                                },
                                Field {
                                    name: "name",
                                    data_type: Utf8,
                                    is_nullable: true,
                                    metadata: {},
                                },
                            ],
                        ),
                        is_nullable: false,
                        metadata: {},
                    },
                ),
                is_nullable: false,
                metadata: {},
            },
            Field {
                name: "data",
                data_type: Union(
                    [
                        Field {
                            name: "U8",
                            data_type: Binary,
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "U16",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: UInt16,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "U32",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: UInt32,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "U64",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: UInt64,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "I8",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: Int8,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "I16",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: Int16,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "I32",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: Int32,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "I64",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: Int64,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "F16",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: Float16,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "F32",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: Float32,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "F64",
                            data_type: List(
                                Field {
                                    name: "item",
                                    data_type: Float64,
                                    is_nullable: false,
                                    metadata: {},
                                },
                            ),
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "JPEG",
                            data_type: Binary,
                            is_nullable: false,
                            metadata: {},
                        },
                    ],
                    None,
                    Dense,
                ),
                is_nullable: false,
                metadata: {},
            },
            Field {
                name: "meaning",
                data_type: Union(
                    [
                        Field {
                            name: "Unknown",
                            data_type: Boolean,
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "ClassId",
                            data_type: Boolean,
                            is_nullable: false,
                            metadata: {},
                        },
                        Field {
                            name: "Depth",
                            data_type: Boolean,
                            is_nullable: false,
                            metadata: {},
                        },
                    ],
                    None,
                    Dense,
                ),
                is_nullable: false,
                metadata: {},
            },
            Field {
                name: "meter",
                data_type: Float32,
                is_nullable: true,
                metadata: {},
            },
        ],
    )

thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', arrow2_convert-0.5.0/src/deserialize.rs:344

   8: core::panicking::panic_fmt
             at core/src/panicking.rs:67:14
   9: core::panicking::panic
             at core/src/panicking.rs:117:5
  10: core::option::Option<T>::unwrap
             at core/src/option.rs:935:21
      <arrow2::array::list::ListArray<i32> as arrow2_convert::deserialize::ArrowArray>::iter_from_array_ref
             at arrow2_convert-0.5.0/src/deserialize.rs:78:22
      <re_components::tensor::TensorArray as arrow2_convert::deserialize::ArrowArray>::iter_from_array_ref
             at re_components/src/tensor.rs:313:63
      <re_components::tensor::Tensor as re_types::loggable::Loggable>::try_from_arrow_opt
             at re_log_types/src/lib.rs:453:30
      re_log_types::data_cell::DataCell::try_to_native_mono
             at re_log_types/src/data_cell.rs:371:29
      re_arrow_store::store_helpers::<impl re_arrow_store::store::DataStore>::query_latest_component
             at re_arrow_store/src/store_helpers.rs:55:9
  11: <re_space_view_tensor::view_part_system::TensorSystem as re_viewer_context::space_view::view_part_system::ViewPartSystem>::queries_any_components_of
             at re_space_view_tensor/src/view_part_system.rs:38:31
  12: re_viewport::space_view_heuristics::identify_entities_per_system_per_class
             at re_viewport/src/space_view_heuristics.rs:511:33
  13: re_viewport::viewport::Viewport::on_frame_start
             at re_viewport/src/viewport.rs:158:45
  14: re_viewer::app_state::AppState::show
             at re_viewer/src/app_state.rs:133:9
  15: re_viewer::app::App::ui::{{closure}}
             at re_viewer/src/app.rs:654:25
      core::ops::function::FnOnce::call_once{{vtable.shim}}
             at core/src/ops/function.rs:250:5
  16: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at alloc/src/boxed.rs:1993:9
  17: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at alloc/src/boxed.rs:1993:9
      egui::containers::frame::Frame::show_dyn
             at egui/src/containers/frame.rs:223:19
  18: egui::containers::frame::Frame::show
             at egui/src/containers/frame.rs:214:9
      egui::containers::panel::CentralPanel::show_inside_dyn
             at egui/src/containers/panel.rs:1025:15
  19: egui::containers::panel::CentralPanel::show_dyn
             at egui/src/containers/panel.rs:1053:30
  20: egui::containers::panel::CentralPanel::show
             at egui/src/containers/panel.rs:1037:9
      re_viewer::app::App::ui
             at re_viewer/src/app.rs:603:9
      <re_viewer::app::App as eframe::epi::App>::update
             at re_viewer/src/app.rs:1052:9
  21: eframe::native::epi_integration::EpiIntegration::update::{{closure}}
             at eframe/src/native/epi_integration.rs:520:13
      egui::context::Context::run
             at egui/src/context.rs:387:9
  22: eframe::native::epi_integration::EpiIntegration::update
             at eframe/src/native/epi_integration.rs:518:27
  23: <eframe::native::run::wgpu_integration::WgpuWinitApp as eframe::native::run::WinitApp>::run_ui_and_paint
             at eframe/src/native/run.rs:1322:21
  24: eframe::native::run::run_and_return::{{closure}}
             at eframe/src/native/run.rs:161:17
  25: <winit::platform_impl::platform::app_state::EventLoopHandler<T> as winit::platform_impl::platform::app_state::EventHandler>::handle_nonuser_event::{{closure}}
      winit::platform_impl::platform::app_state::EventLoopHandler<T>::with_callback
             at winit-0.28.6/src/platform_impl/macos/app_state.rs:70:13
      <winit::platform_impl::platform::app_state::EventLoopHandler<T> as winit::platform_impl::platform::app_state::EventHandler>::handle_nonuser_event
             at winit-0.28.6/src/platform_impl/macos/app_state.rs:91:9
  26: winit::platform_impl::platform::app_state::Handler::handle_nonuser_event
             at winit-0.28.6/src/platform_impl/macos/app_state.rs:199:21
  27: winit::platform_impl::platform::app_state::AppState::cleared
             at winit-0.28.6/src/platform_impl/macos/app_state.rs:388:13
  28: winit::platform_impl::platform::observer::control_flow_end_handler::{{closure}}
             at winit-0.28.6/src/platform_impl/macos/observer.rs:79:21
      winit::platform_impl::platform::observer::control_flow_handler::{{closure}}
             at winit-0.28.6/src/platform_impl/macos/observer.rs:41:9
      std::panicking::try::do_call
             at std/src/panicking.rs:500:40
      std::panicking::try
             at std/src/panicking.rs:464:19
      std::panic::catch_unwind
             at std/src/panic.rs:142:14
      winit::platform_impl::platform::event_loop::stop_app_on_panic
             at winit-0.28.6/src/platform_impl/macos/event_loop.rs:245:11
      winit::platform_impl::platform::observer::control_flow_handler
             at winit-0.28.6/src/platform_impl/macos/observer.rs:39:5
      winit::platform_impl::platform::observer::control_flow_end_handler
             at winit-0.28.6/src/platform_impl/macos/observer.rs:74:9
  29: <unknown>
  30: <unknown>
  31: <unknown>
  32: <unknown>
  33: <unknown>
  34: <unknown>
  35: <unknown>
  36: <unknown>
  37: <unknown>
  38: <unknown>
  39: winit::platform_impl::platform::event_loop::EventLoop<T>::run_return::{{closure}}
             at winit-0.28.6/src/platform_impl/macos/event_loop.rs:220:22
      objc2::rc::autorelease::autoreleasepool
             at objc2-0.3.0-beta.3.patch-leaks.3/src/rc/autorelease.rs:313:5
      winit::platform_impl::platform::event_loop::EventLoop<T>::run_return
             at winit-0.28.6/src/platform_impl/macos/event_loop.rs:211:25
  40: <winit::event_loop::EventLoop<T> as winit::platform::run_return::EventLoopExtRunReturn>::run_return
             at winit-0.28.6/src/platform/run_return.rs:51:9
      eframe::native::run::run_and_return
             at eframe/src/native/run.rs:139:16
      eframe::native::run::wgpu_integration::run_wgpu::{{closure}}
             at eframe/src/native/run.rs:1517:17
      eframe::native::run::with_event_loop::{{closure}}
             at eframe/src/native/run.rs:122:9
      std::thread::local::LocalKey<T>::try_with
             at std/src/thread/local.rs:270:16
      std::thread::local::LocalKey<T>::with
             at std/src/thread/local.rs:246:9
      eframe::native::run::with_event_loop
             at eframe/src/native/run.rs:115:16
  41: eframe::native::run::wgpu_integration::run_wgpu
             at eframe/src/native/run.rs:1514:13

Troubleshooting Rerun: https://www.rerun.io/docs/getting-started/troubleshooting
Report bugs: https://github.com/rerun-io/rerun/issues
@abey79 abey79 added 😤 annoying Something in the UI / SDK is annoying to use 👀 needs triage This issue needs to be triaged by the Rerun team labels Sep 6, 2023
@abey79 abey79 changed the title Panic when opening a RRD Panic when opening a (dev) RRD Sep 6, 2023
@abey79 abey79 added 🪳 bug Something isn't working and removed 👀 needs triage This issue needs to be triaged by the Rerun team labels Sep 6, 2023
@emilk
Copy link
Member

emilk commented Sep 7, 2023

The problem will disappear together with arrow2_convert when we release 0.9

@emilk
Copy link
Member

emilk commented Sep 25, 2023

This no longer crashes on main

@emilk emilk closed this as completed Sep 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
😤 annoying Something in the UI / SDK is annoying to use 🪳 bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants