Your message dated Mon, 10 Apr 2023 16:14:33 +0000
with message-id <e1plua5-00bzbf...@respighi.debian.org>
and subject line unblock waypipe
has caused the Debian Bug report #1034165,
regarding unblock: waypipe/0.8.4-3
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1034165: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1034165
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: wayp...@packages.debian.org, g...@nonempty.org
Control: affects -1 + src:waypipe

Please unblock package waypipe.


[ Reason ]
Waypipe versions prior to 0.8.6 contain a memory leak that is documented
as bug #1034163 [1]. I have cherry-picked a one-line fix from upstream
[2], and have verified that it fixes the problem. I have uploaded
0.8.4-3 to unstable with that patch as the only change. A debdiff
against 0.8.4-2 (in testing) is attached.

[ Impact ]
If the unblock isn't granted, Bookworm will ship with a version of
waypipe that leaks memory, making long-running sessions
problematic. Since waypipe's job is to provide SSH forwarding (à la "ssh
-X") to software running under Wayland, such long-running sessions are
expected.

[ Tests ]
By running waypipe in debug mode, e.g.

 waypipe -d ssh localhost weston-simple-shm  2>&1 | grep "in flight"

one can watch the "number of bytes in flight" messages report an
ever-increasing number of bytes in the version of waypipe in Bookworm
(0.8.4-2). With the fixed version from unstable (0.8.4-3), the number
of bytes in flight remains bounded.

This test was recommended to me by waypipe's upstream author.

[ Risks ]
The fix is a one-line patch, authored by upstream and already released
as part of upstream's version 0.8.6.

[ 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 testing


[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1034163

[2] 
https://gitlab.freedesktop.org/mstoeckl/waypipe/-/commit/9070c4c527c906cb186588ca410d92d2f7f3c7ba


unblock waypipe/0.8.4-3
diff -Nru waypipe-0.8.4/debian/changelog waypipe-0.8.4/debian/changelog
--- waypipe-0.8.4/debian/changelog	2022-11-23 17:11:16.000000000 +0100
+++ waypipe-0.8.4/debian/changelog	2023-04-10 15:51:36.000000000 +0200
@@ -1,3 +1,9 @@
+waypipe (0.8.4-3) unstable; urgency=medium
+
+  * Add upstream patch to fix memory leak. (Closes: #1034163)
+
+ -- Gard Spreemann <g...@nonempty.org>  Mon, 10 Apr 2023 15:51:36 +0200
+
 waypipe (0.8.4-2) unstable; urgency=medium
 
   * Increase timeout limit for build-time tests. (Closes: #1011322)
diff -Nru waypipe-0.8.4/debian/patches/0001-Fix-a-memory-leak.patch waypipe-0.8.4/debian/patches/0001-Fix-a-memory-leak.patch
--- waypipe-0.8.4/debian/patches/0001-Fix-a-memory-leak.patch	1970-01-01 01:00:00.000000000 +0100
+++ waypipe-0.8.4/debian/patches/0001-Fix-a-memory-leak.patch	2023-04-10 15:51:36.000000000 +0200
@@ -0,0 +1,29 @@
+From: Gard Spreemann <g...@nonempty.org>
+Date: Mon, 10 Apr 2023 12:21:18 +0200
+Subject: Fix a memory leak
+
+This cherry-picks upstream commit
+9070c4c527c906cb186588ca410d92d2f7f3c7ba. The original commit message
+follows.
+
+This was introduced by a0f6bfa191f55b99e4ff68dd0063aa0c0e12dcbd
+incorrectly checking when to increase the value of
+cxs->last_confirmed_msgno. As a result, one of the two Waypipe
+processes would leak all the messages sent to the other process.
+---
+ src/mainloop.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/mainloop.c b/src/mainloop.c
+index 181319c..38a084d 100644
+--- a/src/mainloop.c
++++ b/src/mainloop.c
+@@ -280,7 +280,7 @@ static int interpret_chanmsg(struct chan_msg_state *cmsg,
+ 	} else if (type == WMSG_ACK_NBLOCKS) {
+ 		struct wmsg_ack *ackm = (struct wmsg_ack *)packet;
+ 		if (msgno_gt(ackm->messages_received,
+-				    cxs->last_received_msgno)) {
++				    cxs->last_confirmed_msgno)) {
+ 			cxs->last_confirmed_msgno = ackm->messages_received;
+ 		}
+ 		return 0;
diff -Nru waypipe-0.8.4/debian/patches/series waypipe-0.8.4/debian/patches/series
--- waypipe-0.8.4/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
+++ waypipe-0.8.4/debian/patches/series	2023-04-10 15:51:36.000000000 +0200
@@ -0,0 +1 @@
+0001-Fix-a-memory-leak.patch

Attachment: signature.asc
Description: PGP signature


--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply via email to