After upgrading to RedHat 8, I can't get spell-checking working on my
machine. The gnome-spell-component-0.5 program always fails with a
SIGILL. After a bunch of poking at it, I'm stumped.
I've tried this both under KDE and Gnome, with similar results, except
that KDE pops up an error message when I open the settings panel, while
Gnome is silent. In either case, no languages are listed under the
"Spell Checking" tab.
I am using everything that Red Carpet thinks I should have installed,
including all of the non-devel packages in the Evolution and Gnome
Desktop channels.
In particular, my spelling-related packages include these:
% rpm -qa | grep -i spell
pspell-0.12.2-ximian.7
gnome-spell-0.5-1.ximian.3
aspell-0.33.7.1-ximian.4
I also tried installing aspell-en-gb and aspell-en-ca, which changed
nothing. Ditto for aspell-devel and pspell-devel.
The troubled program seems to be gnome-spell-component-0.5, so I tried
running that from the command line. An strace of
gnome-spell-component-0.5 ends with
open("/usr/share/pspell/region-to-spelling.map", O_RDONLY) = 11
fstat64(11, {st_mode=S_IFREG|0644, st_size=125, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40017000
read(11, "# Pspell region to spelling map "..., 8192) = 125
read(11, "", 4096) = 0
read(11, "", 8192) = 0
close(11) = 0
munmap(0x40017000, 4096) = 0
open("/usr/share/pspell", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 11
fstat64(11, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
fcntl64(11, F_SETFD, FD_CLOEXEC) = 0
getdents64(0xb, 0x809ae40, 0x1000, 0x809acc0) = 1040
getdents64(0xb, 0x809ae40, 0x1000, 0x809acf0) = 0
close(11) = 0
open("/usr/share/pspell/en-american-aspell.pwli", O_RDONLY) = 11
brk(0x80a0000) = 0x80a0000
fstat64(11, {st_mode=S_IFREG|0644, st_size=25, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40017000
read(11, "/usr/lib/aspell/american\n", 8192) = 25
read(11, "", 4096) = 0
close(11) = 0
munmap(0x40017000, 4096) = 0
-- SIGILL (Illegal instruction) --
An ltrace of gnome-spell-component-0.5 ends with
strcmp("anguages", "anguages") = 0
gnome_config_push_prefix(0x0805916a, 0xbffff498, 0, 0x07ab8a40, 0xbffff510) = 0x080651c8
_gnome_config_get_int_with_default(0x08059181, 0, 0, 0x07ab8a40, 0xbffff510) = 2
_gnome_config_get_int_with_default(0x08059189, 0, 0, 0x07ab8a40, 0xbffff510) = 22
__xstat(3, "/opt/gnome/share/pspell", 0xbffff480) = -1
new_pspell_config(3, 0, 0xbffff480, 0xbffff480, 0x08098108) = 0x08099260
pspell_config_replace(0x08099260, 0x08058fc5, 0x08059144, 0x08051cf1, 3) = 1
new_pspell_manager(0x08099260, 0x08058fc5, 0x08059144, 0x08051cf1, 3) = 0x08099240
pspell_error_number(0x08099240, 0x08058fc5, 0x08059144, 0x08051cf1, 3) = 4121
new_pspell_config(3, 2, 0xbffff480, 0x08099260, 0x08099240) = 0x08099580
pspell_config_replace(0x08099580, 0x08058fc5, 0x0805913a, 0x08051cf1, 3) = 1
new_pspell_manager(0x08099580, 0x08058fc5, 0x0805913a, 0x08051cf1, 3) = 0x08098280
pspell_error_number(0x08098280, 0x08058fc5, 0x0805913a, 0x08051cf1, 3) = 4121
new_pspell_config(3, 4, 0xbffff480, 0x08099580, 0x08098280) = 0x08099170
pspell_config_replace(0x08099170, 0x08058fc5, 0x0805912f, 0x08051cf1, 3) = 1
new_pspell_manager(0x08099170, 0x08058fc5, 0x0805912f, 0x08051cf1, 3) = 0x08099d88
pspell_error_number(0x08099d88, 0x08058fc5, 0x0805912f, 0x08051cf1, 3) = 4121
new_pspell_config(3, 6, 0xbffff480, 0x08099170, 0x08099d88) = 0x08099c28
pspell_config_replace(0x08099c28, 0x08058fc5, 0x08059126, 0x08051cf1, 3) = 1
new_pspell_manager(0x08099c28, 0x08058fc5, 0x08059126, 0x08051cf1, 3) = 0x0809a138
pspell_error_number(0x0809a138, 0x08058fc5, 0x08059126, 0x08051cf1, 3) = 4121
new_pspell_config(3, 8, 0xbffff480, 0x08099c28, 0x0809a138) = 0x08099fd8
pspell_config_replace(0x08099fd8, 0x08058fc5, 0x08059119, 0x08051cf1, 3) = 1
new_pspell_manager(0x08099fd8, 0x08058fc5, 0x08059119, 0x08051cf1, 3) = 0x0809a4e8
pspell_error_number(0x0809a4e8, 0x08058fc5, 0x08059119, 0x08051cf1, 3) = 4121
new_pspell_config(3, 10, 0xbffff480, 0x08099fd8, 0x0809a4e8) = 0x0809a388
pspell_config_replace(0x0809a388, 0x08058fc5, 0x08059102, 0x08051cf1, 3) = 1
new_pspell_manager(0x0809a388, 0x08058fc5, 0x08059102, 0x08051cf1, 3) = 0x0809a8e8
pspell_error_number(0x0809a8e8, 0x08058fc5, 0x08059102, 0x08051cf1, 3) = 4121
new_pspell_config(3, 12, 0xbffff480, 0x0809a388, 0x0809a8e8) = 0x0809a790
pspell_config_replace(0x0809a790, 0x08058fc5, 0x080590ed, 0x08051cf1, 3) = 1
new_pspell_manager(0x0809a790, 0x08058fc5, 0x080590ed, 0x08051cf1, 3 <unfinished ...>
libpspell_aspell_LTX_new_pspell_manager_class(0x0809ab48, 0, 6, 16, 0x40c477b0 <unfinished ...>
-- SIGILL (Illegal instruction) --
+++ killed by SIGILL +++
And running it in GDB yields this:
Starting program: /usr/bin/gnome-spell-component-0.5
Program received signal SIGILL, Illegal instruction.
0xbffff2b2 in ?? ()
(gdb) bt
#0 0xbffff2b2 in ?? ()
#1 0x40c4f5a9 in pspell_aspell::PA_Manager::PA_Manager(PspellConfig*, void*) ()
from /usr/lib/libpspell_aspell.so.2
#2 0x40c500f1 in libpspell_aspell_LTX_new_pspell_manager_class () from
/usr/lib/libpspell_aspell.so.2
#3 0x40c4327a in new_pspell_manager_class(PspellConfig*) () from /usr/lib/libpspell.so.4
#4 0x40c44953 in new_pspell_manager () from /usr/lib/libpspell.so.4
#5 0x08051d2d in gnome_spell_control_new ()
#6 0x08051edf in gnome_spell_control_new ()
#7 0x08051ff3 in gnome_spell_control_new ()
#8 0x0804e4d0 in _ORBIT_skel_GNOME_Spell_Dictionary_getLanguages ()
#9 0x400daa1c in ORBit_POA_handle_request () from /usr/lib/libORBit.so.0
#10 0x400dd5f9 in ORBit_handle_incoming_request () from /usr/lib/libORBit.so.0
#11 0x400f4f7b in giop_main_handle_connection () from /usr/lib/libIIOP.so.0
#12 0x400a0bcc in orb_handle_connection () from /usr/lib/liboaf.so.0
#13 0x40c1f076 in g_io_unix_dispatch () from /usr/lib/libglib-1.2.so.0
#14 0x40c2097e in g_main_dispatch () from /usr/lib/libglib-1.2.so.0
#15 0x40c20e59 in g_main_iterate () from /usr/lib/libglib-1.2.so.0
#16 0x40c210f4 in g_main_run () from /usr/lib/libglib-1.2.so.0
#17 0x409b76df in gtk_main () from /usr/lib/libgtk-1.2.so.0
#18 0x080531c7 in main ()
#19 0x420158d4 in __libc_start_main () from /lib/i686/libc.so.6
Does anybody know what might be the problem here?
Thanks,
William