GEdit hangs on Autospellcheck

Bug #276905 reported by Jono Bacon
2
Affects Status Importance Assigned to Milestone
gedit (Ubuntu)
Fix Released
Medium
Ubuntu Desktop Bugs

Bug Description

Binary package hint: gedit

When I open GEdit in Intrepid and switch on autospellcheck (Tools->Autocheck Spelling), it hangs. From what I can tell I have all language libraries installed and switched on correctly.

ProblemType: Bug
Architecture: i386
DistroRelease: Ubuntu 8.10
ExecutablePath: /usr/bin/gedit
Package: gedit 2.24.0-0ubuntu1
ProcEnviron:
 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: gedit
Uname: Linux 2.6.27-4-generic i686

Tags: apport-bug
Revision history for this message
Jono Bacon (jonobacon) wrote :
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. Please try to obtain a backtrace following the instructions at http://wiki.ubuntu.com/DebuggingProgramCrash and upload the backtrace (as an attachment) to the bug report. This will greatly help us in tracking down your problem.

Changed in gedit:
assignee: nobody → desktop-bugs
importance: Undecided → Medium
status: New → Incomplete
Revision history for this message
Jono Bacon (jonobacon) wrote :
Revision history for this message
Jono Bacon (jonobacon) wrote :

Sorry, to clarify what I did on the previous backtrace:

 * Started Gedit via gdb
 * Enabled Autospellcheck
 * typed some random text, and pressed the spacebar - then it hung

Hope this helps.

Revision history for this message
Jono Bacon (jonobacon) wrote :

As per seb's instructions:

jono@forge:~$ gdb gedit
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
(gdb) run
Starting program: /usr/bin/gedit
[Thread debugging using libthread_db enabled]
[New Thread 0xb712e700 (LWP 26284)]
[New Thread 0xb6d5bb90 (LWP 26287)]
^C
Program received signal SIGINT, Interrupt.
[Switching to Thread 0xb712e700 (LWP 26284)]
0xb808a430 in __kernel_vsyscall ()
(gdb) thread apply all bt

Thread 2 (Thread 0xb6d5bb90 (LWP 26287)):
#0 0xb808a430 in __kernel_vsyscall ()
#1 0xb7f143a2 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb7da80bd in ?? () from /usr/lib/libgthread-2.0.so.0
#3 0xb75b2269 in ?? () from /usr/lib/libglib-2.0.so.0
#4 0xb75b2367 in g_async_queue_timed_pop () from /usr/lib/libglib-2.0.so.0
#5 0xb7604663 in ?? () from /usr/lib/libglib-2.0.so.0
#6 0xb760305f in ?? () from /usr/lib/libglib-2.0.so.0
#7 0xb7f1050f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#8 0xb751d7ee in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb712e700 (LWP 26284)):
#0 0xb808a430 in __kernel_vsyscall ()
#1 0xb752bd43 in ?? () from /lib/tls/i686/cmov/libc.so.6
#2 0xb74d5093 in ?? () from /lib/tls/i686/cmov/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) quit
The program is running. Exit anyway? (y or n) y
jono@forge:~$

Revision history for this message
Jono Bacon (jonobacon) wrote :

Another request of seb:

jono@forge:~$ gdb gedit
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
(gdb) run
Starting program: /usr/bin/gedit
[Thread debugging using libthread_db enabled]
[New Thread 0xb6fcb700 (LWP 26690)]
[New Thread 0xb6bf8b90 (LWP 26697)]
^C
Program received signal SIGINT, Interrupt.
[Switching to Thread 0xb6fcb700 (LWP 26690)]
0xb7f27430 in __kernel_vsyscall ()
(gdb) thread apply all bt

Thread 2 (Thread 0xb6bf8b90 (LWP 26697)):
#0 0xb7f27430 in __kernel_vsyscall ()
#1 0xb7db13a2 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb7c450bd in g_cond_timed_wait_posix_impl (cond=0xb6200788,
    entered_mutex=0x80, abs_time=0x1)
    at /build/buildd/glib2.0-2.18.1/gthread/gthread-posix.c:242
#3 0xb744f269 in g_async_queue_pop_intern_unlocked (queue=0x9a1f3e8,
    try=<value optimized out>, end_time=0xb6bf8334)
    at /build/buildd/glib2.0-2.18.1/glib/gasyncqueue.c:365
#4 0xb744f367 in IA__g_async_queue_timed_pop (queue=0x9a1f3e8,
    end_time=0xb6bf8334) at /build/buildd/glib2.0-2.18.1/glib/gasyncqueue.c:491
#5 0xb74a1663 in g_thread_pool_thread_proxy (data=0x9d25af0)
    at /build/buildd/glib2.0-2.18.1/glib/gthreadpool.c:121
#6 0xb74a005f in g_thread_create_proxy (data=0x9d25b68)
    at /build/buildd/glib2.0-2.18.1/glib/gthread.c:635
#7 0xb7dad50f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#8 0xb73ba7ee in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb6fcb700 (LWP 26690)):
#0 0xb7f27430 in __kernel_vsyscall ()
#1 0xb73c8d43 in ?? () from /lib/tls/i686/cmov/libc.so.6
---Type <return> to continue, or q <return> to quit---
#2 0xb7372093 in ?? () from /lib/tls/i686/cmov/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) quit
The program is running. Exit anyway? (y or n) y
jono@forge:~$

Revision history for this message
Jono Bacon (jonobacon) wrote :

Seb asked me to set the language in Tools->Set Language, and this hangs gedit. Backtrace:

jono@forge:~$ gdb gedit
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
(gdb) run
Starting program: /usr/bin/gedit
[Thread debugging using libthread_db enabled]
[New Thread 0xb7185700 (LWP 27458)]
[New Thread 0xb6db2b90 (LWP 27461)]
[Thread 0xb6db2b90 (LWP 27461) exited]
^C
Program received signal SIGINT, Interrupt.
[Switching to Thread 0xb7185700 (LWP 27458)]
0xb80e1430 in __kernel_vsyscall ()
(gdb) thread apply all bt

Thread 1 (Thread 0xb7185700 (LWP 27458)):
#0 0xb80e1430 in __kernel_vsyscall ()
#1 0xb7582d43 in ?? () from /lib/tls/i686/cmov/libc.so.6
#2 0xb752c093 in ?? () from /lib/tls/i686/cmov/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) quit
The program is running. Exit anyway? (y or n) y
jono@forge:~$

Revision history for this message
Jono Bacon (jonobacon) wrote :

OK, I ran it through valgrind and managed to (a) set the language (this hung before) to United Kingdom, and (b) the auto spellcheck worked (this also hung before). Log is attached.

Revision history for this message
Sebastien Bacher (seb128) wrote :

the valgrind log indicates that's a libenchant issue similar to bug #261596

Revision history for this message
Jono Bacon (jonobacon) wrote :

Installed libenchant1c2a-dbgsym and ran gedit through valgrind - again setting the language and then enabling autospellcheck and typing in some words. Everything worked. Valgrind log is attached.

Changed in gedit:
status: Incomplete → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.