Bug 228196 - Scim doesn't start up
Scim doesn't start up
Status: CLOSED WORKSFORME
Product: Fedora
Classification: Fedora
Component: scim-chewing (Show other bugs)
6
i686 Linux
medium Severity high
: ---
: ---
Assigned To: Caius Chance
: i18n
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-02-11 05:07 EST by Robert Biuk-Aghai
Modified: 2007-11-30 17:11 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-04-18 02:16:23 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
strace output (495.58 KB, application/octet-stream)
2007-02-12 05:24 EST, Robert Biuk-Aghai
no flags Details

  None (edit)
Description Robert Biuk-Aghai 2007-02-11 05:07:08 EST
Description of problem:

For some reason, upon login to the X session scim is not started up. Then when
opening an application that takes input, such as a terminal or web browser, the
application will take a long time to start (up to 30 seconds), and will take
another period of time (10-20 seconds) to get ready to accept input.

Comparing with another box running FC6 here and where scim works, there should
be following processes running in my X session:

/usr/lib/scim-1.0/scim-launcher -d -c simple -e all -f socket --no-stay
/usr/lib/scim-1.0/scim-helper-manager
/usr/lib/scim-1.0/scim-panel-gtk --display :0.0 -c socket -d --no-stay
/usr/lib/scim-1.0/scim-launcher -d -c socket -e socket -f x11
scim-bridge

However, on my box none of these is running. And yes, in the preferences' input
method configuration I have selected "Follow the system-wide configuration
[SCIM]" and have since logged out and logged in again.

The system log (/var/log/messages) shows the following messages whenever I
switch from one application to another:

Feb 11 17:38:55 robert scim-bridge: Cannot establish the socket connection...
Feb 11 17:38:55 robert scim-bridge: Failed to initialize scim
Feb 11 17:38:55 robert scim-bridge: Failed to allocate the agent. Exitting...

It seems the application is trying to connect to scim and fails, and this is
causing the application to become unresponsive for upwards of 10 seconds.


Version-Release number of selected component (if applicable):

scim-1.4.4-37.fc6

For reference, here are the other installed scim components:

scim-bridge-0.4.9-1.fc6
scim-bridge-gtk-0.4.9-1.fc6
scim-chewing-0.3.1-7.fc6
scim-libs-1.4.4-37.fc6
scim-pinyin-0.5.91-12.fc6
scim-qtimm-0.9.4-5
scim-tables-0.5.7-1.fc6
scim-tables-chinese-0.5.7-1.fc6


How reproducible:

Login to X session with scim input method enabled.


Steps to Reproduce:
1. Login to X.
2. Open a terminal.
3. Try to type input. You will have to wait 10-20 seconds for the terminal to
accept input.
  
Actual results:
Delay

Expected results:
No delay

Additional info:
Naturally, switching on input methods doesn't work.
Comment 1 Jens Petersen 2007-02-12 02:24:06 EST
Hmm, strange.  Can you try turning off IM with im-chooser, restarting X
and then running "GTK_IM_MODULE=scim-bridge gedit"
and "GTK_IM_MODULE=scim gedit" to see what happens.

If you can attach strace output for when it is slow that would also be useful. :)
Comment 2 Robert Biuk-Aghai 2007-02-12 05:24:18 EST
Created attachment 147886 [details]
strace output

strace output created by:
GTK_IM_MODULE=scim-bridge strace -ostrout gedit
Comment 3 Robert Biuk-Aghai 2007-02-12 05:28:23 EST
Tried your suggestions:

1. GTK_IM_MODULE=scim-bridge gedit

gedit takes 10 seconds to appear, then another 10 seconds for the components in
its UI to appear and it to accept input. terminal output as follows:

Loading simple Config module ...
Creating backend ...
scim-launcher: tree.c:126: ReadTree: Assertion `infile' failed.
Cannot establish the socket connection...
Failed to initialize scim
Failed to allocate the agent. Exitting...
Failed to invoking the agent: No such file or directory
Cannot launch the agent
The messenger is now down
An IOException occurred at scim_bridge_client_imcontext_set_cursor_location ()
Loading simple Config module ...
Creating backend ...
scim-launcher: tree.c:126: ReadTree: Assertion `infile' failed.
Cannot establish the socket connection...
Failed to initialize scim
Failed to allocate the agent. Exitting...
Failed to invoking the agent: No such file or directory
Cannot launch the agent
The messenger is now down


2. GTK_IM_MODULE=scim gedit

gedit doesn't even appear. terminal output as follows:

Launching a SCIM daemon with Socket FrontEnd...
Loading simple Config module ...
Creating backend ...
scim-launcher: tree.c:126: ReadTree: Assertion `infile' failed.
gedit: tree.c:126: ReadTree: Assertion `infile' failed.
Launching a SCIM daemon with Socket FrontEnd...
Loading simple Config module ...
Creating backend ...
scim-launcher: tree.c:126: ReadTree: Assertion `infile' failed.
bug-buddy: tree.c:126: ReadTree: Assertion `infile' failed.


3. GTK_IM_MODULE=scim-bridge strace -ostrout gedit

as in 1. above, plus the strace output as in the above attachment.
Comment 4 Jens Petersen 2007-02-12 21:21:31 EST
Thanks, the problem may be with connecting to the scim-bridge agent
or scim socket.

What is your output of "ps x | grep scim"?
Comment 5 Robert Biuk-Aghai 2007-02-13 21:47:53 EST
Here it is:

ps x | grep scim
16992 pts/0    S+     0:00 grep scim

Note that of course this is after having turned on scim with the input method
chooser and having logged out and back in again.
Comment 6 Jens Petersen 2007-02-14 00:59:41 EST
Hmmm that is not a lot a scim processes...  I currently have 6:

 4646 ?        Ss     0:00 /usr/lib/scim-1.0/scim-launcher -d -c simple -e all
-f socket --no-stay
 4673 ?        Ss     0:00 /usr/lib/scim-1.0/scim-helper-manager
 4674 ?        Ssl    0:06 /usr/lib/scim-1.0/scim-panel-gtk --display :0.0 -c
socket -d --no-stay
 4676 ?        Ss     0:00 /usr/lib/scim-1.0/scim-launcher -d -c socket -e
socket -f x11
 4773 ?        S      0:04 scim-bridge
19634 ?        Ss     0:00 /usr/lib/scim-1.0/scim-helper-launcher --daemon
--config socket --display :0.0 anthy-imengine-helper
24a65e2b-10a8-4d4c-adc9-266678cb1a38

Sounds like something may be wrong on your machine.
Have you made any particular configuration to the system?

Also what locale (language) are you using on your desktop?
Comment 7 Robert Biuk-Aghai 2007-02-14 01:44:25 EST
This is a fresh install of FC6 (I wiped out the old FC5 instead of doing an
upgrade), with all packages updated to the latest versions. Immediately after
the install and update, and before installing any additional stuff, the problem
already appeared. I can't recall if there was any trouble between install and
package update, though. I have since disabled some services that I don't use,
such as ISDN, and enabled some that I do use, such as mysqld (not that I think
this has any influence on scim though).

Under my previous system (FC5) scim worked flawlessly.

I'm using the US English UTF-8 locale (en_US.UTF-8).
Comment 8 Jens Petersen 2007-02-15 23:22:43 EST
If scim is crashing for you, can try try getting a gdb backtrace please?
It might be useful to install scim-debuginfo for that.
Comment 9 Robert Biuk-Aghai 2007-02-22 23:09:36 EST
I tried getting a backtrace but by the time scim exits there is no stack left to
display. Here is the gdb transcript:

%gdb scim
GNU gdb Red Hat Linux (6.5-15.fc6rh)
Copyright (C) 2006 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-redhat-linux-gnu"...Using host libthread_db
library "/lib/libthread_db.so.1".

(gdb) run
Starting program: /usr/bin/scim 
Smart Common Input Method 1.4.4

Launching a SCIM daemon with Socket FrontEnd...
Loading simple Config module ...
Creating backend ...
scim-launcher: tree.c:126: ReadTree: Assertion `infile' failed.
Launching a SCIM process with x11...
Loading simple Config module ...
Creating backend ...
scim-launcher: tree.c:126: ReadTree: Assertion `infile' failed.
SCIM has exited abnormally.

Program exited with code 01.
(gdb) bt
No stack.


Besides, there seems to be a problem with the distribution of scim-debuginfo
that rpmfind finds. I installed what should be the right one for my P4 machine
(scim-debuginfo-1.4.4-37.fc6.i386.rpm), but when trying to run I get an error
message about wrong architecture:

%/usr/lib/debug/usr/bin/scim.debug 
/usr/lib/debug/usr/bin/scim.debug: Exec format error. Wrong Architecture.


Any idea where a working scim-debuginfo for ix86 is available? Is this actually
needed to get a backtrace?
Comment 10 Jens Petersen 2007-02-22 23:42:01 EST
(In reply to comment #9)
> scim-launcher: tree.c:126: ReadTree: Assertion `infile' failed.

Can you try:
$ gdb /usr/lib/scim-1.0/scim-launcher
(gdb) set args -d -c simple -e all -f socket --no-stay
(gdb) run

> %/usr/lib/debug/usr/bin/scim.debug 
> /usr/lib/debug/usr/bin/scim.debug: Exec format error. Wrong Architecture.

This again a bit suspicious.

> Any idea where a working scim-debuginfo for ix86 is available? Is this actually
> needed to get a backtrace?

"yum install scim-debuginfo" should work for you.
Comment 11 Robert Biuk-Aghai 2007-02-22 23:52:30 EST
Alright, here's the gdb output:

(gdb) set args -d -c simple -e all -f socket --no-stay
(gdb) run
Starting program: /usr/lib/scim-1.0/scim-launcher -d -c simple -e all -f socket
--no-stay
Loading simple Config module ...
Creating backend ...
scim-launcher: tree.c:126: ReadTree: Assertion `infile' failed.

Program received signal SIGABRT, Aborted.
0x00e32402 in __kernel_vsyscall ()


"yum install scim-debuginfo" gets me:
No Match for argument: scim-debuginfo

In which repository is this package? I have core, updates, extras, livna,
freshrpms and macromedia configured.
Comment 12 Jens Petersen 2007-02-23 05:07:00 EST
Sorry, can you try with:

# yum --enablerepo=updates-debuginfo install scim-debuginfo
Comment 13 Jens Petersen 2007-02-23 05:08:27 EST
and please try setting a breakpoint at tree.c:126

(gdb) break tree.c:126

but you run it.
Comment 14 Robert Biuk-Aghai 2007-02-23 05:24:40 EST
Ok, here's the gdb transcript. I assume you wanted me to run this with the same
commands as before, plus the breakpoint. Hope this is helpful.

%gdb /usr/lib/scim-1.0/scim-launcher
...[start-up messages]...
(gdb) set args -d -c simple -e all -f socket --no-stay
(gdb) break tree.c:126
No source file named tree.c.
Make breakpoint pending on future shared library load? (y or [n]) y

Breakpoint 1 (tree.c:126) pending.
(gdb) run
Starting program: /usr/lib/scim-1.0/scim-launcher -d -c simple -e all -f socket
--no-stay
Loading simple Config module ...
Creating backend ...
scim-launcher: tree.c:126: ReadTree: Assertion `infile' failed.

Program received signal SIGABRT, Aborted.
0x00a36402 in __kernel_vsyscall ()
(gdb) bt
#0  0x00a36402 in __kernel_vsyscall ()
#1  0x43b59d40 in raise () from /lib/libc.so.6
#2  0x43b5b591 in abort () from /lib/libc.so.6
#3  0x43b5338b in __assert_fail () from /lib/libc.so.6
#4  0x0011b74c in ReadTree () from /usr/lib/libchewing.so.3
#5  0x00116292 in chewing_Init () from /usr/lib/libchewing.so.3
#6  0x00b9ed99 in ChewingIMEngineFactory::init ()
   from /usr/lib/scim-1.0/1.4.0/IMEngine/chewing.so
#7  0x00ba0c38 in ChewingIMEngineFactory::ChewingIMEngineFactory ()
   from /usr/lib/scim-1.0/1.4.0/IMEngine/chewing.so
#8  0x00ba0f05 in scim_imengine_module_create_factory ()
   from /usr/lib/scim-1.0/1.4.0/IMEngine/chewing.so
#9  0x44629c70 in scim::IMEngineModule::create_factory (this=0x942aa3c, 
    engine=0) at scim_imengine_module.cpp:98
#10 0x445f8aa0 in CommonBackEnd (this=0x942cbf0, config=@0x804cadc, 
    modules=@0xbfc9817c) at scim_backend.cpp:436
#11 0x08049f77 in main (argc=9, argv=0xbfc982e4) at scim_launcher.cpp:200
#12 0x43b46f2c in __libc_start_main () from /lib/libc.so.6
#13 0x08049051 in _start ()
Comment 15 Jens Petersen 2007-02-25 18:52:39 EST
Thanks, it is getting more interesting now. :)
So it looks like it may be a problem related to scim-chewing.
Could you try removing scim-chewing

  # rpm -e scim-chewing

and check if scim can start ok without it.
Comment 16 Jens Petersen 2007-02-25 19:03:08 EST
Also can tell us what libchewing package you have installed?
Comment 17 Robert Biuk-Aghai 2007-02-25 22:26:09 EST
After removing package scim-chewing now scim works without problems. 太好了! :)

By the way, the libchewing library on my system is /usr/lib/libchewing.so.3.0.0

Thanks for your help. The question now remains why scim-chewing is creating
problems. I don't use the chewing input method, but maybe for others this is an
issue.
Comment 18 Caius Chance 2007-04-18 02:16:23 EDT
Fresh installed FC6 and yum installed these packages:

scim-tables-0.5.7-2.fc6
scim-chewing-0.3.1-7.fc6
scim-1.4.4-37.fc6
scim-bridge-0.4.10-1.fc6
scim-pinyin-0.5.91-12.fc6
scim-tables-chinese-0.5.7-2.fc6
scim-bridge-gtk-0.4.10-1.fc6
scim-libs-1.4.4-37.fc6
scim-qtimm-0.9.4-5

which bug is not reproduceable. Closing this bug.

Note You need to log in before you can comment on or make changes to this bug.