Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian....@packages.debian.org
Usertags: pu
X-Debbugs-CC: monotone-deb...@nongnu.org

Hi,

I'd like to upload the package monotone to correct an FTBFS on powerpc
(#833574). The change only affects the test suite run after the build
and shouldn't change the binary compared to the earlier security update
1.1-4+deb8u1 (a binNMU). However, the FTBFS prevented that security
update on powerpc.

The fix changes the failing test to use a larger test data message to
increase chances to overflow the pipe buffer on all architectures and
trigger a SIGPIPE. That very same patch is already applied in Debian
testing since 1.1-7.

Attached a source debdiff.

Kind Regards

Markus Wanner
diff -Nru monotone-1.1/debian/changelog monotone-1.1/debian/changelog
--- monotone-1.1/debian/changelog       2016-05-10 17:49:28.000000000 +0200
+++ monotone-1.1/debian/changelog       2016-11-20 22:37:46.000000000 +0100
@@ -1,3 +1,11 @@
+monotone (1.1-4+deb8u2) jessie-security; urgency=high
+
+  * Add patch 51-sigpipe-test.diff: change the sigpipe test case to
+    write 1M of test data to increase chances of overflowing the pipe
+    buffer; as already applied on Debian testing. Closes: #833574.
+
+ -- Markus Wanner <mar...@bluegap.ch>  Sun, 20 Nov 2016 22:37:46 +0100
+
 monotone (1.1-4+deb8u1) jessie-security; urgency=high
 
   * Non-maintainer upload.
diff -Nru monotone-1.1/debian/patches/51-sigpipe-test.diff 
monotone-1.1/debian/patches/51-sigpipe-test.diff
--- monotone-1.1/debian/patches/51-sigpipe-test.diff    1970-01-01 
01:00:00.000000000 +0100
+++ monotone-1.1/debian/patches/51-sigpipe-test.diff    2016-11-20 
22:37:46.000000000 +0100
@@ -0,0 +1,43 @@
+Description: Attempt to fix 'log_quits_on_SIGPIPE' failure on powerpc
+ Quatruple the number of commits in preparation for the SIGPIPE test, so
+ we're not just writing (somewhere above) 256K but 1024K.
+ .
+ This is a somewhat desperate but conservative attempt at fixing a
+ buildd issue that's hard to reproduce.
+Bug-Debian: https://bugs.debian.org/797386
+Forwarded: no
+Last-Update: 2015-11-15
+
+--- a/test/func/log_quits_on_SIGPIPE/__driver__.lua
++++ b/test/func/log_quits_on_SIGPIPE/__driver__.lua
+@@ -29,18 +29,13 @@
+ -- the reader closes its end.  Unfortunately, there is no way to find
+ -- out how much buffer space the kernel provides, so we resort to
+ -- writing a ridiculous amount of data.  Typical pipe capacities are
+--- 4K and 64K, so "ridiculous" in this case is "approximately 256K."
++-- 4K and 64K, so "ridiculous" in this case is "approximately 1M."
+ --
+ -- We would like to make that data realistic -- typical commits to the
+ -- monotone repository have between 100 and 200 characters of commit
+--- log -- but in order to get the ridiculous 256K, we would need
++-- log -- but in order to get the ridiculous 1M, we would need
+ -- several thousand commits, which would take too long to execute.
+--- So instead we make four commits each with 64K commit messages.
+--- (There is a temptation to make it sixteen; I can imagine someone
+--- deciding to bulk up the pipe buffer to a nice round megabyte.
+--- But the time this test takes is proportional to the number of
+--- commits, so I won't.  I tried having a bigger log message but that
+--- crashed "mtn commit".)
++-- So instead we make 16 commits each with 64K commit messages.
+ --
+ -- The following 1024-byte block of nonsense is courtesy of the Eater
+ -- of Meaning.
+@@ -71,7 +66,7 @@
+ 
+ mtn_setup()
+ addfile("file", "fnord")
+-for i = 1,4 do
++for i = 1,16 do
+    writefile("file", "commit "..tonumber(i).."\n")
+    commit(nil, message)
+ end
diff -Nru monotone-1.1/debian/patches/series monotone-1.1/debian/patches/series
--- monotone-1.1/debian/patches/series  2016-05-10 17:49:28.000000000 +0200
+++ monotone-1.1/debian/patches/series  2016-11-20 22:37:46.000000000 +0100
@@ -1,3 +1,4 @@
 00-copyright-clarification.diff
 11-no-gettext-on-lua.diff
+51-sigpipe-test.diff
 90-stacktrace-on-crash.diff

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to