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.