[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#616677: sweep: Text encoding errors and crash with non-UTF-8 locale



Package: sweep
Version: 0.9.3-3
Severity: important
Tags: patch

Reported upstream here:
https://sourceforge.net/tracker/?func=detail&aid=3201323&group_id=4854&atid=304854

(Copy of upstream report)

Sweep crashes on my Debian system with a non-UTF-8 German locale.

gettext delivers translated strings in the system encoding (latin), while
GTK/Pango seem to expect UTF-8 encoded strings. There are warnings like this:
(sweep:5369): Pango-WARNING **: Invalid UTF-8 string passed to
pango_layout_set_text()

Eventually the program crashes:
Program received signal SIGSEGV, Segmentation fault.
0xb7421108 in g_markup_escape_text () from /lib/libglib-2.0.so.0
(gdb) bt
#0 0xb7421108 in g_markup_escape_text () from /lib/libglib-2.0.so.0
#1 0xb7e5a30b in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#2 0xb78bcf9c in g_object_set_valist () from /usr/lib/libgobject-2.0.so.0
#3 0xb78bd5c6 in g_object_set () from /usr/lib/libgobject-2.0.so.0
#4 0xb7e4ace1 in gtk_widget_set_tooltip_text () from
/usr/lib/libgtk-x11-2.0.so.0
#5 0x0806f79c in create_pixmap_button ()
#6 0x0808fb18 in view_new ()
#7 0x08093d29 in view_new_all ()
#8 0x08084618 in ?? ()
#9 0xb78c5cac in g_cclosure_marshal_VOID__VOID () from
/usr/lib/libgobject-2.0.so.0
#10 0xb78b813a in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#11 0xb78ce61d in ?? () from /usr/lib/libgobject-2.0.so.0
#12 0xb78cfbfc in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#13 0xb78d0076 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#14 0xb7c63a8a in gtk_button_clicked () from /usr/lib/libgtk-x11-2.0.so.0
#15 0xb7c65048 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#16 0xb78c5cac in g_cclosure_marshal_VOID__VOID () from
/usr/lib/libgobject-2.0.so.0
#17 0xb78b67a9 in ?? () from /usr/lib/libgobject-2.0.so.0
#18 0xb78b813a in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#19 0xb78cdeba in ?? () from /usr/lib/libgobject-2.0.so.0
#20 0xb78cfbfc in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#21 0xb78d0076 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#22 0xb7c63b2a in gtk_button_released () from /usr/lib/libgtk-x11-2.0.so.0
#23 0xb7c63b73 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#24 0xb7d20e74 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#25 0xb78b67a9 in ?? () from /usr/lib/libgobject-2.0.so.0
#26 0xb78b813a in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#27 0xb78ce266 in ?? () from /usr/lib/libgobject-2.0.so.0
#28 0xb78cfa7b in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#29 0xb78d0076 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#30 0xb7e4d156 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#31 0xb7d194cd in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#32 0xb7d1a857 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#33 0xb7ba3dda in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#34 0xb741c305 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#35 0xb741ffe8 in ?? () from /lib/libglib-2.0.so.0
#36 0xb7420527 in g_main_loop_run () from /lib/libglib-2.0.so.0
#37 0xb7d1ae19 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#38 0x0805699a in main ()

This patch forces gettext to deliver UTF-8 encoded strings, which seems to fix
the issue.



-- System Information:
Debian Release: 6.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores)
Locale: LANG=de_DE@euro, LC_CTYPE=de_DE@euro (charmap=ISO-8859-15)
Shell: /bin/sh linked to /bin/bash

Versions of packages sweep depends on:
ii  libatk1.0-0            1.30.0-1          The ATK accessibility toolkit
ii  libc6                  2.11.2-10         Embedded GNU C Library: Shared lib
ii  libcairo2              1.8.10-6          The Cairo 2D vector graphics libra
ii  libfontconfig1         2.8.0-2.1         generic font configuration library
ii  libfreetype6           2.4.2-2.1         FreeType 2 font engine, shared lib
ii  libglib2.0-0           2.24.2-1          The GLib library of C routines
ii  libgtk2.0-0            2.20.1-2          The GTK+ graphical user interface 
ii  libmad0                0.15.1b-5         MPEG audio decoder library
ii  libogg0                1.2.0~dfsg-1      Ogg bitstream library
ii  libpango1.0-0          1.28.3-1+squeeze2 Layout and rendering of internatio
ii  libsamplerate0         0.1.7-3           Audio sample rate conversion libra
ii  libsndfile1            1.0.23-1          Library for reading/writing audio 
ii  libspeex1              1.2~rc1-1         The Speex codec runtime library
ii  libvorbis0a            1.3.1-1           The Vorbis General Audio Compressi
ii  libvorbisenc2          1.3.1-1           The Vorbis General Audio Compressi
ii  libvorbisfile3         1.3.1-1           The Vorbis General Audio Compressi
ii  libx11-6               2:1.3.3-4         X11 client-side library

Versions of packages sweep recommends:
pn  cmt                           <none>     (no description available)
pn  fil-plugins                   <none>     (no description available)
ii  ladspa-sdk [ladspa-plugin]    1.13-1     sample tools for linux-audio-dev p
pn  mcp-plugins                   <none>     (no description available)
pn  swh-plugins                   <none>     (no description available)
pn  tap-plugins                   <none>     (no description available)

sweep suggests no packages.

-- no debconf information
Index: src/main.c
===================================================================
--- src/main.c	(Revision 720)
+++ src/main.c	(Arbeitskopie)
@@ -107,12 +107,17 @@
   gchar *display_env;
 #endif
 
+
 #ifdef ENABLE_NLS
+  setlocale (LC_ALL, "");
   bindtextdomain (PACKAGE, PACKAGE_LOCALE_DIR);
+  bind_textdomain_codeset (PACKAGE, "utf-8");
   textdomain (PACKAGE);
 #endif
 
+  /* Deprecated in favour of setlocale(3)
   gtk_set_locale ();
+  */
 
 #ifdef DEVEL_CODE
   g_print (_("WARNING: Build includes incomplete development code.\n"));

Reply to: