After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 685640 - Clicking on mail address in Iceweasel/Firefox, Evolution composer window opens, but Evolution hangs
Clicking on mail address in Iceweasel/Firefox, Evolution composer window open...
Status: RESOLVED INCOMPLETE
Product: evolution
Classification: Applications
Component: Mailer
3.4.x (obsolete)
Other Linux
: Normal major
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2012-10-07 06:25 UTC by Paul Menzel
Modified: 2013-03-17 22:22 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gdb debug (65.31 KB, text/plain)
2012-11-20 17:47 UTC, Christian Kirbach
Details
strace call log (343.08 KB, text/plain)
2012-11-20 17:47 UTC, Christian Kirbach
Details

Description Paul Menzel 2012-10-07 06:25:05 UTC
Clicking on a mail address in Iceweasel/Firefox, Evolution 3.4.3-1 in GNOME fallback from Debian Sid/unstable opens a composer window, but Evolution hangs then, that means I can just see the title bar and all the window content is gray.

$ ps aux | grep evol
joey       2821  0.0  0.4 419120 15796 ?        Sl   19:59   0:00 /usr/lib/evolution/3.4/evolution-alarm-notify
joey       2869  0.0  0.3 331040 11728 ?        Sl   19:59   0:00 /usr/lib/evolution/evolution-calendar-factory
joey       2895  0.0  0.2 295088  9784 ?        Sl   19:59   0:00 /usr/lib/evolution/evolution-addressbook-factory
joey       4371  105  4.0 873972 155848 ?       Rl   21:56  30:50 evolution --component=mail mailto:info@example.net
joey       4652  0.0  0.0  11760   872 pts/3    S+   22:25   0:00 grep evol

Attaching with GDB to process 4371 produces the following backtrace.

Thread 3 (Thread 0x7f66559a1700 (LWP 4377))

  • #0 g_source_list_add
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 825
  • #1 g_source_attach_unlocked
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 872
  • #2 g_source_attach
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 919
  • #3 g_main_context_invoke_full
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 4868
  • #4 g_main_context_invoke
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 4799
  • #5 g_settings_backend_dispatch_signal
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gio/gsettingsbackend.c line 353
  • #6 g_settings_backend_path_changed
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gio/gsettingsbackend.c line 496
  • #7 ??
    from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
  • #8 g_simple_async_result_complete
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gio/gsimpleasyncresult.c line 767
  • #9 g_dbus_connection_call_done
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gio/gdbusconnection.c line 5289
  • #10 g_simple_async_result_complete
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gio/gsimpleasyncresult.c line 767
  • #11 complete_in_idle_cb
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gio/gsimpleasyncresult.c line 779
  • #12 g_main_dispatch
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 2539
  • #13 g_main_context_dispatch
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 3075
  • #14 g_main_context_iterate
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 3146
  • #15 g_main_loop_run
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 3340
  • #16 ??
    from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
  • #17 g_thread_proxy
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gthread.c line 801
  • #18 start_thread
    at pthread_create.c line 304
  • #19 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 112
  • #20 ??

Thread 1 (Thread 0x7f666af32980 (LWP 4371))

  • #0 gvs_tuple_get_child
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gvariant-serialiser.c line 859
  • #1 g_variant_serialised_get_child
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gvariant-serialiser.c line 1354
  • #2 g_variant_get_child_value
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gvariant-core.c line 966
  • #3 g_variant_iter_next_value
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gvariant.c line 3044
  • #4 g_settings_schema_key_init
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gio/gsettingsschema.c line 754
  • #5 g_settings_get_value
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gio/gsettings.c line 1079
  • #6 g_settings_get_string
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gio/gsettings.c line 1559
  • #7 gtk_html_set_fonts
    from /usr/lib/libgtkhtml-4.0.so.0
  • #8 ??
    from /usr/lib/libgtkhtml-4.0.so.0
  • #9 g_cclosure_marshal_VOID__STRINGv
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gmarshal.c line 1004
  • #10 _g_closure_invoke_va
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gclosure.c line 840
  • #11 g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c line 3211
  • #12 g_signal_emit
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c line 3356
  • #13 g_settings_real_change_event
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gio/gsettings.c line 288
  • #14 ffi_call_unix64
    from /usr/lib/x86_64-linux-gnu/libffi.so.5
  • #15 ffi_call
    from /usr/lib/x86_64-linux-gnu/libffi.so.5
  • #16 g_cclosure_marshal_generic_va
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gclosure.c line 1550
  • #17 _g_closure_invoke_va
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gclosure.c line 840
  • #18 g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c line 3211
  • #19 g_signal_emit
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c line 3356
  • #20 settings_backend_path_changed
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gio/gsettings.c line 363
  • #21 settings_backend_path_changed
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gio/gsettings.c line 354
  • #22 g_settings_backend_invoke_closure
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gio/gsettingsbackend.c line 271
  • #23 g_main_dispatch
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 2539
  • #24 g_main_context_dispatch
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 3075
  • #25 g_main_context_iterate
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 3146
  • #26 g_main_loop_run
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 3340
  • #27 gtk_main
    at /tmp/buildd/gtk+3.0-3.4.2/./gtk/gtkmain.c line 1161
  • #28 main
    at main.c line 681

	Inferior 1 [process 4371] will be detached.

Quit anyway? (y or n) Detaching from program: /usr/bin/evolution, process 4371

After that the only way to get it closed, was to run `kill -9 4371` which killed all Evolution processes.

Could you please take a look? I guess it could also be a GTK problem.
Comment 1 Matthew Barnes 2012-10-07 11:59:35 UTC
Radeon video driver thread looks stuck:

Thread 5 (Thread 0x7f6656d4d700 (LWP 4375))

  • #0 pthread_cond_wait
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S line 162
  • #1 pipe_semaphore_wait
    at ../../../../../src/gallium/auxiliary/os/os_thread.h line 432
  • #2 radeon_drm_cs_emit_ioctl
    at radeon_drm_cs.c line 401

Comment 2 Paul Menzel 2012-10-07 13:02:34 UTC
(In reply to comment #1)
> Radeon video driver thread looks stuck:

[…]

Thanks for the quick reply! I contacted the developers sending a message to dri-devel [1].

[1] http://lists.freedesktop.org/archives/dri-devel/2012-October/028648.html
Comment 3 Michel Dänzer 2012-10-08 09:33:54 UTC
(In reply to comment #1)
> Radeon video driver thread looks stuck:

That isn't necessarily a problem: It's a worker thread, this is where it's waiting for work to come in from a GLX context thread.
Comment 4 Paul Menzel 2012-10-19 09:59:16 UTC
Thanks for your input. Could this be GTK+ problem?
Comment 5 Paul Menzel 2012-10-19 10:01:28 UTC
Here is the version and dependency information.


Package: libgtk-3-0
Version: 3.4.2-4

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-4-686-pae (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages libgtk-3-0 depends on:
ii  libatk1.0-0         2.4.0-2
ii  libc6               2.13-35
ii  libcairo-gobject2   1.12.2-2
ii  libcairo2           1.12.2-2
ii  libcolord1          0.1.21-4
ii  libcomerr2          1.42.5-1
ii  libcups2            1.5.3-2.3
ii  libfontconfig1      2.9.0-7
ii  libfreetype6        2.4.9-1
ii  libgcrypt11         1.5.0-3
ii  libgdk-pixbuf2.0-0  2.26.1-1
ii  libglib2.0-0        2.33.12+really2.32.4-2
ii  libgnutls26         2.12.20-1
ii  libgssapi-krb5-2    1.10.1+dfsg-2
ii  libgtk-3-common     3.4.2-4
ii  libk5crypto3        1.10.1+dfsg-2
ii  libkrb5-3           1.10.1+dfsg-2
ii  libpango1.0-0       1.30.0-1
ii  libx11-6            2:1.5.0-1
ii  libxcomposite1      1:0.4.3-2
ii  libxcursor1         1:1.1.13-1
ii  libxdamage1         1:1.1.3-2
ii  libxext6            2:1.3.1-2
ii  libxfixes3          1:5.0-4
ii  libxi6              2:1.6.1-1
ii  libxinerama1        2:1.1.2-1
ii  libxrandr2          2:1.3.2-2
ii  multiarch-support   2.13-35
ii  shared-mime-info    1.0-1+b1
ii  zlib1g              1:1.2.7.dfsg-13

Versions of packages libgtk-3-0 recommends:
ii  hicolor-icon-theme  0.12-1
ii  libgtk-3-bin        3.4.2-4

Versions of packages libgtk-3-0 suggests:
ii  gvfs             1.12.3-1+b1
ii  librsvg2-common  2.36.1-1

-- no debconf information
Comment 6 Christian Kirbach 2012-11-20 17:44:58 UTC
Hi, yap I can confirm this with Evolution 3.4.4
It does not happen every time, tough. I click on mailto: links in the Opera webbrowser. I am on Feodra 17.

Also attaching my backtrace and strace log. I do not see the Radeon driver thread stuck. I hope all threads were printed by gdb.


[nazgul@rivendell ~]$ yum info evolution*
Geladene Plugins: auto-update-debuginfo, langpacks, presto, refresh-packagekit
Installierte Pakete
Name       : evolution
Architektur : x86_64
Version    : 3.4.4
Ausgabe    : 2.fc17
Größe : 44 M
Repo        : installed
Comment 7 Christian Kirbach 2012-11-20 17:46:56 UTC
hmm it does not deadlock/hang but stays in a loop with 100% CPU load, see Thread #3
Same symptoms as described in the first post.
Comment 8 Christian Kirbach 2012-11-20 17:47:30 UTC
Created attachment 229492 [details]
gdb debug
Comment 9 Christian Kirbach 2012-11-20 17:47:53 UTC
Created attachment 229494 [details]
strace call log
Comment 10 Michel Dänzer 2012-11-20 18:20:30 UTC
FWIW, if you can set the environment variable RADEON_THREAD=0 for the evolution process, that should prevent the Radeon driver from spawning a helper thread.
Comment 11 Milan Crha 2012-11-20 20:21:51 UTC
A common part for the backtraces is that both has a dconf thread in an update state due to change in /org/gnome/desktop/interface/ path. The first backtrace also reads from there in gtkhtml, but it's because it reacts on the change, I believe. The question is why dconf thinks the path (or any key under it) changes.

Is the composer broken in the same way if it's opened in evolution itself, like with Ctrl+Shift+M? And what if you run on console evolution like this:
   $ evolution mailto:a@b.c
will the composer be OK? I see high CPU usage when I run the above command when no other evolution is running, though it's pretty quick and settles shortly.
Comment 12 Paul Menzel 2012-11-20 22:24:53 UTC
Luckily I have not hit that problem again. But also did not try too hard to reproduce this.

For those of you who are able to reproduce this, maybe running `sudo perf record -a` gives any hints, where it is stuck.
Comment 13 Tobias Mueller 2013-03-17 22:22:16 UTC
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for.
Thanks!