Your message dated Wed, 11 Jul 2018 21:15:15 +0200
with message-id 
<CANnVG6m8gToKE49OK=ngi3x1-8sfffv+kbxbadogp1bv5sz...@mail.gmail.com>
and subject line Re: Bug#892764: stretch-pu: package i3-wm/4.13-1
has caused the Debian Bug report #892764,
regarding stretch-pu: package i3-wm/4.13-1
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.)


-- 
892764: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892764
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: stretch
User: release.debian....@packages.debian.org
Usertags: pu

I would like to apply the attached update to the i3-wm package to satisfy a user
request (#891919) for a backported upstream fix to address a crash when using
window marks and restarting i3 in-place.

Please let me know how to proceed. Thanks!

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 
'testing-debug'), (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, armel, mipsel, arm64

Kernel: Linux 4.14.0-3-amd64 (SMP w/12 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), 
LANGUAGE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru i3-wm-4.13/debian/changelog i3-wm-4.13/debian/changelog
--- i3-wm-4.13/debian/changelog 2016-11-08 19:02:16.000000000 +0100
+++ i3-wm-4.13/debian/changelog 2018-03-12 19:16:41.000000000 +0100
@@ -1,3 +1,9 @@
+i3-wm (4.13-2) stable; urgency=medium
+
+  * cherry-pick patch to “fix crash upon restart when using marks” (Closes: 
#891919)
+
+ -- Michael Stapelberg <stapelb...@debian.org>  Mon, 12 Mar 2018 19:16:41 +0100
+
 i3-wm (4.13-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru i3-wm-4.13/debian/patches/fix-mark-restart-crash.patch 
i3-wm-4.13/debian/patches/fix-mark-restart-crash.patch
--- i3-wm-4.13/debian/patches/fix-mark-restart-crash.patch      1970-01-01 
01:00:00.000000000 +0100
+++ i3-wm-4.13/debian/patches/fix-mark-restart-crash.patch      2018-03-12 
19:16:07.000000000 +0100
@@ -0,0 +1,112 @@
+Description: fix crash upon restart when using marks
+Forwarded: not-needed
+Origin: vendor, 
https://github.com/i3/i3/pull/2779/commits/a5d959cde44e88bffa23a93bdd174b07f280f0e9
+Author: hwangcc23 <hwan...@csie.nctu.edu.tw>
+Bug-Debian: 891919
+
+---
+
+From a5d959cde44e88bffa23a93bdd174b07f280f0e9 Mon Sep 17 00:00:00 2001
+From: 
+Date: Sun, 21 May 2017 14:34:29 +0800
+Subject: [PATCH] Fix the i3 crash caused by mark + restart commands
+
+This patch fixes the issue #2511(https://github.com/i3/i3/issues/2511).
+
+1). Memorize the marks, but only call con_mark once the container has finished 
parsing. (Credit: This is @Airblader's patch.)
+
+2). Add a test case 267-regress-mark-restart.t for regression test to check if 
mark and restart command crash i3.
+---
+ src/load_layout.c                      | 19 +++++++++++++++++--
+ testcases/t/267-regress-mark-restart.t | 30 ++++++++++++++++++++++++++++++
+ 2 files changed, 47 insertions(+), 2 deletions(-)
+ create mode 100644 testcases/t/267-regress-mark-restart.t
+
+diff --git a/src/load_layout.c b/src/load_layout.c
+index f6f045d26..632c6ec76 100644
+--- a/src/load_layout.c
++++ b/src/load_layout.c
+@@ -29,6 +29,8 @@ static bool parsing_focus;
+ static bool parsing_marks;
+ struct Match *current_swallow;
+ static bool swallow_is_empty;
++static int num_marks;
++static char **marks;
+ 
+ /* This list is used for reordering the focus stack after parsing the 'focus'
+  * array. */
+@@ -148,6 +150,16 @@ static int json_end_map(void *ctx) {
+             floating_check_size(json_node);
+         }
+ 
++        if (num_marks > 0) {
++            for (int i = 0; i < num_marks; i++) {
++                con_mark(json_node, marks[i], MM_ADD);
++                free(marks[i]);
++            }
++
++            free(marks);
++            num_marks = 0;
++        }
++
+         LOG("attaching\n");
+         con_attach(json_node, json_node->parent, true);
+         LOG("Creating window\n");
+@@ -230,8 +242,10 @@ static int json_key(void *ctx, const unsigned char *val, 
size_t len) {
+     if (strcasecmp(last_key, "focus") == 0)
+         parsing_focus = true;
+ 
+-    if (strcasecmp(last_key, "marks") == 0)
++    if (strcasecmp(last_key, "marks") == 0) {
++        num_marks = 0;
+         parsing_marks = true;
++    }
+ 
+     return 1;
+ }
+@@ -261,7 +275,8 @@ static int json_string(void *ctx, const unsigned char 
*val, size_t len) {
+         char *mark;
+         sasprintf(&mark, "%.*s", (int)len, val);
+ 
+-        con_mark(json_node, mark, MM_ADD);
++        marks = srealloc(marks, (++num_marks) * sizeof(char *));
++        marks[num_marks - 1] = sstrdup(mark);
+     } else {
+         if (strcasecmp(last_key, "name") == 0) {
+             json_node->name = scalloc(len + 1, 1);
+diff --git a/testcases/t/267-regress-mark-restart.t 
b/testcases/t/267-regress-mark-restart.t
+new file mode 100644
+index 000000000..220d765b7
+--- /dev/null
++++ b/testcases/t/267-regress-mark-restart.t
+@@ -0,0 +1,30 @@
++#!perl
++# vim:ts=4:sw=4:expandtab
++#
++# Please read the following documents before working on tests:
++# • http://build.i3wm.org/docs/testsuite.html
++#   (or docs/testsuite)
++#
++# • http://build.i3wm.org/docs/lib-i3test.html
++#   (alternatively: perldoc ./testcases/lib/i3test.pm)
++#
++# • http://build.i3wm.org/docs/ipc.html
++#   (or docs/ipc)
++#
++# • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf
++#   (unless you are already familiar with Perl)
++#
++# Regression test to check if mark and restart commands crash i3
++#
++use i3test;
++
++cmd 'open';
++cmd 'mark foo';
++
++cmd 'restart';
++
++diag('Checking if i3 still lives');
++
++does_i3_live;
++
++done_testing;
diff -Nru i3-wm-4.13/debian/patches/series i3-wm-4.13/debian/patches/series
--- i3-wm-4.13/debian/patches/series    1970-01-01 01:00:00.000000000 +0100
+++ i3-wm-4.13/debian/patches/series    2018-03-12 19:12:15.000000000 +0100
@@ -0,0 +1 @@
+fix-mark-restart-crash.patch

--- End Message ---
--- Begin Message ---
Thanks, the upload was accepted.

On Thu, Jul 5, 2018 at 10:18 PM, Adam D. Barratt <a...@adam-barratt.org.uk>
wrote:

> Control: tags -1 -moreinfo +confirmed
>
> On Tue, 2018-07-03 at 21:01 +0100, Adam D. Barratt wrote:
> > Control: tags -1 + moreinfo
> >
> > On Mon, 2018-03-12 at 19:23 +0100, Michael Stapelberg wrote:
> > > I would like to apply the attached update to the i3-wm package to
> > > satisfy a user
> > > request (#891919) for a backported upstream fix to address a crash
> > > when using
> > > window marks and restarting i3 in-place.
> > >
> >
> > Apologies for the delay in getting back to you.
> >
> > The metadata for #891919 suggests that it affects the version of i3-
> > wm
> > in unstable - is that correct? If it is, then please fix the package
> > in
> > unstable first; if not, then please fix the metadata.
> >
>
> [That was sorted.]
>
> +i3-wm (4.13-2) stable; urgency=medium
>
> Please use 4.13-1+deb9u1 as the version, and "stretch" as the
> distribution. With those changes, please feel free to upload.
>
> Regards,
>
> Adam
>



-- 
Best regards,
Michael

--- End Message ---

Reply via email to