JuliaHEP / UnROOT.jl

Native Julia I/O package to work with CERN ROOT files objects (TTree and RNTuple)
https://juliahep.github.io/UnROOT.jl/
MIT License
97 stars 17 forks source link

[RNTuple] OutOfMemoryError in show() #321

Closed peremato closed 5 months ago

peremato commented 6 months ago

With a RNTuple file (RC2) and the master branch of UnROOT I am getting OutOfMemoryErrors when getting columns. The file to reproduce can be obtain with this shared link: https://cernbox.cern.ch/s/LekZWhLdulXucni

Here is the reproducer:

julia> using UnROOT

julia> tfile = ROOTFile("/Users/mato/cernbox/Data/events_000189367-rntuple-rc2.root")
ROOTFile with 2 entries and 0 streamers.
/Users/mato/cernbox/Data/events_000189367-rntuple-rc2.root
├─ events (ROOT::Experimental::RNTuple)
└─ podio_metadata (ROOT::Experimental::RNTuple)

julia> events = LazyTree(tfile,"events");
julia> evt = events[1];

julia> evt = events[1];

julia> evt.ReconstructedParticles
83-element StructArray(view(::Vector{Int32}, 0x0000000000000001:0x0000000000000053), view(::Vector{Float32}, 0x0000000000000001:0x0000000000000053), StructArray(view(::Vector{Float32}, 0x0000000000000001:0x0000000000000053), view(::Vector{Float32}, 0x0000000000000001:0x0000000000000053), view(::Vector{Float32}, 0x0000000000000001:0x0000000000000053)), StructArray(view(::Vector{Float32}, 0x0000000000000001:0x0000000000000053), view(::Vector{Float32}, 0x0000000000000001:0x0000000000000053), view(::Vector{Float32}, 0x0000000000000001:0x0000000000000053)), view(::Vector{Float32}, 0x0000000000000001:0x0000000000000053), view(::Vector{Float32}, 0x0000000000000001:0x0000000000000053), view(::Vector{Float32}, 0x0000000000000001:0x0000000000000053), view(reinterpret(StaticArraysCore.SVector{10, Float32}, ::Vector{Float32}), 0x0000000000000001:0x0000000000000053), view(::Vector{UInt32}, 0x0000000000000001:0x0000000000000053), view(::Vector{UInt32}, 0x0000000000000001:0x0000000000000053), view(::Vector{UInt32}, 0x0000000000000001:0x0000000000000053), view(::Vector{UInt32}, 0x0000000000000001:0x0000000000000053), view(::Vector{UInt32}, 0x0000000000000001:0x0000000000000053), view(::Vector{UInt32}, 0x0000000000000001:0x0000000000000053), view(::Vector{UInt32}, 0x0000000000000001:0x0000000000000053), view(::Vector{UInt32}, 0x0000000000000001:0x0000000000000053)) with eltype @NamedTuple{type::Int32, energy::Float32, momentum::@NamedTuple{x::Float32, y::Float32, z::Float32}, referencePoint::@NamedTuple{x::Float32, y::Float32, z::Float32}, charge::Float32, mass::Float32, goodnessOfPID::Float32, covMatrix::StaticArraysCore.SVector{10, Float32}, clusters_begin::UInt32, clusters_end::UInt32, tracks_begin::UInt32, tracks_end::UInt32, particles_begin::UInt32, particles_end::UInt32, particleIDs_begin::UInt32, particleIDs_end::UInt32}:
 (type = 0, energy = 0.20443569, momentum = (x = -0.12986459, y = 0.027864397, z = -0.06835884), referencePoint = (x = 0.0, y = 0.0, z = 0.0), charge = -1.0, mass = 0.13957039, goodnessOfPID = 0.0, covMatrix = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], clusters_begin = 0x00000000, clusters_end = 0x00000000, tracks_begin = 0x00000000, tracks_end = 0x00000001, particles_begin = 0x00000000, particles_end = 0x00000000, particleIDs_begin = 0x00000000, particleIDs_end = 0x00000001)
 (type = 0, energy = 0.19994973, momentum = (x = -0.1047018, y = 0.038945146, z = -0.08955956), referencePoint = (x = 0.0, y = 0.0, z = 0.0), charge = 1.0, mass = 0.13957039, goodnessOfPID = 0.0, covMatrix = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], clusters_begin = 0x00000000, clusters_end = 0x00000000, tracks_begin = 0x00000001, tracks_end = 0x00000002, particles_begin = 0x00000000, particles_end = 0x00000000, particleIDs_begin = 0x00000001, particleIDs_end = 0x00000002)
 (type = 0, energy = 0.29208112, momentum = (x = -0.17289947, y = 0.18287736, z = -0.04993235), referencePoint = (x = 0.0, y = 0.0, z = 0.0), charge = -1.0, mass = 0.13957039, goodnessOfPID = 0.0, covMatrix = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], clusters_begin = 0x00000000, clusters_end = 0x00000000, tracks_begin = 0x00000002, tracks_end = 0x00000003, particles_begin = 0x00000000, particles_end = 0x00000000, particleIDs_begin = 0x00000002, particleIDs_end = 0x00000003)
 (type = 0, energy = 0.83355635, momentum = (x = -0.091049485, y = -0.30193385, z = -0.7588692), referencePoint = (x = 0.0, y = 0.0, z = 0.0), charge = -1.0, mass = 0.13957039, goodnessOfPID = 0.0, covMatrix = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], clusters_begin = 0x00000000, clusters_end = 0x00000000, tracks_begin = 0x00000003, tracks_end = 0x00000004, particles_begin = 0x00000000, particles_end = 0x00000000, particleIDs_begin = 0x00000003, particleIDs_end = 0x00000004)
 (type = 0, energy = 0.7275338, momentum = (x = 0.21555881, y = -0.22806452, z = -0.64136314), referencePoint = (x = 0.0, y = 0.0, z = 0.0), charge = 1.0, mass = 0.13957039, goodnessOfPID = 0.0, covMatrix = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], clusters_begin = 0x00000000, clusters_end = 0x00000000, tracks_begin = 0x00000004, tracks_end = 0x00000005, particles_begin = 0x00000000, particles_end = 0x00000000, particleIDs_begin = 0x00000004, particleIDs_end = 0x00000005)
 (type = 0, energy = 0.37446955, momentum = (x = -0.22464286, y = -0.20334218, z = -0.17010352), referencePoint = (x = 0.0, y = 0.0, z = 0.0), charge = 1.0, mass = 0.13957039, goodnessOfPID = 0.0, covMatrix = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], clusters_begin = 0x00000000, clusters_end = 0x00000000, tracks_begin = 0x00000005, tracks_end = 0x00000006, particles_begin = 0x00000000, particles_end = 0x00000000, particleIDs_begin = 0x00000005, particleIDs_end = 0x00000006)
 (type = 0, energy = 4.5689936, momentum = (x = -1.5054878, y = -1.8047847, z = -3.915671), referencePoint = (x = 0.0, y = 0.0, z = 0.0), charge = 1.0, mass = 0.13957039, goodnessOfPID = 0.0, covMatrix = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], clusters_begin = 0x00000000, clusters_end = 0x00000000, tracks_begin = 0x00000006, tracks_end = 0x00000007, particles_begin = 0x00000000, particles_end = 0x00000000, particleIDs_begin = 0x00000006, particleIDs_end = 0x00000007)
 (type = 0, energy = 1.9894301, momentum = (x = -0.8030898, y = -0.9157472, z = -1.5667821), referencePoint = (x = 0.0, y = 0.0, z = 0.0), charge = -1.0, mass = 0.13957039, goodnessOfPID = 0.0, covMatrix = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], clusters_begin = 0x00000000, clusters_end = 0x00000000, tracks_begin = 0x00000007, tracks_end = 0x00000008, particles_begin = 0x00000000, particles_end = 0x00000000, particleIDs_begin = 0x00000007, particleIDs_end = 0x00000008)
 (type = 0, energy = 2.2148736, momentum = (x = -0.59422237, y = -1.2480376, z = -1.4541721), referencePoint = (x = 0.0, y = 0.0, z = 0.0), charge = 1.0, mass = 0.13957039, goodnessOfPID = 0.0, covMatrix = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], clusters_begin = 0x00000000, clusters_end = 0x00000000, tracks_begin = 0x00000008, tracks_end = 0x00000009, particles_begin = 0x00000000, particles_end = 0x00000000, particleIDs_begin = 0x00000008, particleIDs_end = 0x00000009)
 (type = 0, energy = 0.915481, momentum = (x = -0.7203761, y = -0.0105718, z = -0.54733187), referencePoint = (x = 0.0, y = 0.0, z = 0.0), charge = 1.0, mass = 0.13957039, goodnessOfPID = 0.0, covMatrix = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], clusters_begin = 0x00000000, clusters_end = 0x00000000, tracks_begin = 0x00000009, tracks_end = 0x0000000a, particles_begin = 0x00000000, particles_end = 0x00000000, particleIDs_begin = 0x00000009, particleIDs_end = 0x0000000a)
 (type = 0, energy = 2.3581483, momentum = (x = -1.033541, y = -1.4063002, z = -1.5797141), referencePoint = (x = 0.0, y = 0.0, z = 0.0), charge = -1.0, mass = 0.13957039, goodnessOfPID = 0.0, covMatrix = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], clusters_begin = 0x00000000, clusters_end = 0x00000000, tracks_begin = 0x0000000a, tracks_end = 0x0000000b, particles_begin = 0x00000000, particles_end = 0x00000000, particleIDs_begin = 0x0000000a, particleIDs_end = 0x0000000b)
 (type = 0, energy = 0.81072587, momentum = (x = -0.5913454, y = -0.3650383, z = -0.39351526), referencePoint = (x = 0.0, y = 0.0, z = 0.0), charge = -1.0, mass = 0.13957039, goodnessOfPID = 0.0, covMatrix = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], clusters_begin = 0x00000000, clusters_end = 0x00000000, tracks_begin = 0x0000000b, tracks_end = 0x0000000c, particles_begin = 0x00000000, particles_end = 0x00000000, particleIDs_begin = 0x0000000b, particleIDs_end = 0x0000000c)
 (type = 0, energy = 11.4611635, momentum = (x = -0.27757546, y = 10.611775, z = -4.3187914), referencePoint = (x = 0.0, y = 0.0, z = 0.0), charge = -1.0, mass = 0.13957039, goodnessOfPID = 0.0, covMatrix = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], clusters_begin = 0x00000000, clusters_end = 0x00000000, tracks_begin = 0x0000000c, tracks_end = 0x0000000d, particles_begin = 0x00000000, particles_end = 0x00000000, particleIDs_begin = 0x0000000c, particleIDs_end = 0x0000000d)
 (type = 0, energy = 1.8676314, momentum = (x = 1.368267, y = -1.078922, z = -0.6575256), referencePoint = (x = 0.0, y = 0.0, z = 0.0), charge = -1.0, mass = 0.13957039, goodnessOfPID = 0.0, covMatrix = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], clusters_begin = 0x00000000, clusters_end = 0x00000000, tracks_begin = 0x0000000d, tracks_end = 0x0000000e, particles_begin = 0x00000000, particles_end = 0x00000000, particleIDs_begin = 0x0000000d, particleIDs_end = 0x0000000e)
 (type = 0, energy = 1.1010642, momentum = (x = 0.06854927, y = 1.0366745, z = -0.3368523), referencePoint = (x = 0.0, y = 0.0, z = 0.0), charge = 1.0, mass = 0.13957039, goodnessOfPID = 0.0, covMatrix = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], clusters_begin = 0x00000000, clusters_end = 0x00000000, tracks_begin = 0x0000000e, tracks_end = 0x0000000f, particles_begin = 0x00000000, particles_end = 0x00000000, particleIDs_begin = 0x0000000e, particleIDs_end = 0x0000000f)
 Error showing value of type StructArrays.StructVector{@NamedTuple{type::Int32, energy::Float32, momentum::@NamedTuple{x::Float32, y::Float32, z::Float32}, referencePoint::@NamedTuple{x::Float32, y::Float32, z::Float32}, charge::Float32, mass::Float32, goodnessOfPID::Float32, covMatrix::StaticArraysCore.SVector{10, Float32}, clusters_begin::UInt32, clusters_end::UInt32, tracks_begin::UInt32, tracks_end::UInt32, particles_begin::UInt32, particles_end::UInt32, particleIDs_begin::UInt32, particleIDs_end::UInt32}, @NamedTuple{type::SubArray{Int32, 1, Vector{Int32}, Tuple{UnitRange{UnROOT.Index64}}, true}, energy::SubArray{Float32, 1, Vector{Float32}, Tuple{UnitRange{UnROOT.Index64}}, true}, momentum::StructArrays.StructVector{@NamedTuple{x::Float32, y::Float32, z::Float32}, @NamedTuple{x::SubArray{Float32, 1, Vector{Float32}, Tuple{UnitRange{UnROOT.Index64}}, true}, y::SubArray{Float32, 1, Vector{Float32}, Tuple{UnitRange{UnROOT.Index64}}, true}, z::SubArray{Float32, 1, Vector{Float32}, Tuple{UnitRange{UnROOT.Index64}}, true}}, Int64}, referencePoint::StructArrays.StructVector{@NamedTuple{x::Float32, y::Float32, z::Float32}, @NamedTuple{x::SubArray{Float32, 1, Vector{Float32}, Tuple{UnitRange{UnROOT.Index64}}, true}, y::SubArray{Float32, 1, Vector{Float32}, Tuple{UnitRange{UnROOT.Index64}}, true}, z::SubArray{Float32, 1, Vector{Float32}, Tuple{UnitRange{UnROOT.Index64}}, true}}, Int64}, charge::SubArray{Float32, 1, Vector{Float32}, Tuple{UnitRange{UnROOT.Index64}}, true}, mass::SubArray{Float32, 1, Vector{Float32}, Tuple{UnitRange{UnROOT.Index64}}, true}, goodnessOfPID::SubArray{Float32, 1, Vector{Float32}, Tuple{UnitRange{UnROOT.Index64}}, true}, covMatrix::SubArray{StaticArraysCore.SVector{10, Float32}, 1, Base.ReinterpretArray{StaticArraysCore.SVector{10, Float32}, 1, Float32, Vector{Float32}, false}, Tuple{UnitRange{UnROOT.Index64}}, true}, clusters_begin::SubArray{UInt32, 1, Vector{UInt32}, Tuple{UnitRange{UnROOT.Index64}}, true}, clusters_end::SubArray{UInt32, 1, Vector{UInt32}, Tuple{UnitRange{UnROOT.Index64}}, true}, tracks_begin::SubArray{UInt32, 1, Vector{UInt32}, Tuple{UnitRange{UnROOT.Index64}}, true}, tracks_end::SubArray{UInt32, 1, Vector{UInt32}, Tuple{UnitRange{UnROOT.Index64}}, true}, particles_begin::SubArray{UInt32, 1, Vector{UInt32}, Tuple{UnitRange{UnROOT.Index64}}, true}, particles_end::SubArray{UInt32, 1, Vector{UInt32}, Tuple{UnitRange{UnROOT.Index64}}, true}, particleIDs_begin::SubArray{UInt32, 1, Vector{UInt32}, Tuple{UnitRange{UnROOT.Index64}}, true}, particleIDs_end::SubArray{UInt32, 1, Vector{UInt32}, Tuple{UnitRange{UnROOT.Index64}}, true}}, Int64}:
ERROR: OutOfMemoryError()
Stacktrace:
  [1] _string_n
    @ ./strings/string.jl:90 [inlined]
  [2] repeat(s::String, r::UnROOT.Index64)
    @ Base ./strings/substring.jl:267
  [3] print_matrix_vdots(io::IOContext{Base.TTY}, vdots::String, A::Vector{Tuple{…}}, sep::String, M::Int64, m::Int64, pad_right::Bool)
    @ Base ./arrayshow.jl:138
  [4] _print_matrix(io::IOContext{…}, X::AbstractVecOrMat, pre::String, sep::String, post::String, hdots::String, vdots::String, ddots::String, hmod::Int64, vmod::Int64, rowsA::UnitRange{…}, colsA::UnitRange{…})
    @ Base ./arrayshow.jl:240
  [5] print_matrix(io::IOContext{…}, X::StructArrays.StructVector{…}, pre::String, sep::String, post::String, hdots::String, vdots::String, ddots::String, hmod::Int64, vmod::Int64)
    @ Base ./arrayshow.jl:171
  [6] 
    @ Base ./arrayshow.jl:171 [inlined]
  [7] print_array
    @ ./arrayshow.jl:358 [inlined]
  [8] show(io::IOContext{Base.TTY}, ::MIME{Symbol("text/plain")}, X::StructArrays.StructVector{@NamedTuple{…}, @NamedTuple{…}, Int64})
    @ Base ./arrayshow.jl:399
  [9] (::REPL.var"#55#56"{REPL.REPLDisplay{REPL.LineEditREPL}, MIME{Symbol("text/plain")}, Base.RefValue{Any}})(io::Any)
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:273
 [10] with_repl_linfo(f::Any, repl::REPL.LineEditREPL)
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:569
 [11] display(d::REPL.REPLDisplay, mime::MIME{Symbol("text/plain")}, x::Any)
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:259
 [12] display
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:278 [inlined]
 [13] display(x::Any)
    @ Base.Multimedia ./multimedia.jl:340
 [14] #invokelatest#2
    @ ./essentials.jl:887 [inlined]
 [15] invokelatest
    @ ./essentials.jl:884 [inlined]
 [16] print_response(errio::IO, response::Any, show_value::Bool, have_color::Bool, specialdisplay::Union{Nothing, AbstractDisplay})
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:315
 [17] (::REPL.var"#57#58"{REPL.LineEditREPL, Pair{Any, Bool}, Bool, Bool})(io::Any)
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:284
 [18] with_repl_linfo(f::Any, repl::REPL.LineEditREPL)
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:569
 [19] print_response(repl::REPL.AbstractREPL, response::Any, show_value::Bool, have_color::Bool)
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:282
 [20] (::REPL.var"#do_respond#80"{…})(s::REPL.LineEdit.MIState, buf::Any, ok::Bool)
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:911
 [21] #invokelatest#2
    @ Base ./essentials.jl:887 [inlined]
 [22] invokelatest
    @ Base ./essentials.jl:884 [inlined]
 [23] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/LineEdit.jl:2656
 [24] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:1312
 [25] (::REPL.var"#62#68"{REPL.LineEditREPL, REPL.REPLBackendRef})()
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:386
Some type information was truncated. Use `show(err)` to see complete types.

julia> evt.ReconstructedParticles.momentum
83-element StructArray(view(::Vector{Float32}, 0x0000000000000001:0x0000000000000053), view(::Vector{Float32}, 0x0000000000000001:0x0000000000000053), view(::Vector{Float32}, 0x0000000000000001:0x0000000000000053)) with eltype @NamedTuple{x::Float32, y::Float32, z::Float32}:
 (x = -0.12986459, y = 0.027864397, z = -0.06835884)
 (x = -0.1047018, y = 0.038945146, z = -0.08955956)
 (x = -0.17289947, y = 0.18287736, z = -0.04993235)
 (x = -0.091049485, y = -0.30193385, z = -0.7588692)
 (x = 0.21555881, y = -0.22806452, z = -0.64136314)
 (x = -0.22464286, y = -0.20334218, z = -0.17010352)
 (x = -1.5054878, y = -1.8047847, z = -3.915671)
 (x = -0.8030898, y = -0.9157472, z = -1.5667821)
 (x = -0.59422237, y = -1.2480376, z = -1.4541721)
 (x = -0.7203761, y = -0.0105718, z = -0.54733187)
 (x = -1.033541, y = -1.4063002, z = -1.5797141)
 (x = -0.5913454, y = -0.3650383, z = -0.39351526)
 (x = -0.27757546, y = 10.611775, z = -4.3187914)
 (x = 1.368267, y = -1.078922, z = -0.6575256)
 (x = 0.06854927, y = 1.0366745, z = -0.3368523)
 Error showing value of type StructArrays.StructVector{@NamedTuple{x::Float32, y::Float32, z::Float32}, @NamedTuple{x::SubArray{Float32, 1, Vector{Float32}, Tuple{UnitRange{UnROOT.Index64}}, true}, y::SubArray{Float32, 1, Vector{Float32}, Tuple{UnitRange{UnROOT.Index64}}, true}, z::SubArray{Float32, 1, Vector{Float32}, Tuple{UnitRange{UnROOT.Index64}}, true}}, Int64}:
ERROR: OutOfMemoryError()
Stacktrace:
  [1] _string_n
    @ ./strings/string.jl:90 [inlined]
  [2] repeat(s::String, r::UnROOT.Index64)
    @ Base ./strings/substring.jl:267
  [3] print_matrix_vdots(io::IOContext{Base.TTY}, vdots::String, A::Vector{Tuple{…}}, sep::String, M::Int64, m::Int64, pad_right::Bool)
    @ Base ./arrayshow.jl:138
  [4] _print_matrix(io::IOContext{…}, X::AbstractVecOrMat, pre::String, sep::String, post::String, hdots::String, vdots::String, ddots::String, hmod::Int64, vmod::Int64, rowsA::UnitRange{…}, colsA::UnitRange{…})
    @ Base ./arrayshow.jl:240
  [5] print_matrix(io::IOContext{…}, X::StructArrays.StructVector{…}, pre::String, sep::String, post::String, hdots::String, vdots::String, ddots::String, hmod::Int64, vmod::Int64)
    @ Base ./arrayshow.jl:171
  [6] 
    @ Base ./arrayshow.jl:171 [inlined]
  [7] print_array
    @ ./arrayshow.jl:358 [inlined]
  [8] show(io::IOContext{Base.TTY}, ::MIME{Symbol("text/plain")}, X::StructArrays.StructVector{@NamedTuple{…}, @NamedTuple{…}, Int64})
    @ Base ./arrayshow.jl:399
  [9] (::REPL.var"#55#56"{REPL.REPLDisplay{REPL.LineEditREPL}, MIME{Symbol("text/plain")}, Base.RefValue{Any}})(io::Any)
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:273
 [10] with_repl_linfo(f::Any, repl::REPL.LineEditREPL)
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:569
 [11] display(d::REPL.REPLDisplay, mime::MIME{Symbol("text/plain")}, x::Any)
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:259
 [12] display
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:278 [inlined]
 [13] display(x::Any)
    @ Base.Multimedia ./multimedia.jl:340
 [14] #invokelatest#2
    @ ./essentials.jl:887 [inlined]
 [15] invokelatest
    @ ./essentials.jl:884 [inlined]
 [16] print_response(errio::IO, response::Any, show_value::Bool, have_color::Bool, specialdisplay::Union{Nothing, AbstractDisplay})
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:315
 [17] (::REPL.var"#57#58"{REPL.LineEditREPL, Pair{Any, Bool}, Bool, Bool})(io::Any)
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:284
 [18] with_repl_linfo(f::Any, repl::REPL.LineEditREPL)
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:569
 [19] print_response(repl::REPL.AbstractREPL, response::Any, show_value::Bool, have_color::Bool)
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:282
 [20] (::REPL.var"#do_respond#80"{…})(s::REPL.LineEdit.MIState, buf::Any, ok::Bool)
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:911
 [21] #invokelatest#2
    @ Base ./essentials.jl:887 [inlined]
 [22] invokelatest
    @ Base ./essentials.jl:884 [inlined]
 [23] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/LineEdit.jl:2656
 [24] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:1312
 [25] (::REPL.var"#62#68"{REPL.LineEditREPL, REPL.REPLBackendRef})()
    @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:386
Some type information was truncated. Use `show(err)` to see complete types.
Moelf commented 6 months ago

somehow this is fine:

julia> for m in events[1].ReconstructedParticles.momentum
           @show m
       end
m = (x = -0.12986459f0, y = 0.027864397f0, z = -0.06835884f0)
m = (x = -0.1047018f0, y = 0.038945146f0, z = -0.08955956f0)
m = (x = -0.17289947f0, y = 0.18287736f0, z = -0.04993235f0)
m = (x = -0.091049485f0, y = -0.30193385f0, z = -0.7588692f0)
m = (x = 0.21555881f0, y = -0.22806452f0, z = -0.64136314f0)
m = (x = -0.22464286f0, y = -0.20334218f0, z = -0.17010352f0)
m = (x = -1.5054878f0, y = -1.8047847f0, z = -3.915671f0)
m = (x = -0.8030898f0, y = -0.9157472f0, z = -1.5667821f0)
m = (x = -0.59422237f0, y = -1.2480376f0, z = -1.4541721f0)
m = (x = -0.7203761f0, y = -0.0105718f0, z = -0.54733187f0)
m = (x = -1.033541f0, y = -1.4063002f0, z = -1.5797141f0)
m = (x = -0.5913454f0, y = -0.3650383f0, z = -0.39351526f0)
m = (x = -0.27757546f0, y = 10.611775f0, z = -4.3187914f0)
m = (x = 1.368267f0, y = -1.078922f0, z = -0.6575256f0)
m = (x = 0.06854927f0, y = 1.0366745f0, z = -0.3368523f0)
m = (x = -2.389616f0, y = 35.847385f0, z = -12.712242f0)
m = (x = -0.8735306f0, y = 0.42475098f0, z = -0.276324f0)
m = (x = 1.2253314f0, y = -0.12553702f0, z = -0.20837814f0)
m = (x = 1.3140094f0, y = -1.7645496f0, z = -0.37075973f0)
m = (x = 8.107615f0, y = -0.753901f0, z = -1.1618434f0)
m = (x = -0.8747306f0, y = -0.2804478f0, z = -0.054757815f0)
m = (x = 4.4935594f0, y = -0.23383121f0, z = -0.3044134f0)
m = (x = 0.8013913f0, y = -0.9781001f0, z = -0.06060983f0)
m = (x = -1.1757157f0, y = 2.638433f0, z = -0.13251156f0)
m = (x = -2.2011926f0, y = 0.042781018f0, z = -0.069468066f0)
m = (x = -1.8997122f0, y = -0.13232833f0, z = -0.05019148f0)
m = (x = -1.2525871f0, y = 0.12323331f0, z = -0.00516633f0)
m = (x = -0.3475008f0, y = 2.2071323f0, z = 0.011000473f0)
m = (x = 3.9917343f0, y = -0.5270061f0, z = 0.3674484f0)
m = (x = 0.78078353f0, y = -0.15010943f0, z = 0.08398191f0)
m = (x = 2.5179532f0, y = -0.15991104f0, z = 0.33623174f0)
m = (x = -0.9558057f0, y = 0.39359796f0, z = 0.14133744f0)
m = (x = -9.02918f0, y = 1.5434786f0, z = 1.8864108f0)
m = (x = -0.16803598f0, y = 0.91849077f0, z = 0.2033466f0)
m = (x = -0.2657777f0, y = 1.2219696f0, z = 0.34103504f0)
m = (x = -1.8210499f0, y = -3.9511454f0, z = 2.6789346f0)
m = (x = -1.7260295f0, y = -4.6994414f0, z = 3.0771446f0)
m = (x = -2.2802505f0, y = -7.670088f0, z = 7.0043426f0)
m = (x = -0.013498339f0, y = -1.2662154f0, z = 1.1267253f0)
m = (x = -1.0297723f0, y = -2.6730096f0, z = 2.913912f0)
m = (x = -1.487397f0, y = -2.9899614f0, z = 3.6254392f0)
m = (x = 0.17148045f0, y = 0.2781223f0, z = 0.14854819f0)
m = (x = -0.15413694f0, y = 0.017754953f0, z = 0.0016687008f0)
m = (x = -0.035780482f0, y = -0.1857745f0, z = -0.017534224f0)
m = (x = 0.06178119f0, y = -0.093882136f0, z = -0.14885661f0)
m = (x = -0.4685697f0, y = -1.1250314f0, z = -1.1650319f0)
m = (x = -0.15042523f0, y = -0.14205705f0, z = -0.19393213f0)
m = (x = -1.2344797f0, y = -2.457651f0, z = -2.5348344f0)
m = (x = -0.48501107f0, y = -1.1505069f0, z = -1.0216147f0)
m = (x = -1.0140103f0, y = 0.19143508f0, z = -0.4909296f0)
m = (x = 0.15214078f0, y = -0.0527542f0, z = -0.048302542f0)
m = (x = 0.0024719085f0, y = 2.824806f0, z = -0.68561435f0)
m = (x = -0.08043425f0, y = 0.04839162f0, z = -0.024285575f0)
m = (x = -0.439599f0, y = 0.071793996f0, z = -0.112723f0)
m = (x = -0.6846656f0, y = -0.00055739464f0, z = -0.099593185f0)
m = (x = -0.03218639f0, y = 0.1918958f0, z = -0.02883307f0)
m = (x = -1.0317885f0, y = -0.18295185f0, z = -0.13424252f0)
m = (x = 0.32668975f0, y = -0.023517476f0, z = -0.01252078f0)
m = (x = 5.1235113f0, y = -0.5907039f0, z = -0.0633534f0)
m = (x = 1.8234768f0, y = -0.21617864f0, z = 0.037368603f0)
m = (x = 3.6342592f0, y = -0.25920525f0, z = 0.1344099f0)
m = (x = 1.5199726f0, y = -0.082180895f0, z = 0.043343227f0)
m = (x = 3.3551803f0, y = -0.50128317f0, z = 0.2627209f0)
m = (x = 1.0307062f0, y = 0.0022499016f0, z = 0.1317192f0)
m = (x = 2.9677088f0, y = -0.13612182f0, z = 0.54725224f0)
m = (x = -0.09013896f0, y = -0.41353044f0, z = 0.16839011f0)
m = (x = -0.2040493f0, y = -1.0797037f0, z = 0.66774565f0)
m = (x = -0.07068819f0, y = -0.03261765f0, z = 0.05765025f0)
m = (x = -0.30594087f0, y = -0.7050752f0, z = 0.62026805f0)
m = (x = -1.0241117f0, y = -1.1692243f0, z = 1.2840123f0)
m = (x = -0.2582001f0, y = -0.5164431f0, z = 0.5163437f0)
m = (x = -0.53591675f0, y = -0.72378224f0, z = 0.8265273f0)
m = (x = -0.3244502f0, y = -0.37799296f0, z = 0.47677693f0)
m = (x = -0.22410637f0, y = -0.37280634f0, z = 0.42882904f0)
m = (x = -1.2987607f0, y = -1.6550033f0, z = 2.1167793f0)
m = (x = -0.08734655f0, y = -0.17982f0, z = 0.22584255f0)
m = (x = -0.16012022f0, y = -0.28859678f0, z = 0.48894632f0)
m = (x = -0.14445972f0, y = 0.090704285f0, z = 0.26226023f0)
m = (x = -1.3677025f0, y = -2.1039855f0, z = -2.970636f0)
m = (x = 1.5033939f0, y = -2.5098197f0, z = -1.3602204f0)
m = (x = 4.127576f0, y = -0.071380116f0, z = -0.060151562f0)
m = (x = -8.521305f0, y = 1.6555413f0, z = 1.1055773f0)
m = (x = -1.7439855f0, y = -4.4307423f0, z = 4.1495266f0)

and I see UnROOT.Index64 in the stack trace, so I wonder if this is a bugged interaction between us and some Julia base printing code.

Moelf commented 6 months ago

can you try the PR #322? I think this fixes it but I think this seems like a bug in Base/BitIntegers.jl I don't have time today but we can look to minimize it and file an issue with BitIntegers.jl