Bug 183626 - x11-wm/icewm doesn't start after upgrade from RELENG_9 to RELENG_10
Summary: x11-wm/icewm doesn't start after upgrade from RELENG_9 to RELENG_10
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Eitan Adler
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-11-03 20:50 UTC by dog
Modified: 2013-11-04 01:10 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description dog 2013-11-03 20:50:00 UTC
I updated OS on my home PC from RELENG_9 to RELENG_10, than did portupgrade according to UPDATING entry from 20130904 (10-CURRENT users with any port depending on converters/libiconv). After that I can't start icewm (neither startx, nor xdm), it fails with the following error:

dog@dog:~> startx
unable to write 'random state'
xauth:  file /usr/home/dog/.serverauth.97172 does not exist


X.Org X Server 1.12.4
Release Date: 2012-08-27
X Protocol Version 11, Revision 0
Build Operating System: FreeBSD 10.0-BETA1 amd64
Current Operating System: FreeBSD dog 10.0-BETA1 FreeBSD 10.0-BETA1 #0 r256425: Sun Oct 13 14:29:23
EEST 2013     root@dog:/usr/obj/usr/src/sys/DOG amd64
Build Date: 15 October 2013  07:42:01AM

Current version of pixman: 0.30.2
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Thu Oct 17 22:52:37 2013
(==) Using config file: "/etc/X11/xorg.conf"
non-network local connections being added to access control list
icewm-session: using /usr/home/dog/.icewm for private configuration files
icewmtray: iconv doesn't supply (sufficient) Unicode to UTF-8 converters.
IceWM: iconv doesn't supply (sufficient) Unicode to UTF-8 converters.
Missing charsets in String to FontSet conversion (ISO8859-2)
xinit: connection to X server lost

waiting for X server to shut down XIO:  fatal IO error 35 (Resource temporarily unavailable) on X se
rver ":0"
      after 0 requests (0 known processed) with 0 events remaining.
XIO:  fatal IO error 35 (Resource temporarily unavailable) on X server ":0"
      after 40 requests (40 known processed) with 0 events remaining.
icewmbg: Can't open display: :0. X must be running and $DISPLAY set.
Server terminated successfully (0). Closing log file.

Fix: 

I have no idea
How-To-Repeat: Start icewm on RELENG_10 system (without ports libiconv).
Comment 1 Edwin Groothuis freebsd_committer 2013-11-03 20:50:08 UTC
Responsible Changed
From-To: freebsd-ports-bugs->eadler

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 dfilter service freebsd_committer 2013-11-04 01:01:26 UTC
Author: eadler
Date: Mon Nov  4 01:01:18 2013
New Revision: 332658
URL: http://svnweb.freebsd.org/changeset/ports/332658

Log:
  Fix icewm's buggy use of iconv which causes it to fail on 10.x.
  
  PR:		ports/182307
  Submitted by:	Wolfgang Zenker <wolfgang@lyxys.ka.sub.org> (incl. patch and testing)
  PR:		ports/183626
  Submitted by:	Pavlo Greenberg <dog@virtual.org.ua>

Modified:
  head/x11-wm/icewm/files/patch-src_ylocale.cc

Modified: head/x11-wm/icewm/files/patch-src_ylocale.cc
==============================================================================
--- head/x11-wm/icewm/files/patch-src_ylocale.cc	Mon Nov  4 00:14:08 2013	(r332657)
+++ head/x11-wm/icewm/files/patch-src_ylocale.cc	Mon Nov  4 01:01:18 2013	(r332658)
@@ -1,6 +1,20 @@
---- src/ylocale.cc.orig	Mon Aug  7 03:38:14 2006
-+++ src/ylocale.cc	Tue Aug  8 01:00:33 2006
-@@ -149,7 +149,8 @@
+--- src/ylocale.cc.orig	2013-11-03 19:58:39.180727369 -0500
++++ src/ylocale.cc	2013-11-03 19:58:51.540725980 -0500
+@@ -126,8 +126,12 @@ YLocale::~YLocale() {
+ iconv_t YLocale::getConverter (const char *from, const char **&to) {
+     iconv_t cd = (iconv_t) -1;
+ 
++    char *myfrom = (char *)malloc(1 + strlen(from));
++    strcpy(myfrom, from);
++    char *modptr = strstr(myfrom, "//");
++    if (NULL != modptr) *modptr = '\0';
+     while (NULL != *to)
+-        if ((iconv_t) -1 != (cd = iconv_open(*to, from))) return cd;
++        if ((iconv_t) -1 != (cd = iconv_open(*to, myfrom))) return cd;
+         else ++to;
+ 
+     return (iconv_t) -1;
+@@ -149,7 +153,8 @@ YUChar *YLocale::unicodeString(const YLC
          return NULL;
  
      YUChar * uStr(new YUChar[lLen + 1]);
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 3 Eitan Adler freebsd_committer freebsd_triage 2013-11-04 01:03:25 UTC
State Changed
From-To: open->closed

Thanks for your PR;  I think I just fixed it (thanks to Wolfgang 
Zenker); let me know if it is still borked