You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Restarting the controller while the gNB runs leaves the dApp reading stale rows #10
If the E3Controller restarts while the gNB keeps running, the dApp gets indications that point to rows nobody writes anymore.
Why
On exit, the controller deletes /e3_ran_buffers. On start, it creates a new one with the same name.
The epoch it sends to the gNB helper is always 1 (shm_epoch{1} in src/e3sm/slot_iq_pipeline.h).
The helper sees the same epoch, thinks it is already attached, and keeps writing into the old, deleted region (h_e3_attach in ocudu's ocudu_janus/e3/jbpf_e3_publish.cpp).
The dApp opens the new region, so it reads empty rows.
Workaround
Restart the gNB together with the controller.
Possible fix
Use a new epoch on every controller start (for example from the clock), so the helper drops the old region and attaches to the new one.
Found in the code while fixing the dApp restart bug in #8. Not reproduced yet.
Activity