Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Nov 2010 21:17:52 GMT
From:      Rainer Hurling <rhurlin@gwdg.de>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/152580: [PATCH] sysutils/wmupmon: Segmentation fault on CURRENT amd64
Message-ID:  <201011252117.oAPLHqh4094703@red.freebsd.org>
Resent-Message-ID: <201011252120.oAPLKBRD079958@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         152580
>Category:       ports
>Synopsis:       [PATCH] sysutils/wmupmon: Segmentation fault on CURRENT amd64
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu Nov 25 21:20:10 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Rainer Hurling
>Release:        9.0-CURRENT amd64
>Organization:
>Environment:
FreeBSD xxx.xxx.xxx 9.0-CURRENT FreeBSD 9.0-CURRENT #0: Tue Nov 23 18:47:29 CET 2010     xxx@xxx.xxx.xxx:/usr/obj/usr/src/sys/CUSTOM  amd64
>Description:
For a long time now sysutils/wmupmon segfaults on all my CURRENT amd64 boxes.

Obviously there is a problem with the handling of xpm files. I found a patch in the web (see http://www.dockapps.org/file.php/id/188), which seems to solve this (thanks to tao).

P.S.: The port currently has no maintainer. If nobody else is interested, I could take the maintainership.
>How-To-Repeat:
Install systutils/wmupmon (version 0.1.3_4) on CURRENT amd64 and run it.

>Fix:
I updated the ports Makefile, distinfo and created files/patch-src_main.c, see below.

One problem remains: The distfiles original URL http://j-z-s.com/projects/downloads/ does not exist anymore (checked with distilator). I changed it against a newer one, http://www.dockapps.org/download.php/id/547. In addition I had to comment USE_BZIP2=yes.

With this, manually fetching the distfile 'wmupmon-0.1.3.tar.gz' works, but the ports fetch tells about error 302 (Moved temporarily). I am not aware how to solve this and could need some advice, please.


Patch attached with submission follows:

diff -Naur wmupmon/Makefile wmupmon/Makefile
--- wmupmon/Makefile	2010-10-16 16:54:56.000000000 +0200
+++ wmupmon/Makefile	2010-11-25 21:46:20.000000000 +0100
@@ -2,14 +2,14 @@
 # Date created:				Thu Jul  3 14:49:14 EDT 2003
 # Whom:					pat
 #
-# $FreeBSD: ports/sysutils/wmupmon/Makefile,v 1.15 2010/10/16 11:52:38 ade Exp $
+# $FreeBSD$
 #
 
 PORTNAME=	wmupmon
 PORTVERSION=	0.1.3
-PORTREVISION=	4
+PORTREVISION=	5
 CATEGORIES=	sysutils windowmaker
-MASTER_SITES=	http://j-z-s.com/projects/downloads/
+MASTER_SITES=	http://www.dockapps.org/download.php/id/547
 
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	An uptime showing dockapp with a similar look to wmcpuload
diff -Naur wmupmon/distinfo wmupmon/distinfo
--- wmupmon/distinfo	2006-01-24 19:32:58.000000000 +0100
+++ wmupmon/distinfo	2010-11-25 21:41:51.000000000 +0100
@@ -1,3 +1,2 @@
-MD5 (wmupmon-0.1.3.tar.bz2) = 5de5cf7c074f15bb5d8d7d6beb5f4268
 SHA256 (wmupmon-0.1.3.tar.bz2) = 7583f163fa472ec72a4f952c2ece8648a3ca709e4594b2b1591987671b0f38bc
 SIZE (wmupmon-0.1.3.tar.bz2) = 90108
diff -Naur wmupmon/files/patch-src_main.c wmupmon/files/patch-src_main.c
--- wmupmon/files/patch-src_main.c	1970-01-01 01:00:00.000000000 +0100
+++ wmupmon/files/patch-src_main.c	2010-11-25 21:13:27.000000000 +0100
@@ -0,0 +1,40 @@
+--- src/main.c	2004-12-11 19:07:21.000000000 +0000
++++ src/main.c	2007-01-31 12:20:47.000000000 +0000
+@@ -66,10 +66,8 @@
+ int main(int argc, char **argv)
+ {
+    int i, a, aa, b, bb;
+-   char* real_off_xpm[(style == 2 ? sizeof(backlight2_off_xpm) :
+-                       sizeof(backlight_off_xpm))];
+-   char* real_on_xpm[(style == 2 ? sizeof(backlight2_on_xpm) :
+-                       sizeof(backlight_on_xpm))];
++   char** real_off_xpm;
++   char** real_on_xpm;
+    XEvent event;
+    XpmColorSymbol colors[2] = { {"Back0", NULL, 0}, {"Back1", NULL, 0} };
+    int ncolor = 0;
+@@ -79,20 +77,12 @@
+    
+    /* setup pixmap to use - this is ugly but it works */
+    
+-   a = sizeof(backlight2_off_xpm);
+-   aa = sizeof(backlight2_on_xpm);
+-   b = sizeof(backlight_off_xpm);
+-   bb = sizeof(backlight_on_xpm);
+    if(style == 2){
+-      for(i=0; i<a; i++)
+-         real_off_xpm[i] = backlight2_off_xpm[i];
+-      for(i=0; i<aa; i++)
+-         real_on_xpm[i] = backlight2_on_xpm[i];
++       real_off_xpm = backlight2_off_xpm;
++       real_on_xpm = backlight2_on_xpm;
+    } else {
+-      for(i=0; i<b; i++)
+-         real_off_xpm[i] = backlight_off_xpm[i];
+-      for(i=0; i<bb; i++)
+-         real_on_xpm[i] = backlight_on_xpm[i];
++       real_off_xpm = backlight_off_xpm;
++       real_on_xpm = backlight_on_xpm;
+    }
+ 
+    /* Initialize Application */


>Release-Note:
>Audit-Trail:
>Unformatted:
 >wmupmon
 Segmentation fault
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201011252117.oAPLHqh4094703>