--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: bullseye-pu: package iotop-c/1.23-1
- From: Boian Bonev <bbonev@ipacct.com>
- Date: Tue, 17 Oct 2023 02:03:09 +0000
- Message-id: <169750818971.23278.2198393721812580854.reportbug@debian-sid>
Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-Cc: iotop-c@packages.debian.org
Control: affects -1 + src:iotop-c
[ Reason ]
This update fixes 3 bugs in iotop-c:
- the program will busy loop after pressing ESC key, eating 100% on one core
- pseudo graphs in ASCII mode display incorrect/garbage values
- the logic behind showing only IO active processes incorrectly hides active ones
All the bugs were reported via IRC or via the upstream tracker and have no debian bug ids
[ Impact ]
Each of those 3 bugs severly affects user experience
[ Tests ]
Fixes were verified by manual testing and also confirmed as fixed by the reporters
[ Risks ]
Risks are very low - it is a leaf package, fixes are near trivial
[ Checklist ]
[x] *all* changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in stable
[x] the issue is verified as fixed in unstable
[ Changes ]
All changes are cherry-picked upstream commits
[ Other info ]
N/A
diff -Nru iotop-c-1.23/debian/changelog iotop-c-1.23/debian/changelog
--- iotop-c-1.23/debian/changelog 2023-01-23 22:56:03.000000000 +0000
+++ iotop-c-1.23/debian/changelog 2023-10-17 01:06:47.000000000 +0000
@@ -1,3 +1,13 @@
+iotop-c (1.23-1+deb12u1) bookworm; urgency=medium
+
+ * Backport fixes from 1.25
+ - Fix ESC makes iotop busy loop
+ - Fix the logic in 'only' option
+ * Backport fixes from 1.24
+ - Fix ASCII graph problem in R, W & RW modes
+
+ -- Boian Bonev <bbonev@ipacct.com> Tue, 17 Oct 2023 01:06:47 +0000
+
iotop-c (1.23-1) unstable; urgency=medium
[ Debian Janitor ]
diff -Nru iotop-c-1.23/debian/patches/fix-ascii-graph.patch iotop-c-1.23/debian/patches/fix-ascii-graph.patch
--- iotop-c-1.23/debian/patches/fix-ascii-graph.patch 1970-01-01 00:00:00.000000000 +0000
+++ iotop-c-1.23/debian/patches/fix-ascii-graph.patch 2023-10-17 01:06:47.000000000 +0000
@@ -0,0 +1,33 @@
+From: Boian Bonev <bbonev@ipacct.com>
+Date: Tue Oct 17 01:23:35 UTC 2023
+Forwarded: 629d80290c34b3a6a2e6f6400d8e277597547c93
+Subject: Fix ASCII graph problem in R, W & RW modes
+
+---
+--- a/src/view_curses.c
++++ b/src/view_curses.c
+@@ -969,21 +969,21 @@ static inline void view_curses(struct xx
+ v1=value2scale(s->readhist[j*2],maxvisible);
+ v2=value2scale(s->readhist[j*2+gi],maxvisible);
+ } else
+- v1=value2scale(s->readhist[j*2],maxvisible);
++ v1=value2scale(s->readhist[j],maxvisible);
+ break;
+ case E_GR_W:
+ if (has_unicode&&config.f.unicode) {
+ v1=value2scale(s->writehist[j*2],maxvisible);
+ v2=value2scale(s->writehist[j*2+gi],maxvisible);
+ } else
+- v1=value2scale(s->writehist[j*2],maxvisible);
++ v1=value2scale(s->writehist[j],maxvisible);
+ break;
+ case E_GR_RW:
+ if (has_unicode&&config.f.unicode) {
+ v1=value2scale(s->readhist[j*2]+s->writehist[j*2],maxvisible);
+ v2=value2scale(s->readhist[j*2+gi]+s->writehist[j*2+gi],maxvisible);
+ } else
+- v1=value2scale(s->readhist[j*2]+s->writehist[j*2],maxvisible);
++ v1=value2scale(s->readhist[j]+s->writehist[j],maxvisible);
+ break;
+ case E_GR_SW:
+ if (has_unicode&&config.f.unicode) {
diff -Nru iotop-c-1.23/debian/patches/fix-esc-busy-loop.patch iotop-c-1.23/debian/patches/fix-esc-busy-loop.patch
--- iotop-c-1.23/debian/patches/fix-esc-busy-loop.patch 1970-01-01 00:00:00.000000000 +0000
+++ iotop-c-1.23/debian/patches/fix-esc-busy-loop.patch 2023-10-17 01:06:47.000000000 +0000
@@ -0,0 +1,24 @@
+From: Boian Bonev <bbonev@ipacct.com>
+Date: Tue Oct 17 01:23:35 UTC 2023
+Forwarded: 4d0ccbbc62237b7b48764244461b5d47a1befb67
+Subject: Fix busy looping after ESC key
+
+---
+--- a/src/view_curses.c
++++ b/src/view_curses.c
+@@ -1562,6 +1562,7 @@ static inline int curses_key_search(int
+ nocbreak();
+ k2=getch();
+ cbreak();
++ halfdelay(2);
+ key_log(k2,1);
+ if (k2!=ERR) {
+ switch (k2) {
+@@ -1995,6 +1996,7 @@ static inline int curses_key(int ch) {
+ nocbreak();
+ k2=getch();
+ cbreak();
++ halfdelay(2);
+ key_log(k2,1);
+ if (k2!=ERR) {
+ switch (k2) {
diff -Nru iotop-c-1.23/debian/patches/fix-only-option.patch iotop-c-1.23/debian/patches/fix-only-option.patch
--- iotop-c-1.23/debian/patches/fix-only-option.patch 1970-01-01 00:00:00.000000000 +0000
+++ iotop-c-1.23/debian/patches/fix-only-option.patch 2023-10-17 01:06:47.000000000 +0000
@@ -0,0 +1,64 @@
+From: Boian Bonev <bbonev@ipacct.com>
+Date: Tue Oct 17 01:23:35 UTC 2023
+Forwarded: b787f78c578563f3c2ca158e02619695167f2b03
+Subject: Let option only never hide processes with current IO
+
+---
+--- a/src/view_curses.c
++++ b/src/view_curses.c
+@@ -289,10 +289,10 @@ static inline int filter_view(struct xxx
+ if (config.f.hidegraph) {
+ if (has_tda) {
+ if (s->blkio_val<=0)
+- return 1;
++ goto dohide;
+ } else {
+ if (s->read_val+s->write_val<=0)
+- return 1;
++ goto dohide;
+ }
+ } else {
+ double su=0;
+@@ -301,32 +301,37 @@ static inline int filter_view(struct xxx
+ switch (masked_grtype(0)) {
+ case E_GR_IO:
+ if (!memcmp(s->iohist,iohist_z,gr_width))
+- return 1;
++ goto dohide;
+ break;
+ case E_GR_R:
+ for (i=0;i<gr_width;i++)
+ su+=s->readhist[i];
+ if (su<=0)
+- return 1;
++ goto dohide;
+ break;
+ case E_GR_W:
+ for (i=0;i<gr_width;i++)
+ su+=s->writehist[i];
+ if (su<=0)
+- return 1;
++ goto dohide;
+ break;
+ case E_GR_RW:
+ for (i=0;i<gr_width;i++)
+ su+=s->readhist[i]+s->writehist[i];
+ if (su<=0)
+- return 1;
++ goto dohide;
+ break;
+ case E_GR_SW:
+ if (!memcmp(s->sihist,iohist_z,gr_width))
+- return 1;
++ goto dohide;
+ break;
+ }
+ }
++ if (0) {
++ dohide:
++ if (s->blkio_val<=0&&s->read_val+s->write_val<=0)
++ return 1;
++ }
+ }
+ if (config.f.hideexited&&s->exited)
+ return 1;
diff -Nru iotop-c-1.23/debian/patches/series iotop-c-1.23/debian/patches/series
--- iotop-c-1.23/debian/patches/series 1970-01-01 00:00:00.000000000 +0000
+++ iotop-c-1.23/debian/patches/series 2023-10-17 01:06:47.000000000 +0000
@@ -0,0 +1,3 @@
+fix-only-option.patch
+fix-ascii-graph.patch
+fix-esc-busy-loop.patch
--- End Message ---