ports/179179: Fix piewm SIGSEGV for FreeBSD/amd64
David Wolfskill
david at catwhisker.org
Sat Jun 1 19:00:02 UTC 2013
>Number: 179179
>Category: ports
>Synopsis: Fix piewm SIGSEGV for FreeBSD/amd64
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sat Jun 01 19:00:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator: David Wolfskill
>Release: FreeBSD 9.1-STABLE i386
>Organization:
Wolfskill & Dowling Residence
>Environment:
System: FreeBSD g1-227.catwhisker.org 9.1-STABLE FreeBSD 9.1-STABLE #12 r251193M/251216:901504: Sat Jun 1 08:41:25 PDT 2013 root at g1-227.catwhisker.org:/usr/obj/usr/src/sys/CANARY amd64
Ports: /usr/ports working copy is at r319559.
>Description:
piewm works without the attached patch in FreeBSD/i386, but
in FreeBSD/amd64, it gets a SIGSEGV in the very early stages
of its execution from an attempt to refer to the value of
the HOME environment variable.
tvtwm (on which piewm is based) does not exhibit this mode
of failure.
After some discussion on ports@ (particularly with Stefan
Ehmann), it seems to me that the below patch -- cribbed from
tvtwm's version of twm.h -- made the most sense for this issue.
I can't really justify a high Priority, given that very few
folks (that I know of) actually use piewm.
Also: I am the port maintainer. I tried (on 10 May 2013) to
contact Russ Nelson, maintainer of the upstream site, but have
yet to receive a response (as far as I can tell). In the mean
time, lack of this fix breaks piewm for FreeBSD/and64, so it
needs to be fixed.
>How-To-Repeat:
Boot up a FreeBSD/amd64 system, install ports/x11-wm/piewm, then
invoke piewm.
>Fix:
The intent of the below patch is to add a new patch file
("patch-twm.h") to ports/x11-wm/piewm/files (and bump
PORTREVISION).
diff -ruN piewm.orig/Makefile piewm/Makefile
--- piewm.orig/Makefile 2013-01-18 03:42:17.000000000 -0800
+++ piewm/Makefile 2013-06-01 11:44:06.000000000 -0700
@@ -3,7 +3,7 @@
PORTNAME= piewm
PORTVERSION= 1.04
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= x11-wm
MASTER_SITES= http://www.crynwr.com/piewm/
diff -ruN piewm.orig/files/patch-twm.h piewm/files/patch-twm.h
--- piewm.orig/files/patch-twm.h 1969-12-31 16:00:00.000000000 -0800
+++ piewm/files/patch-twm.h 2013-06-01 08:27:11.000000000 -0700
@@ -0,0 +1,15 @@
+--- twm.h.orig 1998-06-03 08:42:52.000000000 -0700
++++ twm.h 2013-06-01 08:23:26.000000000 -0700
+@@ -305,6 +305,12 @@
+ #define TBPM_MENU ":menu" /* name of titlebar pixmap for menus */
+ #define TBPM_QUESTION ":question" /* name of unknown titlebar pixmap */
+
++#ifndef X_NOT_STDC_ENV
++#include <stdlib.h>
++#else
++extern char *malloc(), *calloc(), *realloc(), *getenv();
++extern int free();
++#endif
+ extern void Reborder(), Done();
+ void ComputeCommonTitleOffsets();
+ void ComputeWindowTitleOffsets(), ComputeTitleLocation();
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list