Stale status notification for disk_io
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
byobu |
New
|
Medium
|
Unassigned |
Bug Description
To recreate:
* I'm running Ubuntu Server 16.04.1 LTS (no GUI).
* I'm using byobu `5.106-0ubuntu1`.
* I pressed F1, then enable the "disk_io" notification, then choose "Apply".
* I did various things on the command line. For example, I did nothing for several minutes. Then I ran `dd -h` at the command prompt. All the while, I watched the status line.
What I expected to happen:
* I expected Byobu disk_io report to fluctuate in obvious (or at least
believable) ways corresponding to my activity on the system.
What I found to happen:
* Byobu's reports of disk_io did not correspond to the commands I was typing, nor reports from `iotop`.
* In particular, running `dd -h` resulted in "<-72kB/s" (disk reading) remaining on the status bar for an extended period. I waited for what seems to be several minutes but the status was not cleared. I would be quite surprised if that exact amount of disk IO is happening for an extended period. I ran `iotop` to see what processes might be causing an ongoing disk activity. Nothing seemed to correspond.
Notes:
* I am using a freshly installed system.
* I don't have many other processing running. I installed PostgreSQL, OpenSSH, and basic development tools.
Theory / Possible Explanation:
* It would appear that when disk activity changes from a non-zero value to zero, the previous value is not cleared out.
* This could be a simple matter of the TUI (text user interface) having a stale output, perhaps due to a rendering bug.
Related branches
- Dustin Kirkland : Pending requested
-
Diff: 51 lines (+8/-11)1 file modifiedusr/lib/byobu/disk_io (+8/-11)
description: | updated |
description: | updated |
description: | updated |
description: | updated |
Changed in byobu (Ubuntu): | |
importance: | Undecided → Medium |
affects: | byobu (Ubuntu) → byobu |
Hi!
I think the solution is as easy as:
if [ $rate -lt $DISK_IO_THRESHOLD ]; then
# Below threshold, don't print
rate=0
But I have another problem. For some reason, on Debian 11, the disk_io plugin stopped working. I traced it concretely to the line
[ -r "$cache" ] && read x1 < "$cache" || x1=0
which I changed thus and it started working again:
[ -r "$cache" ] && x1=$( cat "$cache") || x1=0