Open sjkelly opened 2 years ago
Note that this is likely in printing since
julia> collect(Devices(driver="XTRX"));
does not seg fault.
Another data point:
julia> using SoapySDR
julia> using SoapyRTLSDR_jll
julia> dev = Devices()[1]
Found Rafael Micro R820T tuner
KWArgs(Error showing value of type KWArgs:
ERROR: ArgumentError: cannot convert NULL to string
Stacktrace:
[1] unsafe_string
@ ./strings/string.jl:72 [inlined]
[2] String
@ ~/.julia/packages/SoapySDR/nFgLG/src/typewrappers.jl:29 [inlined]
[3] show(io::IOContext{Base.TTY}, #unused#::MIME{Symbol("text/plain")}, args::KWArgs)
@ SoapySDR ~/.julia/packages/SoapySDR/nFgLG/src/typewrappers.jl:35
[4] (::REPL.var"#43#44"{REPL.REPLDisplay{REPL.LineEditREPL}, MIME{Symbol("text/plain")}, Base.RefValue{Any}})(io::Any)
@ REPL ~/.julia/juliaup/julia-1.8.3+0.x64/share/julia/stdlib/v1.8/REPL/src/REPL.jl:267
[5] with_repl_linfo(f::Any, repl::REPL.LineEditREPL)
@ REPL ~/.julia/juliaup/julia-1.8.3+0.x64/share/julia/stdlib/v1.8/REPL/src/REPL.jl:521
[6] display(d::REPL.REPLDisplay, mime::MIME{Symbol("text/plain")}, x::Any)
@ REPL ~/.julia/juliaup/julia-1.8.3+0.x64/share/julia/stdlib/v1.8/REPL/src/REPL.jl:260
[7] display(d::REPL.REPLDisplay, x::Any)
@ REPL ~/.julia/juliaup/julia-1.8.3+0.x64/share/julia/stdlib/v1.8/REPL/src/REPL.jl:272
[8] display(x::Any)
@ Base.Multimedia ./multimedia.jl:328
[9] #invokelatest#2
@ ./essentials.jl:729 [inlined]
[10] invokelatest
@ ./essentials.jl:726 [inlined]
[11] print_response(errio::IO, response::Any, show_value::Bool, have_color::Bool, specialdisplay::Union{Nothing, AbstractDisplay})
@ REPL ~/.julia/juliaup/julia-1.8.3+0.x64/share/julia/stdlib/v1.8/REPL/src/REPL.jl:296
[12] (::REPL.var"#45#46"{REPL.LineEditREPL, Pair{Any, Bool}, Bool, Bool})(io::Any)
@ REPL ~/.julia/juliaup/julia-1.8.3+0.x64/share/julia/stdlib/v1.8/REPL/src/REPL.jl:278
[13] with_repl_linfo(f::Any, repl::REPL.LineEditREPL)
@ REPL ~/.julia/juliaup/julia-1.8.3+0.x64/share/julia/stdlib/v1.8/REPL/src/REPL.jl:521
[14] print_response(repl::REPL.AbstractREPL, response::Any, show_value::Bool, have_color::Bool)
@ REPL ~/.julia/juliaup/julia-1.8.3+0.x64/share/julia/stdlib/v1.8/REPL/src/REPL.jl:276
[15] (::REPL.var"#do_respond#66"{Bool, Bool, REPL.var"#77#87"{REPL.LineEditREPL, REPL.REPLHistoryProvider}, REPL.LineEditREPL, REPL.LineEdit.Prompt})(s::REPL.LineEdit.MIState, buf::Any, ok::Bool)
@ REPL ~/.julia/juliaup/julia-1.8.3+0.x64/share/julia/stdlib/v1.8/REPL/src/REPL.jl:857
[16] #invokelatest#2
@ ./essentials.jl:729 [inlined]
[17] invokelatest
@ ./essentials.jl:726 [inlined]
[18] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
@ REPL.LineEdit ~/.julia/juliaup/julia-1.8.3+0.x64/share/julia/stdlib/v1.8/REPL/src/LineEdit.jl:2510
[19] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
@ REPL ~/.julia/juliaup/julia-1.8.3+0.x64/share/julia/stdlib/v1.8/REPL/src/REPL.jl:1248
[20] (::REPL.var"#49#54"{REPL.LineEditREPL, REPL.REPLBackendRef})()
@ REPL ./task.jl:484
Yet:
julia> using SoapySDR
julia> using SoapyRTLSDR_jll
julia> dev = Devices()
Found Rafael Micro R820T tuner
[1] "driver" => "rtlsdr", "label" => "Generic RTL2832U OEM :: 00000001", "manufacturer" => "Realtek", "product" => "RTL2838UHIDIR", "serial" => "00000001", "tuner" => "Rafael Micro R820T"
julia> dev[1]
KWArgs(driver=rtlsdr, label=Generic RTL2832U OEM :: 00000001, manufacturer=Realtek, product=RTL2838UHIDIR, serial=00000001, tuner=Rafael Micro R820T)
julia> Devices()[1]
KWArgs(driver=rtlsdr, label=Generic RTL2832U OEM :: 00000001, manufacturer=Realtek, product=RTL2838UHIDIR, serial=00000001, tuner=Rafael Micro R820T)
julia> dev = Devices()[1]
KWArgs(driver=rtlsdr, label=Generic RTL2832U OEM :: 00000001, manufacturer=Realtek, product=RTL2838UHIDIR, serial=00000001, tuner=Rafael Micro R820T)