[Bug 139738] Gtranslator crashes when saving file with Hebrew chars

bugzilla-daemon@bugzilla.gnome.org bugzilla-daemon@bugzilla.gnome.org
Fri, 28 Jan 2005 04:30:15 -0500 (EST)


Please DO NOT reply to this by email. All additional comments should be made in
the comments box of this bug report.

 http://bugzilla.gnome.org/show_bug.cgi?id=139738
 gtranslator | Generally bug'd | Ver: HEAD





------- Additional Comments From Loïc Minier  2005-01-28 04:30 -------
I could reproduce this, I took a random po file, which initially had:
# Translation of libbonobo to Croatiann
# Copyright (C) Croatiann team
# Translators: Automatski Prijevod <>,Robert Sedak <robert.sedak@sk.tel.hr>,
msgid ""
msgstr ""
"Project-Id-Version: libbonobo 0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2004-09-13 15:34+0100\n"
"PO-Revision-Date: 2004-03-13 13:11+CET\n"
"Last-Translator: auto\n"
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: TransDict server\n"

I removed the charset=UTF-8 in the CT, ie:
"Content-Type: text/plain\n"

Then I launched a debugging symbols version of gtranslator from gdb, it will
crash immediately if you pass the file to the command line or if you open a file
with the file open dialog.

Before the crash, I get hundreds of warnings like:
(gtranslator:1953): gtranslator-WARNING **: /home/lool/hr.po:83: could not
convert line from 'text/plain' to UTF-8: [NULL ERRV]

(gtranslator:1953): GLib-WARNING **: GError set over the top of a previous
GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is NULL before
it's set.
The overwriting error message was: La conversion du jeu de caractères
« text/plain » vers « utf-8 » n'est pas supporté

(gtranslator:1953): gtranslator-WARNING **: /home/lool/hr.po:84: could not
convert line from 'text/plain' to UTF-8: [NULL ERRV]

(gtranslator:1953): GLib-WARNING **: GError set over the top of a previous
GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is NULL before
it's set.
The overwriting error message was: La conversion du jeu de caractères
« text/plain » vers « utf-8 » n'est pas supporté
...
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1088779104 (LWP 1953)]
0x0805c874 in gtranslator_translation_changed (buffer=0x0, useless=0x0)
    at gui.c:733
733                     GtrMsg *msg = GTR_MSG(po->current->data);
(gdb) 

I stripped the po file to have a single translation with 8-bit chars, and got:
bee% LC_ALL=C gdb ./debian/gtranslator/usr/bin/gtranslator
GNU gdb 6.3-debian
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-linux"...Using host libthread_db library
"/lib/tls/libthread_db.so.1".

(gdb) run
Starting program:
/home/lool/tmp-gtranslator/gtranslator-1.1.5/debian/gtranslator/usr/bin/gtranslator 
[Thread debugging using libthread_db enabled]
[New Thread 1088779104 (LWP 1977)]

(gtranslator:1977): GLib-WARNING **: GError set over the top of a previous
GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is NULL before
it's set.
The overwriting error message was: La conversion du jeu de caractères
« text/plain » vers « utf-8 » n'est pas supporté

(gtranslator:1977): gtranslator-WARNING **: /home/lool/hr.po:17: could not
convert line from 'text/plain' to UTF-8: [NULL ERRV]

(gtranslator:1977): GLib-WARNING **: GError set over the top of a previous
GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is NULL before
it's set.
The overwriting error message was: La conversion du jeu de caractères
« text/plain » vers « utf-8 » n'est pas supporté

(gtranslator:1977): gtranslator-WARNING **: /home/lool/hr.po:18: could not
convert line from 'text/plain' to UTF-8: [NULL ERRV]

(gtranslator:1977): GLib-WARNING **: GError set over the top of a previous
GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is NULL before
it's set.
The overwriting error message was: La conversion du jeu de caractères
« text/plain » vers « utf-8 » n'est pas supporté

(gtranslator:1977): gtranslator-WARNING **: /home/lool/hr.po:19: could not
convert line from 'text/plain' to UTF-8: [NULL ERRV]

(gtranslator:1977): GLib-WARNING **: GError set over the top of a previous
GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is NULL before
it's set.
The overwriting error message was: La conversion du jeu de caractères
« text/plain » vers « utf-8 » n'est pas supporté

(gtranslator:1977): gtranslator-WARNING **: /home/lool/hr.po:20: could not
convert line from 'text/plain' to UTF-8: [NULL ERRV]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1088779104 (LWP 1977)]
0x0805c874 in gtranslator_translation_changed (buffer=0x0, useless=0x0)
    at gui.c:733
733                     GtrMsg *msg = GTR_MSG(po->current->data);
(gdb) 


I believe the stacktrace is irrelevant, the warnings should be fixed first.

Regards,

------- You are receiving this mail because: -------
You are on the CC list for the bug.