JeffersonLab / JANA4ML4FPGA

EIC R&D supported project developing ML on FPGA for streaming readout systems
1 stars 1 forks source link

Current arrow configuration doesn't respect processors in plugins #19

Closed DraTeots closed 1 year ago

DraTeots commented 1 year ago

How to reproduce:

jana4ml4fpga -Pplugins=log,root_output,example_evio_analysis -Pjana:debug_plugin_loading=1 -Pcdaq:LogLevel=trace -Pjana:timeout=0 -Pnthreads=1 /mnt/work/data/2023-03-03-trd-data/hd_rawdata_002543_000.evio

The plugin example_evio_analysis is initialized but the test processor in it never gets called.

Currently only one processor is hardcoded in executable

auto processor = new EVIOBlockProcessor;
DraTeots commented 1 year ago

And looks like services are somehow screwed up too.

process_physics_events branch reproduces everything

DraTeots commented 1 year ago

If I load root_service with jana4ml4fpga it fails (log is below). If I run jana and use example plugin - it loads. Unfortunately, as expected, it is not possible now use stored evio events using jana executable.

Thread model: pthreads
140648833645504: 
       `- JSignalHandler::handle_sigsegv(int, siginfo_t*, void*) (0x55bdb7388eec)
        `- /usr/lib/x86_64-linux-gnu/libc.so.6 (0x7feb5b642520)
         `- std::_Rb_tree<std::type_index, std::pair<std::type_index const, std::pair<std::shared_ptr<JService>, std::once_flag*> >, std::_Select1st<std::pair<std::type_index const, std::pair<std::shared_ptr<JService>, std::once_flag*> > >, std::less<std::type_index>, std::allocator<std::pair<std::type_index const, std::pair<std::shared_ptr<JService>, std::once_flag*> > > >::_M_mbegin() const (0x55bdb7382d8c)
          `- std::_Rb_tree<std::type_index, std::pair<std::type_index const, std::pair<std::shared_ptr<JService>, std::once_flag*> >, std::_Select1st<std::pair<std::type_index const, std::pair<std::shared_ptr<JService>, std::once_flag*> > >, std::less<std::type_index>, std::allocator<std::pair<std::type_index const, std::pair<std::shared_ptr<JService>, std::once_flag*> > > >::_M_begin() (0x55bdb7382bd5)
           `- std::_Rb_tree<std::type_index, std::pair<std::type_index const, std::pair<std::shared_ptr<JService>, std::once_flag*> >, std::_Select1st<std::pair<std::type_index const, std::pair<std::shared_ptr<JService>, std::once_flag*> > >, std::less<std::type_index>, std::allocator<std::pair<std::type_index const, std::pair<std::shared_ptr<JService>, std::once_flag*> > > >::find(std::type_index const&) (0x55bdb7382a7d)
            `- std::map<std::type_index, std::pair<std::shared_ptr<JService>, std::once_flag*>, std::less<std::type_index>, std::allocator<std::pair<std::type_index const, std::pair<std::shared_ptr<JService>, std::once_flag*> > > >::find(std::type_index const&) (0x55bdb738274d)
             `- /home/romanov/eic/JANA4ML4FPGA/install/bin/jana4ml4fpga (0x55bdb738243f)
              `- /home/romanov/eic/JANA4ML4FPGA/install/bin/jana4ml4fpga (0x55bdb735fa17)
               `- /home/romanov/eic/JANA4ML4FPGA/install/bin/jana4ml4fpga (0x55bdb735ee65)
                `- void std::__invoke_impl<void, void (JEventProcessor::*)(), JEventProcessor*>(std::__invoke_memfun_deref, void (JEventProcessor::*&&)(), JEventProcessor*&&) (0x55bdb7380d7e)
                 `- std::__invoke_result<void (JEventProcessor::*)(), JEventProcessor*>::type std::__invoke<void (JEventProcessor::*)(), JEventProcessor*>(void (JEventProcessor::*&&)(), JEventProcessor*&&) (0x55bdb7380ce2)
                  `- std::call_once<void (JEventProcessor::*)(), JEventProcessor*>(std::once_flag&, void (JEventProcessor::*&&)(), JEventProcessor*&&)::{lambda()#1}::operator()() const (0x55bdb7380c9c)
                   `- std::once_flag::_Prepare_execution::_Prepare_execution<std::call_once<void (JEventProcessor::*)(), JEventProcessor*>(std::once_flag&, void (JEventProcessor::*&&)(), JEventProcessor*&&)::{lambda()#1}>(void (JEventProcessor::*&)())::{lambda()#1}::operator()() const (0x55bdb7380c4c)
                    `- std::once_flag::_Prepare_execution::_Prepare_execution<std::call_once<void (JEventProcessor::*)(), JEventProcessor*>(std::once_flag&, void (JEventProcessor::*&&)(), JEventProcessor*&&)::{lambda()#1}>(void (JEventProcessor::*&)())::{lambda()#1}::__invoke() (0x55bdb7380c29)
                     `- /usr/lib/x86_64-linux-gnu/libc.so.6 (0x7feb5b699f68)
                      `- /home/romanov/eic/JANA4ML4FPGA/install/bin/jana4ml4fpga (0x55bdb735f12b)
                       `- void std::call_once<void (JEventProcessor::*)(), JEventProcessor*>(std::once_flag&, void (JEventProcessor::*&&)(), JEventProcessor*&&) (0x55bdb7380931)
                        `- JEventProcessor::DoInitialize() (0x55bdb735fe02)
                         `- JEventProcessorArrow::initialize() (0x7feb5bf818fa)
                          `- JArrowTopology::initialize() (0x7feb5bf790f9)
                           `- JArrowProcessingController::initialize() (0x7feb5bf715d8)
                            `- JApplication::Initialize() (0x7feb5bf403e9)
                             `- JApplication::Run(bool) (0x7feb5bf40447)
                              `- jana::Execute(JApplication*, jana::UserOptions&) (0x55bdb738c89c)
                               `- /home/romanov/eic/JANA4ML4FPGA/install/bin/jana4ml4fpga (0x55bdb73a9cde)
                                `- /usr/lib/x86_64-linux-gnu/libc.so.6 (0x7feb5b629d90)
                                 `- __libc_start_main (0x7feb5b629e40)
                                  `- /home/romanov/eic/JANA4ML4FPGA/install/bin/jana4ml4fpga (0x55bdb735ec25)