Bug#400048: gtranslator: Segfaults very often when editing

2006-11-24 Thread Martin Hawlisch
 Von: Loïc Minier [EMAIL PROTECTED]
 Betreff: Re: Bug#400048: gtranslator: Segfaults very often when editing

  In this situation, the best would be to rebuild it with debugging
  symbols and run it under valgrind.

OK, I rebuild gtranslatior using:
DEB_BUILD_OPTIONS=debug,noopt,nostrip dpkg-buildpackage -uc -us -rfakeroot

To reproduce: Simply keep copy and pasting between the text of the original 
message to the translated text.


Now I get the following backtrace:

*** glibc detected *** free(): invalid pointer: 0x08202f18 ***

Program received signal SIGABRT, Aborted.
[Switching to Thread -1224922368 (LWP 2909)]
0xb7fda410 in ?? ()
(gdb) bt
#0  0xb7fda410 in ?? ()
#1  0xbfd9297c in ?? ()
#2  0x0006 in ?? ()
#3  0x0b5d in ?? ()
#4  0xb7366811 in raise () from /lib/tls/i686/cmov/libc.so.6
#5  0xb7367fb9 in abort () from /lib/tls/i686/cmov/libc.so.6
#6  0xb739bc8a in __fsetlocking () from /lib/tls/i686/cmov/libc.so.6
#7  0xb73a351f in mallopt () from /lib/tls/i686/cmov/libc.so.6
#8  0xb73a35c2 in free () from /lib/tls/i686/cmov/libc.so.6
#9  0xb74b3b31 in g_free () from /usr/lib/libglib-2.0.so.0
#10 0x08057c1e in get_selection_buffer (buffer=0x81222c8) at gui.c:581
#11 0x08057edb in gtranslator_clipboard_copy (widget=0x80fe838, useless=0x0) at 
gui.c:647
#12 0xb7531e1b in g_cclosure_marshal_VOID__VOID () from 
/usr/lib/libgobject-2.0.so.0
#13 0xb752498b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#14 0xb7534f2d in g_signal_chain_from_overridden () from 
/usr/lib/libgobject-2.0.so.0
#15 0xb7536429 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#16 0xb75365d9 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#17 0xb7a3792d in gtk_widget_can_activate_accel () from 
/usr/lib/libgtk-x11-2.0.so.0
#18 0xb752498b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#19 0xb7534f2d in g_signal_chain_from_overridden () from 
/usr/lib/libgobject-2.0.so.0
#20 0xb7536208 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#21 0xb75365d9 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#22 0xb7869f89 in gtk_accel_group_activate () from /usr/lib/libgtk-x11-2.0.so.0
#23 0xb786a08a in gtk_accel_groups_activate () from /usr/lib/libgtk-x11-2.0.so.0
#24 0xb7a4504a in gtk_window_activate_key () from /usr/lib/libgtk-x11-2.0.so.0
#25 0xb7a450bc in gtk_window_activate_key () from /usr/lib/libgtk-x11-2.0.so.0
#26 0xb7949250 in _gtk_marshal_BOOLEAN__BOXED () from 
/usr/lib/libgtk-x11-2.0.so.0
#27 0xb7522f49 in g_value_set_boxed () from /usr/lib/libgobject-2.0.so.0
#28 0xb752498b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#29 0xb753556f in g_signal_chain_from_overridden () from 
/usr/lib/libgobject-2.0.so.0
#30 0xb7536208 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#31 0xb75365d9 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#32 0xb7a32e84 in gtk_widget_get_default_style () from 
/usr/lib/libgtk-x11-2.0.so.0
#33 0xb7942c0a in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#34 0xb7943e07 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#35 0xb77dbeea in _gdk_events_init () from /usr/lib/libgdk-x11-2.0.so.0
#36 0xb74ac731 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#37 0xb74af7a6 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
---Type return to continue, or q return to quit---
#38 0xb74afb67 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#39 0xb7944281 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#40 0x0805e056 in main (argc=2, argv=0xbfd93e94) at main.c:527



Running valgrind (I have never used that before) gives:
(only the latest error, which is the same as in the backtrace):

==2980== Invalid free() / delete / delete[]
==2980==at 0x401CFA5: free (vg_replace_malloc.c:233)
==2980==by 0x4B18B30: g_free (in /usr/lib/libglib-2.0.so.0.1200.4)
==2980==by 0x8057C1D: get_selection_buffer (gui.c:581)
==2980==by 0x8057EDA: gtranslator_clipboard_copy (gui.c:647)
==2980==by 0x4ABAE1A: g_cclosure_marshal_VOID__VOID (in 
/usr/lib/libgobject-2.0.so.0.1200.4)
==2980==by 0x4AAD98A: g_closure_invoke (in 
/usr/lib/libgobject-2.0.so.0.1200.4)
==2980==by 0x4ABDF2C: (within /usr/lib/libgobject-2.0.so.0.1200.4)
==2980==by 0x4ABF428: g_signal_emit_valist (in 
/usr/lib/libgobject-2.0.so.0.1200.4)
==2980==by 0x4ABF5D8: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.1200.4)
==2980==by 0x471092C: (within /usr/lib/libgtk-x11-2.0.so.0.800.20)
==2980==by 0x4AAD98A: g_closure_invoke (in 
/usr/lib/libgobject-2.0.so.0.1200.4)
==2980==by 0x4ABDF2C: (within /usr/lib/libgobject-2.0.so.0.1200.4)
==2980==  Address 0x5DDAE28 is 40 bytes inside a block of size 504 alloc'd
==2980==at 0x401C58B: memalign (vg_replace_malloc.c:332)
==2980==by 0x401C5E5: posix_memalign (vg_replace_malloc.c:421)
==2980==by 0x4B27F37: (within /usr/lib/libglib-2.0.so.0.1200.4)
==2980==by 0x4B2896E: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.1200.4)
==2980==by 0x4931B3F

Bug#400048: gtranslator: Segfaults very often when editing

2006-11-23 Thread Martin Hawlisch
Package: gtranslator
Version: 1.1.6-6
Severity: important

I'm using gtranslator to edit the german po file of GRAMPS.
Especially when doing copy and past in the translation field gtranslator 
crashes very often.
It prints to the console:
*** glibc detected *** free(): invalid pointer: 0x089a3c28 ***
and then is hanging.

this is a gdb backtrace done in another run:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1225348352 (LWP 29047)]
0xb76474ba in pango_font_get_glyph_extents () from /usr/lib/libpango-1.0.so.0
(gdb) bt
#0  0xb76474ba in pango_font_get_glyph_extents () from 
/usr/lib/libpango-1.0.so.0
#1  0xb7648873 in pango_glyph_string_extents_range () from 
/usr/lib/libpango-1.0.so.0
#2  0xb764896e in pango_glyph_string_extents () from /usr/lib/libpango-1.0.so.0
#3  0xb765163a in pango_layout_iter_get_index () from /usr/lib/libpango-1.0.so.0
#4  0xb76532a2 in pango_layout_line_get_extents () from 
/usr/lib/libpango-1.0.so.0
#5  0xb76536e5 in pango_layout_line_get_pixel_extents () from 
/usr/lib/libpango-1.0.so.0
#6  0xb765624f in pango_layout_iter_get_char_extents () from 
/usr/lib/libpango-1.0.so.0
#7  0xb76571d3 in pango_layout_get_pixel_extents () from 
/usr/lib/libpango-1.0.so.0
#8  0xb782199f in gtk_cell_renderer_text_new () from 
/usr/lib/libgtk-x11-2.0.so.0
#9  0xb7821d80 in gtk_cell_renderer_text_new () from 
/usr/lib/libgtk-x11-2.0.so.0
#10 0xb781bf24 in gtk_cell_renderer_render () from /usr/lib/libgtk-x11-2.0.so.0
#11 0xb79bbdf5 in gtk_tree_view_column_focus_cell () from 
/usr/lib/libgtk-x11-2.0.so.0
#12 0xb79bcb41 in _gtk_tree_view_column_cell_render () from 
/usr/lib/libgtk-x11-2.0.so.0
#13 0xb79b71b5 in _gtk_tree_view_column_autosize () from 
/usr/lib/libgtk-x11-2.0.so.0
#14 0xb78e1250 in _gtk_marshal_BOOLEAN__BOXED () from 
/usr/lib/libgtk-x11-2.0.so.0
#15 0xb74baf49 in g_value_set_boxed () from /usr/lib/libgobject-2.0.so.0
#16 0xb74bc98b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#17 0xb74cd56f in g_signal_chain_from_overridden () from 
/usr/lib/libgobject-2.0.so.0
#18 0xb74ce208 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#19 0xb74ce5d9 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#20 0xb79cae84 in gtk_widget_get_default_style () from 
/usr/lib/libgtk-x11-2.0.so.0
#21 0xb78dc00f in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#22 0xb775eeb0 in gdk_window_is_viewable () from /usr/lib/libgdk-x11-2.0.so.0
#23 0xb775f05f in gdk_window_process_all_updates () from 
/usr/lib/libgdk-x11-2.0.so.0
#24 0xb775f0e5 in gdk_window_process_all_updates () from 
/usr/lib/libgdk-x11-2.0.so.0
#25 0xb74429b1 in g_source_is_destroyed () from /usr/lib/libglib-2.0.so.0
#26 0xb7444731 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#27 0xb74477a6 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#28 0xb7447b67 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#29 0xb78dc281 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#30 0x0805c8aa in ?? ()
#31 0x080a1010 in ?? ()
#32 0x0806e19e in _IO_stdin_used ()
#33 0xbf835880 in ?? ()
#34 0x in ?? ()


I hope you can get that fixed.

Cheers, Martin.

-- System Information:
Debian Release: 4.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-1-686
Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15)

Versions of packages gtranslator depends on:
ii  libart-2.0-2   2.3.17-1  Library of functions for 2D graphi
ii  libaspell150.60.4-4  GNU Aspell spell-checker runtime l
ii  libatk1.0-01.12.3-1  The ATK accessibility toolkit
ii  libbonobo2-0   2.14.0-3  Bonobo CORBA interfaces library
ii  libbonoboui2-0 2.14.0-5  The Bonobo UI library
ii  libc6  2.3.6.ds1-8   GNU C Library: Shared libraries
ii  libcairo2  1.2.4-4   The Cairo 2D vector graphics libra
ii  libfontconfig1 2.4.1-2   generic font configuration library
ii  libgconf2-42.16.0-2  GNOME configuration database syste
ii  libglib2.0-0   2.12.4-2  The GLib library of C routines
ii  libgnome-keyring0  0.6.0-2   GNOME keyring services library
ii  libgnome2-02.16.0-2  The GNOME 2 library - runtime file
ii  libgnomecanvas2-0  2.14.0-2  A powerful object-oriented display
ii  libgnomeui-0   2.14.1-2  The GNOME 2 libraries (User Interf
ii  libgnomevfs2-0 2.14.2-3  GNOME virtual file-system (runtime
ii  libgtk2.0-02.8.20-3  The GTK+ graphical user interface 
ii  libgtkspell0   2.0.10-3+b1   a spell-checking addon for GTK's T
ii  libice61:1.0.1-2 X11 Inter-Client Exchange library
ii  liborbit2  1:2.14.3-0.1  libraries for ORBit2 - a CORBA ORB
ii  libpango1.0-0  

Bug#400048: gtranslator: Segfaults very often when editing

2006-11-23 Thread Loïc Minier
On Thu, Nov 23, 2006, Martin Hawlisch wrote:
 *** glibc detected *** free(): invalid pointer: 0x089a3c28 ***

 In this situation, the best would be to rebuild it with debugging
 symbols and run it under valgrind.

-- 
Loïc Minier [EMAIL PROTECTED]
10 SIN
20 GO TO ROBOT HELL -- Temple of Robotology