In function _demux of papi/plugin/base_classes/base_plugin.py:
It can happen that self._dplugin_info is None and then self._dplugin_info.get_subscribtions() is failing and the belonging plugin will not work anymore. It is as well not possible to correctly close PaPI. First solution is
if self._dplugin_info is None:
print("bug subscription demux")
return None
else:
and then to check in the calling function (in my case the function _work_process of papi/plugin/base_classes/base_ownProcess.py)
data = self._demux(opt.data_source_id, opt.block_name, opt.data)
if data is None:
pass
else:
this will not be the final solution but was a workaround in my case.
Note: _demux is also called in papi/gui/gui_event_processing.py, bit it seems like safety checks are done to prevent an error.
In function
_demuxofpapi/plugin/base_classes/base_plugin.py:It can happen that
self._dplugin_infoisNoneand thenself._dplugin_info.get_subscribtions()is failing and the belonging plugin will not work anymore. It is as well not possible to correctly close PaPI. First solution isand then to check in the calling function (in my case the function
_work_processofpapi/plugin/base_classes/base_ownProcess.py)this will not be the final solution but was a workaround in my case.
Note:
_demuxis also called inpapi/gui/gui_event_processing.py, bit it seems like safety checks are done to prevent an error.