[Pkg-freeciv-devel] Bug#323078: freeciv-client-gtk: Client crashes on start if (when) /usr/lib/charset.alias is missing

Mika Bostrom bostik+debian at bostik.iki.fi
Sun Aug 14 16:26:05 UTC 2005


Package: freeciv-client-gtk
Version: 2.0.4-1
Severity: important

  Severity important, as I can't reproduce this bug on my work box.
  
  I have been trying to get myself addicted to freeciv, but failed to do
so as the client simply does not even start. Executing civclient-gtk
dumps a corefile, which is of little use.

  With DEB_BUILD_OPTIONS=debug,nostrip I get the following backtrace:
(gdb) bt
#0  0xb78f4ae3 in strlen () from /lib/tls/i686/cmov/libc.so.6
#1  0x080826c5 in mystrlcpy (dest=0x811a400 "", src=0x0, n=512)
    at ../../utility/support.c:234
#2  0x080ea76b in ui_init () at ../../../client/gui-gtk-2.0/gui_main.c:1024
#3  0x08056e3f in main (argc=1, argv=0xbffffc64)
    at ../../client/civclient.c:302

  Stracing the execution provides the actual information:
<clipped useless stuff>
futex(0xb7901aa8, FUTEX_WAKE, 2147483647) = 0
open("/usr/lib/charset.alias", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file o
r directory)
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV (core dumped) +++

  The really weird part of the problem is that according to client
sources, charset.alias can be NULL. Also, support.c:mystrlcpy() actually
calls assert() to make sure source can not be NULL. So how is this even
possible?

  Workaround is to install package that provides charset.alias, right? 
According to packages.debian.org, *NO* package provides the file.
Viewing old bugreports from 2000-2001 imply that at some time both
fileutils and shellutils have provided the file in question.

  I have made absolutely sure that no libraries are locally built:

% ldd `which civclient-gtk`                    
        linux-gate.so.1 =>  (0xffffe000)
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb7d18000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb7c9b000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb7c7f000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb7c6a000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7c45000)
        libpangoxft-1.0.so.0 => /usr/lib/libpangoxft-1.0.so.0 (0xb7c3d000)
        libpangox-1.0.so.0 => /usr/lib/libpangox-1.0.so.0 (0xb7c32000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb7c0c000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb7bd5000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb7b9d000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7b9a000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7b95000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7b12000)
        libesd.so.0 => /usr/lib/libesd.so.0 (0xb7b0a000)
        libaudiofile.so.0 => /usr/lib/libaudiofile.so.0 (0xb7ae6000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb7a56000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7a44000)
        libSDL_mixer-1.2.so.0 => /usr/lib/libSDL_mixer-1.2.so.0 (0xb79d2000)
        libasound.so.2 => /usr/lib/libasound.so.2 (0xb7919000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7905000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb77ce000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb7703000)
        libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0xb76ff000)
        libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0xb76f6000)
        libXinerama.so.1 => /usr/X11R6/lib/libXinerama.so.1 (0xb76f3000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0xb76e5000)
        libXft.so.2 => /usr/lib/libXft.so.2 (0xb76d2000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7665000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7636000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb762c000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb7624000)
        /lib/ld-linux.so.2 (0xb7feb000)
        libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0xb761c000)
        libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb75f5000)
        libogg.so.0 => /usr/lib/libogg.so.0 (0xb75ef000)
        libsmpeg-0.4.so.0 => /usr/lib/libsmpeg-0.4.so.0 (0xb7594000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb7574000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb748e000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7483000)


  Feel free to reassign this bug as appropriate. 

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (990, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.10-ac10
Locale: LANG=C, LC_CTYPE=fi_FI at euro (charmap=ISO-8859-15)

Versions of packages freeciv-client-gtk depends on:
ii  freeciv-data  2.0.4-1                    Civilization turn based strategy g
ii  freeciv-serve 2.0.4-1                    Civilization turn based strategy g
ii  libasound2    1.0.9-3                    ALSA library
ii  libatk1.0-0   1.10.1-2                   The ATK accessibility toolkit
ii  libaudiofile0 0.2.6-6                    Open-source version of SGI's audio
ii  libc6         2.3.5-3                    GNU C Library: Shared libraries an
ii  libesd0       0.2.36-1                   Enlightened Sound Daemon - Shared 
ii  libglib2.0-0  2.6.6-1                    The GLib library of C routines
ii  libgtk2.0-0   2.6.9-1                    The GTK+ graphical user interface 
ii  libpango1.0-0 1.8.2-1                    Layout and rendering of internatio
ii  libsdl-mixer1 1.2.6-1.1                  mixer library for Simple DirectMed
ii  libsdl1.2debi 1.2.7+1.2.8cvs20041007-5.3 Simple DirectMedia Layer
ii  zlib1g        1:1.2.3-3                  compression library - runtime

freeciv-client-gtk recommends no packages.

-- no debconf information

-- 
 Mika Boström      +358-40-525-7347  \-/  "World peace will be achieved
 Bostik at lut.fi    www.lut.fi/~bostik  X    when the last man has killed
 Security freak, and proud of it.    /-\   the second-to-last." -anon?




More information about the Pkg-freeciv-devel mailing list