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

Not able to inspect ROOT files #16

Open
marromlam opened this issue Jun 27, 2022 · 1 comment
Open

Not able to inspect ROOT files #16

marromlam opened this issue Jun 27, 2022 · 1 comment

Comments

@marromlam
Copy link

I am trying to read some ROOT files with root-ls but all of them panic. I can inspect your simple.root and some other alice-open-data tuples, but I cannot read mine.

I just for example use uproot to create the following simple tuple

import uproot3 as uproot
import numpy as np

arrs = {
  "var": np.int32([1,1,1,2,2,3])
}

with uproot.recreate("test.root") as rf:
    rf["tree"] = uproot.newtree({k: v.dtype.name for k,v in arrs.items()})
    rf["tree"].extend({k: v for k,v in arrs.items()})

Then I just run

RUST_BACKTRACE=full root-ls test.root inspect

and I get

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error(([0, 1], Eof))', /Users/loremorm/.cargo/registry/src/github.com-1ecc6299db9ec823/root-io-0.3.0/src/core/tkey.rs:80:39
stack backtrace:
   0:        0x10a85ebe1 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h0d1bc6b9a6cb5b34
   1:        0x10a88159b - core::fmt::write::h64ddbe43c958ac83
   2:        0x10a84ffb6 - std::io::Write::write_fmt::h7e453fd0bb915ce8
   3:        0x10a85ad47 - std::panicking::default_hook::{{closure}}::hc0a95f88628ea979
   4:        0x10a85a98c - std::panicking::default_hook::hf67658777aa79be9
   5:        0x10a85b2ec - std::panicking::rust_panic_with_hook::h59a745e8579c1996
   6:        0x10a85f50e - std::panicking::begin_panic_handler::{{closure}}::h77c7cdc59f5a8e41
   7:        0x10a85ed07 - std::sys_common::backtrace::__rust_end_short_backtrace::hc399a88e87a79fbd
   8:        0x10a85ade3 - _rust_begin_unwind
   9:        0x10a89f68f - core::panicking::panic_fmt::h0686ac972197ca01
  10:        0x10a89f765 - core::result::unwrap_failed::hf19da9b6244b79be
  11:        0x10a40f659 - root_io::core::tkey::tkey::hbf501c62fbfd28c1
  12:        0x10a3fc463 - root_ls::main::{{closure}}::hd5c9b0f5a15d2482
  13:        0x10a3e3df4 - tokio::runtime::thread_pool::ThreadPool::block_on::h9ce30a0c020264be
  14:        0x10a3e7201 - tokio::runtime::context::enter::h07a823b06ca40c0c
  15:        0x10a3dbc49 - tokio::runtime::handle::Handle::enter::h4df402bf47480fa2
  16:        0x10a3dc93c - root_ls::main::h010c1be3c80bf1c7
  17:        0x10a3e3ef6 - std::sys_common::backtrace::__rust_begin_short_backtrace::hdb35734b6e8e6c56
  18:        0x10a3f76ac - std::rt::lang_start::{{closure}}::hf40730a20f9f7039
  19:        0x10a84aeb5 - std::rt::lang_start_internal::ha766b113f2bd4ad1
  20:        0x10a3de549 - _main

Are there any special requirements for the ROOT files root-ls can open?

@cbourjau
Copy link
Owner

The ROOT file format is unfortunately quite undocumented. This project was primarily aimed at parsing ALICE's public ESD files which were created with a fairly old ROOT version. It can well be that more recent schemata of ROOT files are incompatible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants