Bug 1381603 - [ja_JP] [Evolution] Evolution crashes with segfault when user tries to input Japanese characters while composing a message
Summary: [ja_JP] [Evolution] Evolution crashes with segfault when user tries to input ...
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: webkitgtk4
Version: 25
Hardware: All
OS: Linux
medium
high
Target Milestone: ---
Assignee: Tomas Popela
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-10-04 14:16 UTC by Bhushan Barve
Modified: 2016-10-07 06:24 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-10-06 13:59:07 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
WebKit Project 163011 0 None None None 2016-10-06 13:59:06 UTC

Description Bhushan Barve 2016-10-04 14:16:14 UTC
Description of problem: In Evolution, there is an option to add a note to a message under 'message' menu. When user tries to input Japanese characters to such note, evolution crashes with segfault. 

(evolution:3188): GLib-CRITICAL **: Source ID 3047 was not found when attempting to remove it
Segmentation fault (コアダンプ)

For Japanese input, I was using Japanese (kana kanji) input method. This is not observed with English input. 


Version-Release number of selected component (if applicable):
Fedora 25 Alpha
evolution-3.22.0-1.fc25.x86_64
ibus-kkc-1.5.22-4.fc24.x86_64
libkkc-0.3.5-4.fc24.x86_64


How reproducible:
always

Steps to Reproduce:
1. launch evolution
2. select a message in inbox
3. from 'message' menu option, click on 'add note'
4. type some random Japanese input using Japanese (kana kanji)

Actual results:
Evolution crashes with segfault

Expected results:
Evolution should not crash.

Additional info:

Comment 1 Milan Crha 2016-10-05 08:28:35 UTC
Thanks for a bug report. Could you install debuginfo package for the evolution (not its dependencies, thus something like:
   # dnf install evolution-debuginfo --enablerepo=*-debuginfo
only make sure the version of the debuginfo package will match the version of the binary package (the 'evolution' package)).
and then run evolution under gdb to catch also the backtrace of the crash, please? The command would be:
   $ gdb evolution --ex r --ex bt --ex q

I tried to reproduce this in not that old reawhide, but no luck, even more because I wasn't able to persuade gnome-shell to type in Japanese input method, even I had selected that "keyboard".

By the way, does the same crash happen when you repeat the same steps in the composer, like when creating a new message (Ctrl+M)? It's using the same widget for the text input, thus it might crash too, I believe.

Comment 2 Bhushan Barve 2016-10-05 09:39:14 UTC
Hi Milan,

Yes, you were right. The same crash happens while composing a message with Japanese input. I somehow did not notice it earlier. Updating the bug summary accordingly.

Here is the backtrace as per your comment #1
---------------------------------------------

(evolution:2558): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(evolution:2558): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(evolution:2558): Gdk-CRITICAL **: gdk_window_get_display: assertion 'GDK_IS_WINDOW (window)' failed

Thread 1 "evolution" received signal SIGSEGV, Segmentation fault.
0x00007fffed415460 in _gdk_display_event_data_copy () from /lib64/libgdk-3.so.0
#0  0x00007fffed415460 in _gdk_display_event_data_copy ()
   from /lib64/libgdk-3.so.0
#1  0x00007fffed418c0d in gdk_event_copy () from /lib64/libgdk-3.so.0
#2  0x00007fffefb40917 in WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent(WebKit::NativeWebKeyboardEvent const&) () from /lib64/libwebkit2gtk-4.0.so.37
Missing separate debuginfos, use: dnf debuginfo-install GConf2-3.2.6-16.fc24.x86_64 at-spi2-atk-2.22.0-1.fc25.x86_64 at-spi2-core-2.22.0-1.fc25.x86_64 atk-2.22.0-1.fc25.x86_64 bzip2-libs-1.0.6-20.fc24.x86_64 cairo-1.14.6-2.fc25.x86_64 cairo-gobject-1.14.6-2.fc25.x86_64 cyrus-sasl-lib-2.1.26-26.2.fc24.x86_64 dbus-glib-0.108-1.fc25.x86_64 dbus-libs-1.11.4-1.fc25.x86_64 dconf-0.26.0-1.fc25.x86_64 elfutils-libelf-0.167-1.fc25.x86_64 enchant-1.6.0-14.fc25.x86_64 evolution-data-server-3.22.0-1.fc25.x86_64 evolution-ews-3.22.0-1.fc25.x86_64 expat-2.2.0-1.fc25.x86_64 fontconfig-2.12.1-1.fc25.x86_64 freetype-2.6.5-1.fc25.x86_64 gcr-3.20.0-2.fc25.x86_64 gdk-pixbuf2-2.36.0-1.fc25.x86_64 gdk-pixbuf2-modules-2.36.0-1.fc25.x86_64 geocode-glib-3.20.1-1.fc25.x86_64 glib-networking-2.50.0-1.fc25.x86_64 glib2-2.50.0-1.fc25.x86_64 glibc-2.24-3.fc25.x86_64 gmp-6.1.1-1.fc25.x86_64 gnome-autoar-0.1.1-1.fc25.x86_64 gnome-desktop3-3.22.0-1.fc25.x86_64 gnome-online-accounts-3.22.0-2.fc25.x86_64 gnutls-3.5.4-1.fc25.x86_64 graphite2-1.3.6-1.fc25.x86_64 gstreamer1-1.9.2-3.fc25.x86_64 gstreamer1-plugins-base-1.9.2-1.fc25.x86_64 gtk3-3.22.0-2.fc25.x86_64 gtkspell3-3.0.9-1.fc25.x86_64 gvfs-client-1.30.0-1.fc25.x86_64 harfbuzz-1.3.2-1.fc25.x86_64 harfbuzz-icu-1.3.2-1.fc25.x86_64 hunspell-1.4.1-1.fc25.x86_64 hyphen-2.8.8-4.fc24.x86_64 ibus-gtk3-1.5.14-2.fc25.x86_64 ibus-libs-1.5.14-2.fc25.x86_64 json-glib-1.2.2-1.fc25.x86_64 keyutils-libs-1.5.9-8.fc24.x86_64 krb5-libs-1.14.4-4.fc25.x86_64 libICE-1.0.9-5.fc25.x86_64 libSM-1.2.2-4.fc24.x86_64 libX11-1.6.3-3.fc24.x86_64 libXau-1.0.8-6.fc24.x86_64 libXcomposite-0.4.4-8.fc24.x86_64 libXcursor-1.1.14-6.fc24.x86_64 libXdamage-1.1.4-8.fc24.x86_64 libXext-1.3.3-4.fc24.x86_64 libXfixes-5.0.2-2.fc25.x86_64 libXi-1.7.6-2.fc24.x86_64 libXinerama-1.1.3-6.fc24.x86_64 libXrandr-1.5.0-3.fc24.x86_64 libXrender-0.9.9-3.fc24.x86_64 libXt-1.1.5-3.fc24.x86_64 libXxf86vm-1.1.4-3.fc24.x86_64 libacl-2.2.52-11.fc24.x86_64 libarchive-3.2.1-4.fc25.x86_64 libattr-2.4.47-16.fc24.x86_64 libblkid-2.28.2-1.fc25.x86_64 libcanberra-0.30-11.fc24.x86_64 libcanberra-gtk3-0.30-11.fc24.x86_64 libcap-2.25-2.fc25.x86_64 libcom_err-1.43.1-2.fc25.x86_64 libcroco-0.6.11-2.fc24.x86_64 libcrypt-nss-2.24-3.fc25.x86_64 libcryptui-3.12.2-7.fc24.x86_64 libdatrie-0.2.9-3.fc25.x86_64 libdb-5.3.28-14.fc24.x86_64 libdrm-2.4.70-2.fc25.x86_64 libepoxy-1.3.1-2.fc24.x86_64 libffi-3.1-9.fc24.x86_64 libgcc-6.2.1-2.fc25.x86_64 libgcrypt-1.6.6-1.fc25.x86_64 libgpg-error-1.24-1.fc25.x86_64 libgweather-3.20.3-2.fc25.x86_64 libical-2.0.0-8.fc25.x86_64 libicu-57.1-1.fc25.x86_64 libidn-1.33-1.fc25.x86_64 libjpeg-turbo-1.5.0-4.fc25.x86_64 libmodman-2.0.1-12.fc24.x86_64 libmount-2.28.2-1.fc25.x86_64 libnotify-0.7.6-8.fc24.x86_64 libogg-1.3.2-5.fc24.x86_64 libpciaccess-0.13.4-3.fc24.x86_64 libpng-1.6.23-1.fc25.x86_64 libproxy-0.4.12-4.fc25.x86_64 librsvg2-2.40.16-2.fc25.x86_64 libsecret-0.18.5-2.fc25.x86_64 libselinux-2.5-11.fc25.x86_64 libsoup-2.56.0-2.fc25.x86_64 libstdc++-6.2.1-2.fc25.x86_64 libtasn1-4.9-1.fc25.x86_64 libtdb-1.3.11-1.fc25.x86_64 libthai-0.1.24-1.fc24.x86_64 libtool-ltdl-2.4.6-12.fc25.x86_64 libuuid-2.28.2-1.fc25.x86_64 libvorbis-1.3.4-6.fc24.x86_64 libwayland-client-1.12.0-1.fc25.x86_64 libwayland-cursor-1.12.0-1.fc25.x86_64 libwayland-server-1.12.0-1.fc25.x86_64 libwebp-0.5.1-1.fc25.x86_64 libxcb-1.12-1.fc25.x86_64 libxkbcommon-0.6.1-1.fc25.x86_64 libxml2-2.9.3-4.fc25.x86_64 libxshmfence-1.2-3.fc24.x86_64 libxslt-1.1.28-13.fc25.x86_64 llvm-libs-3.8.0-1.fc25.x86_64 lz4-r131-2.fc24.x86_64 lzo-2.08-8.fc24.x86_64 mesa-dri-drivers-12.0.3-1.fc25.x86_64 mesa-libEGL-12.0.3-1.fc25.x86_64 mesa-libGL-12.0.3-1.fc25.x86_64 mesa-libgbm-12.0.3-1.fc25.x86_64 mesa-libglapi-12.0.3-1.fc25.x86_64 mesa-libwayland-egl-12.0.3-1.fc25.x86_64 nettle-3.3-1.fc25.x86_64 nspr-4.13.0-1.fc25.x86_64 nss-3.27.0-1.1.fc25.x86_64 nss-mdns-0.10-17.fc24.x86_64 nss-softokn-3.27.0-1.0.fc25.x86_64 nss-softokn-freebl-3.27.0-1.0.fc25.x86_64 nss-sysinit-3.27.0-1.1.fc25.x86_64 nss-util-3.27.0-1.0.fc25.x86_64 openldap-2.4.44-2.fc25.x86_64 openssl-libs-1.0.2j-1.fc25.x86_64 orc-0.4.26-1.fc25.x86_64 p11-kit-0.23.2-2.fc24.x86_64 pango-1.40.3-1.fc25.x86_64 pcre-8.39-3.fc25.x86_64 pixman-0.34.0-2.fc24.x86_64 sqlite-libs-3.14.2-1.fc25.x86_64 systemd-libs-231-6.fc25.x86_64 webkitgtk4-2.13.92-1.fc25.x86_64 webkitgtk4-jsc-2.13.92-1.fc25.x86_64 xz-libs-5.2.2-2.fc24.x86_64 zlib-1.2.8-10.fc24.x86_64
---Type <return> to continue, or q <return> to quit---
#3  0x00007fffef997da6 in WebKit::WebPageProxy::handleKeyboardEvent(WebKit::NativeWebKeyboardEvent const&) () from /lib64/libwebkit2gtk-4.0.so.37
#4  0x00007fffefb83320 in std::_Function_handler<void (WebCore::CompositionResults const&, WebKit::InputMethodFilter::EventFakedForComposition), webkitWebViewBaseKeyReleaseEvent(_GtkWidget*, _GdkEventKey*)::{lambda(WebCore::CompositionResults const&, WebKit::InputMethodFilter::EventFakedForComposition)#1}>::_M_invoke(std::_Any_data const&, WebCore::CompositionResults const&, WebKit::InputMethodFilter::EventFakedForComposition&&) () from /lib64/libwebkit2gtk-4.0.so.37
#5  0x00007fffefba1aeb in WebKit::InputMethodFilter::handleKeyboardEventWithCompositionResults(_GdkEventKey*, WebKit::InputMethodFilter::ResultsToSend, WebKit::InputMethodFilter::EventFakedForComposition) ()
   from /lib64/libwebkit2gtk-4.0.so.37
#6  0x00007fffefba23d9 in WebKit::InputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents(WebKit::InputMethodFilter::ResultsToSend) ()
   from /lib64/libwebkit2gtk-4.0.so.37
#7  0x00007fffefba26dd in WebKit::InputMethodFilter::handlePreeditChanged() ()
   from /lib64/libwebkit2gtk-4.0.so.37
#8  0x00007fffec037614 in _g_closure_invoke_va ()
   from /lib64/libgobject-2.0.so.0
#9  0x00007fffec051dd9 in g_signal_emit_valist ()
   from /lib64/libgobject-2.0.so.0
#10 0x00007fffec0528eb in g_signal_emit_by_name ()
   from /lib64/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---q

Comment 3 Tomas Popela 2016-10-05 10:01:54 UTC
Bhushan can you please try running (make sure you have webkitgtk4-devel package installed):

/usr/bin/MiniBrowser http://html5demos.com/contenteditable

click into the area where "Go ahead, edit away!" is and try to write something there and observe whether it will crash for you as well please.

Comment 4 Tomas Popela 2016-10-05 10:05:22 UTC
Actually you don't need to I managed to reproduce it locally.


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