scheduleGrant: a capped grant marks a still-backlogged connection inactive (LteSchedulerEnb.cc:403).
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 66/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- cpp
- Domain
- networking
Research direction
The bug is in scheduleGrant in src/simu5g/stack/mac/scheduler/LteSchedulerEnb.cc, around lines 403-408, where queueLength is set to 0 and active is set to false while backlog remains after a capped grant. Read that function alongside the candidate one-line change that computes queueLength from the pre-grant backlog. Done means a capped grant leaves a still-backlogged connection active, and uncapped grants behave as before.
Written by the indexing model from the issue text.
Description
Issue:
When the grant is capped (bytes < backlog), toServe reaches 0 in the band that exhausts the cap.
Line 403 then evaluates uBytes > 0, sets queueLength = 0 while backlog remains, and line 408 reports active = false. A scheduler that honours active drops the connection from its active set.
Who is affected.
- In UL the connection only comes back through the backlog callback on the next BSR. So the UE gets one transport block per SR / RAC → BSR cycle.
- Uncapped callers (LteMaxCI) are unaffected: there toServe = queueLength, so both reach 0 together.
Candidate correction (one line):
- queueLength = (uBytes > toServe) ? 0 : queueLength - uBytes;
+ queueLength = (uBytes > queueLength) ? 0 : queueLength - uBytes;
The new value is the pre-grant backlog minus the booked bytes, floored at 0.
Nothing else changes: not toServe, the band booking, the virtual-buffer or mirror drains, nor the quotas.
- Dominant language
- C++
- Stars
- 236
- Forks
- 118
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Unipisa/Simu5G
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
-
Cannot unregister node - node id 0 - not found -- in module (simu5g::Ip2Nic) Highway.car[0].cellularNic.ip2nicPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 25/100
Similar issues
-
Linux npm packaging leaves workspace files that block subsequent CI checkoutPossibly taken @Spockkk0225 claimed this today. Openci
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
alibaba/neug#1195 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 3 days
-
Bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
SCIInstitute/SCIRun#2909 ·
Maintainers usually reply within 2 days
-
area: packaging blocked dependencies P3: low post-stable value: medium
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
patrick-hudson/put.gd-desktop#1210 ·
Maintainers usually reply within 1 day