[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