Bug 906255 (ibus-kkc)

Summary: Review Request: ibus-kkc - Japanese Kana Kanji input method for ibus
Product: [Fedora] Fedora Reporter: Daiki Ueno <dueno>
Component: Package ReviewAssignee: Mamoru TASAKA <mtasaka>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: mtasaka, notting, package-review
Target Milestone: ---Flags: mtasaka: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-11 23:38:21 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 906248    
Bug Blocks:    
Attachments:
Description Flags
mock build log
none
gdb log of ibus-engine-kkc when it comsumes 100% cpu
none
mock build log with libkkc 0.1.3-2 none

Description Daiki Ueno 2013-01-31 10:08:05 UTC
Spec URL: http://ueno.fedorapeople.org/ibus-kkc/ibus-kkc.spec
SRPM URL: http://ueno.fedorapeople.org/ibus-kkc/ibus-kkc-1.5.3-1.fc18.src.rpm
Description:
A Japanese Kana Kanji Input Method Engine for ibus.

Comment 1 Mamoru TASAKA 2013-02-03 12:43:03 UTC
Created attachment 692300 [details]
mock build log

Just tried mockbuild locally on i686 and tried installing.
私の名前は中野です
Well, converting to Kanji seems to be working to a certain degree.

Apart from packaging issue, it seems that configuring ibus-kkc does not work well.

[tasaka1@localhost ~]$ /usr/libexec/ibus-setup-kkc 
**
ERROR:setup.c:411:__lambda3_: code should not be reached
中止

Trying to configure ibus-kkc from ibus-setup GUI makes ibus-setup-kkc process zombie.
Note that I am using ibus-1.5.1-2.fc19.i686

Comment 2 Mamoru TASAKA 2013-02-03 13:53:09 UTC
(In reply to comment #1)
> Note that I am using ibus-1.5.1-2.fc19.i686
and using LXDE.

Well,

? License (not a blocker)
  - Well, the license tag is correct with "GPLv2+" for
    this srpm, however actually GPLv3 license text is
    included int the source tarball (again still the
    license tag should be GPLv2+). Is this what you
    intended (as you are the upstream)?

* Keeping timestamp
  - It is preferred to add "INSTALL='install -p'" to
    %make_install to keep timestamps on some files
    included in the binary rpm.

? Empty file (not a blocker)
  - Currently the included file "README" is empty, which
    is useless (since you are the upstream, I guess you
    are to write something on README later).

Comment 3 Mamoru TASAKA 2013-02-04 02:41:49 UTC
(In reply to comment #1)
> [tasaka1@localhost ~]$ /usr/libexec/ibus-setup-kkc 
> **
> ERROR:setup.c:411:__lambda3_: code should not be reached
> 中止

Same on F-18 GNOME


$ gdb /usr/libexec/ibus-setup-kkc 
GNU gdb (GDB) Fedora (7.5.1-32.fc18)
Copyright (C) 2012 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 "i686-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/libexec/ibus-setup-kkc...Reading symbols from /usr/lib/debug/usr/libexec/ibus-setup-kkc.debug...done.
done.
(gdb) ru
Starting program: /usr/libexec/ibus-setup-kkc 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
[New Thread 0xb7873b40 (LWP 1618)]
warning: cannot close "/lib/libfam.so.0": 無効な操作です
[New Thread 0xb1576b40 (LWP 1620)]
[New Thread 0xb0bffb40 (LWP 1621)]
warning: cannot close "/usr/lib/gio/modules/libgsettingsgconfbackend.so": 無効な操作です
warning: cannot close "/lib/libgconf-2.so.4": 無効な操作です
warning: cannot close "/lib/libdbus-glib-1.so.2": 無効な操作です
[New Thread 0xb03feb40 (LWP 1622)]
[New Thread 0xaf7ffb40 (LWP 1623)]
[New Thread 0xaeffeb40 (LWP 1624)]
[New Thread 0xae7fdb40 (LWP 1625)]
**
ERROR:setup.c:411:__lambda3_: code should not be reached

Program received signal SIGABRT, Aborted.
0xb7fff424 in __kernel_vsyscall ()
Missing separate debuginfos, use: debuginfo-install GConf2-3.2.5-3.fc18.i686 adwaita-gtk3-theme-3.6.2-1.fc18.i686 at-spi2-atk-2.6.2-1.fc18.i686 at-spi2-core-2.6.3-1.fc18.i686 atk-2.6.0-1.fc18.i686 cairo-1.12.10-2.fc18.i686 cairo-gobject-1.12.10-2.fc18.i686 dbus-glib-0.100-1.fc18.i686 dbus-libs-1.6.8-2.fc18.i686 expat-2.1.0-4.fc18.i686 fontconfig-2.10.2-1.fc18.i686 freetype-2.4.10-3.fc18.i686 gamin-0.1.10-13.fc18.i686 gvfs-1.14.2-2.fc18.i686 harfbuzz-0.9.12-1.fc18.i686 json-glib-0.15.2-1.fc18.i686 libXau-1.0.6-4.fc18.i686 libXcomposite-0.4.3-4.fc18.i686 libXcursor-1.1.13-2.fc18.i686 libXdamage-1.1.3-4.fc18.i686 libXext-1.3.1-2.fc18.i686 libXfixes-5.0-3.fc18.i686 libXi-1.6.2-1.fc18.i686 libXinerama-1.1.2-2.fc18.i686 libXrandr-1.4.0-1.fc18.i686 libXrender-0.9.7-2.fc18.i686 libXxf86vm-1.1.2-2.fc18.i686 libbluray-0.2.3-1.fc18.i686 libcanberra-0.30-2.fc18.i686 libcanberra-gtk3-0.30-2.fc18.i686 libcroco-0.6.8-1.fc18.i686 libdrm-2.4.41-2.fc18.i686 libffi-3.0.10-3.fc18.i686 libgee06-0.6.6.1-1.fc18.i686 libicu-49.1.1-5.fc18.i686 libogg-1.3.0-2.fc18.i686 libpng-1.5.13-1.fc18.i686 librsvg2-2.36.4-1.fc18.i686 libselinux-2.1.12-7.1.fc18.i686 libtdb-1.2.10-16.fc18.i686 libtool-ltdl-2.4.2-7.fc18.i686 libvorbis-1.3.3-3.fc18.i686 libwayland-client-1.0.3-1.fc18.i686 libwayland-server-1.0.3-1.fc18.i686 libxml2-2.9.0-3.fc18.i686 marisa-0.2.1-2.fc18.i686 nss-softokn-freebl-3.14.1-5.fc18.i686 pango-1.32.3-1.fc18.i686 pcre-8.31-4.fc18.i686 pixman-0.26.2-5.fc18.i686 systemd-libs-197-1.fc18.2.i686 xz-libs-5.1.2-2alpha.fc18.i686 zlib-1.2.7-9.fc18.i686
(gdb) bt
#0  0xb7fff424 in __kernel_vsyscall ()
#1  0x4a993b7f in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:63
#2  0x4a9954d3 in __GI_abort () at abort.c:90
#3  0x46bebb09 in g_assertion_message (domain=domain@entry=0x0, file=file@entry=0x8050b36 "setup.c", 
    line=line@entry=411, func=func@entry=0x8050f10 <__PRETTY_FUNCTION__.53349> "__lambda3_", message=
    0x46c3eb9c "code should not be reached", message@entry=0x0) at gtestutils.c:1877
#4  0x0804b918 in __lambda3_ (self=0x8095cf0 [Setup]) at setup.c:411
#5  ___lambda3__gtk_combo_box_changed (_sender=0x8192020 [GtkComboBoxText], self=0x8095cf0) at setup.c:427
#6  0x46cc0e2f in g_cclosure_marshal_VOID__VOIDv (closure=closure@entry=0x8294018, return_value=return_value@entry=
    0x0, instance=instance@entry=0x8192020, args=args@entry=0xbfffeffc "", marshal_data=marshal_data@entry=0x0, 
    n_params=n_params@entry=0, param_types=param_types@entry=0x0) at gmarshal.c:115
#7  0x46cbf2b2 in _g_closure_invoke_va (closure=closure@entry=0x8294018, return_value=return_value@entry=0x0, 
    instance=instance@entry=0x8192020, args=args@entry=0xbfffeffc "", n_params=n_params@entry=0, param_types=0x0)
    at gclosure.c:840
#8  0x46cd8a06 in g_signal_emit_valist (instance=instance@entry=0x8192020, signal_id=signal_id@entry=211, 
    detail=detail@entry=0, var_args=var_args@entry=0xbfffeffc "") at gsignal.c:3211
#9  0x46cd93e4 in g_signal_emit (instance=instance@entry=0x8192020, signal_id=211, detail=detail@entry=0)
    at gsignal.c:3356
#10 0x4530cbf1 in gtk_combo_box_set_active_internal (combo_box=combo_box@entry=0x8192020 [GtkComboBoxText], 
    path=path@entry=0x8238b30) at gtkcombobox.c:4360
#11 0x453113ce in gtk_combo_box_set_active (combo_box=0x8192020 [GtkComboBoxText], index_=index_@entry=0)
    at gtkcombobox.c:4284
#12 0x0804e243 in setup_construct (object_type=135707160, preferences=preferences@entry=0x8158020 [Preferences])
    at setup.c:914
#13 0x0804f0f9 in setup_new (preferences=preferences@entry=0x8158020 [Preferences]) at setup.c:930
#14 0x0804f162 in setup_main (args=args@entry=0xbffff284, args_length1=args_length1@entry=1) at setup.c:2080
#15 0x0804b111 in main (argc=1, argv=0xbffff284) at setup.c:2095

Comment 4 Daiki Ueno 2013-02-04 10:04:53 UTC
Thanks, I didn't notice the crash since it only happens under Japanese locale.
It should be fixed with the latest package:

Spec URL: http://ueno.fedorapeople.org/ibus-kkc/ibus-kkc.spec
SRPM URL: http://ueno.fedorapeople.org/ibus-kkc/ibus-kkc-1.5.4-1.fc18.src.rpm

Note that it requires libkkc-0.1.1-1 to build.

Comment 5 Mamoru TASAKA 2013-02-04 15:01:28 UTC
Created attachment 692797 [details]
gdb log of ibus-engine-kkc when it comsumes 100% cpu

Well, with ibus-kkc 1.5.4 + libkkc 0.1.1, it seems that ibus-engine-kkc comsumes 100% CPU. gdb log with attaching ibus-engine-kkc is attached. With ibus-kkc 1.5.3 + libkkc 0.1.0 this issue does not seem to happen. No idea what is going on.

Comment 6 Daiki Ueno 2013-02-05 02:24:14 UTC
Sorry, probably it is because of some race in the interval timer used to save dictionaries in background.

Here is a patch:

https://gitorious.org/libkkc/ibus-kkc/commit/ac14c660

and the updated Spec and SRPM:

Spec URL: http://ueno.fedorapeople.org/ibus-kkc/ibus-kkc.spec
SRPM URL: http://ueno.fedorapeople.org/ibus-kkc/ibus-kkc-1.5.5-1.fc18.src.rpm

Comment 7 Mamoru TASAKA 2013-02-05 03:40:12 UTC
Thanks. At least on F-18 gnome ibus-enging-kkc, ibus-setup-kkc are working with 1.5.5 (when I am back, I will try also on F-19 LXDE)

Note that for License tag:
https://fedoraproject.org/wiki/Licensing:FAQ?rd=Licensing/FAQ#How_do_I_figure_out_what_version_of_the_GPL.2FLGPL_my_package_is_under.3F
says that GPL's version should not be judged from GPL license text file, but from actual source files included. As currently no other file than COPYING file contains "version 3" word, the license tag can be GPLv2+, however this is not a blocker.

Now I can approve this package when libkkc is approved.

Comment 8 Mamoru TASAKA 2013-02-08 03:44:34 UTC
ibus-kkc still builds with libkkc-0.1.3 and works fine.

Comment 9 Mamoru TASAKA 2013-02-08 18:21:59 UTC
Created attachment 695215 [details]
mock build log with libkkc 0.1.3-2

mock build is still fine with libkkc 0.1.3-2

Comment 10 Mamoru TASAKA 2013-02-08 18:25:27 UTC
Approving.

---------------------------------------------------
   This package (ibus-kkc) is APPROVED by mtasaka
---------------------------------------------------

Comment 11 Daiki Ueno 2013-02-10 22:53:09 UTC
Thanks.  Since 1.5.6, it includes GPLv2 text.  So I'll adjust the spec's license tag to GPLv2+.

New Package SCM Request
=======================
Package Name: ibus-kkc
Short Description: Japanese Kana Kanji input method for ibus
Owners: ueno
Branches: f18 f17
InitialCC: i18n-team

Comment 12 Gwyn Ciesla 2013-02-11 13:54:20 UTC
Git done (by process-git-requests).

Comment 13 Fedora Update System 2013-02-11 23:37:30 UTC
ibus-kkc-1.5.6-1.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/ibus-kkc-1.5.6-1.fc18

Comment 14 Fedora Update System 2013-02-11 23:37:45 UTC
ibus-kkc-1.5.6-1.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/ibus-kkc-1.5.6-1.fc17

Comment 15 Fedora Update System 2013-02-23 00:52:23 UTC
ibus-kkc-1.5.6-1.fc18, marisa-0.2.1-3.fc18, libkkc-0.1.5-1.fc18 has been pushed to the Fedora 18 stable repository.

Comment 16 Fedora Update System 2013-02-23 01:04:49 UTC
ibus-kkc-1.5.6-1.fc17, marisa-0.2.1-3.fc17, libkkc-0.1.5-1.fc17 has been pushed to the Fedora 17 stable repository.