Your message dated Thu, 04 Aug 2016 07:48:37 +0000
with message-id <[email protected]>
and subject line Bug#662860: fixed in ctwm 3.7-4
has caused the Debian Bug report #662860,
regarding ctwm: SIGSEGV when changing workspaces
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 [email protected]
immediately.)


-- 
662860: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=662860
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: ctwm
Version: 3.7-3.2
Severity: important
Tags: upstream patch

Dear Maintainer,

I'm a longtime CTWM user who finally got tired of the random
crashes that occur, typically when I'm switching workspaces.
I can sometimes go for a month without seeing them and sometimes
it happens several times a day.  I've analyzed this to the point
where I can see that code in DispatchEvent() is occasionally
leaving the global Scr pointer NULL which causes a SIGSEGV on
our next pass through the loop in HandleEvents().

I've provided a patch that adds a few lines of defensive code
which seems to have improved the situation, though I have not
analyzed the root cause, which appears to be that, for unknown
reasons, either XFindContext() or FindScreenInfo() seem to be
unable to return the answer expected of them.

  --Michael O'Donnell

BEGIN PATCH:
--- events.c.b0rken     2012-03-06 15:10:42.093677349 -0500
+++ events.c    2012-03-06 15:19:52.369161662 -0500
@@ -435,21 +435,25 @@
  */
 Bool DispatchEvent2 (void)
 {
     Window w = Event.xany.window;
     StashEventTime (&Event);
+    ScreenInfo *lastScr = Scr;   /* XXX_MIKE - assume Scr OK on entry... */
 
     if (XFindContext (dpy, w, TwmContext, (XPointer *) &Tmp_win) == XCNOENT)
       Tmp_win = NULL;
 
     if (XFindContext (dpy, w, ScreenContext, (XPointer *)&Scr) == XCNOENT) {
        Scr = FindScreenInfo (WindowOfEvent (&Event));
     }
 
     dumpevent(&Event);
 
-    if (!Scr) return False;
+    if (!Scr) {
+        Scr = lastScr;           /* XXX_MIKE - try not to leave Scr NULL */
+        return False;
+    }
     if (Scr->Root != Scr->RealRoot) FixRootEvent (&Event);
 
 #ifdef SOUNDS
     play_sound(Event.type);
 #endif
@@ -473,21 +477,25 @@
  */
 Bool DispatchEvent (void)
 {
     Window w = Event.xany.window;
     StashEventTime (&Event);
+    ScreenInfo *lastScr = Scr;   /* XXX_MIKE - assume Scr OK on entry... */
 
     if (XFindContext (dpy, w, TwmContext, (XPointer *) &Tmp_win) == XCNOENT)
       Tmp_win = NULL;
 
     if (XFindContext (dpy, w, ScreenContext, (XPointer *)&Scr) == XCNOENT) {
        Scr = FindScreenInfo (WindowOfEvent (&Event));
     }
 
     dumpevent(&Event);
 
-    if (!Scr) return False;
+    if (!Scr) {
+        Scr = lastScr;           /* XXX_MIKE - try not to leave Scr NULL */
+        return False;
+    }
 
     if (captive) {
       if ((Event.type == ConfigureNotify) && (Event.xconfigure.window == 
Scr->CaptiveRoot)) {
        ConfigureRootWindow (&Event);
        return (False);

END PATCH

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 3.1.0 (SMP w/2 CPU cores)
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/bash

Versions of packages ctwm depends on:
ii  libc6       2.13-26
ii  libice6     2:1.0.7-2
ii  libjpeg8    8d-1
ii  librplay3   3.3.2-14
ii  libsm6      2:1.2.0-2
ii  libx11-6    2:1.4.4-4
ii  libxext6    2:1.3.0-3
ii  libxmu6     2:1.1.0-3
ii  libxpm4     1:3.5.9-4
ii  libxt6      1:1.1.1-2
ii  m4          1.4.16-2
ii  x11-common  1:7.6+11

ctwm recommends no packages.

ctwm suggests no packages.

-- Configuration Files:
/etc/X11/ctwm/system.ctwmrc [Errno 2] No such file or directory: 
u'/etc/X11/ctwm/system.ctwmrc'

-- no debconf information

-- debsums errors found:
debsums: missing file /usr/bin/ctwm (from ctwm package)

Note that the above mentioned debsums errors are due to my
having built and installed a private version during debug....
 



--- End Message ---
--- Begin Message ---
Source: ctwm
Source-Version: 3.7-4

We believe that the bug you reported is fixed in the latest version of
ctwm, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Adam Borowski <[email protected]> (supplier of updated ctwm package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Thu, 04 Aug 2016 09:33:17 +0200
Source: ctwm
Binary: ctwm
Architecture: source
Version: 3.7-4
Distribution: unstable
Urgency: medium
Maintainer: Debian QA Group <[email protected]>
Changed-By: Adam Borowski <[email protected]>
Description:
 ctwm       - Claude's Tab window manager
Closes: 367356 585693 649671 662860 817322 817416
Changes:
 ctwm (3.7-4) unstable; urgency=medium
 .
   * QA upload.
   * Orphan the package.
   * Source format 3.0 (quilt).
   * Debhelper compat 9; closes: #817322, #817416.
   * Drop readme.vms; closes: #367356.
   * Fix a segfault on workspace switch; closes: #662860.
   * Don't ignore errors from make.
   * Drop vim droppings from the end of the changelog.
   * Fix a crash on showing the windowlist; closes: #649671.
   * Pick an upstream fix for workspace manager drag; closes: #585693.
Checksums-Sha1:
 c4e6b750923b4356f13db7d87c7e0d8a38e025ec 1418 ctwm_3.7-4.dsc
 92e7848c2c05141eed1fd1cb4fab8e0a70b0c874 20704 ctwm_3.7-4.debian.tar.xz
Checksums-Sha256:
 12fbc2872141c28ef7b376929e7c8ed99942a37902cb1621f0efcb424e21b684 1418 
ctwm_3.7-4.dsc
 ae64dfca067186efb41ba1129ff8e25f172f55cc2528eba350ba8d3b49ac9cca 20704 
ctwm_3.7-4.debian.tar.xz
Files:
 7e459da25ec1093c8b0a88c927846fe3 1418 x11 optional ctwm_3.7-4.dsc
 d25ed6f2a0e18ea6e1f31bcce0221aad 20704 x11 optional ctwm_3.7-4.debian.tar.xz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJXovEtAAoJECw7Q2/qxoEBHwIIAKWzNzJaGSaVdzygazSo/AaS
R1nfPa7nawZH3buhsXmuiQTZWCTr0/iMDMWGNO4uM3QnD3XzwadFNxHPHi029kOM
1hPdRY/H8NhAwQ63Tf9aM/w3tYF0n4ShaOwa9TWO3geZCEfiuiekdY5rxtKyaP9i
XT8mz+q7CQ58b43slubrSsa9Ql3VC0MC0Yb+99yCTww06JZwvU82lvaT+feaCZS1
/8eM09eh46cUU57Fcp786cePuvJuauyb70hdhWBPJEi0SiAAGk1g3hjRyadLbRbB
wgyqg4osoE90KHMNcXsXebE/k2fQBx94Bjg8uey2/606zHEP8bZE6l4HQoQD+HA=
=52M7
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to