Bug 1411159

Summary: Wayland GNOME desktop freezes with gnome-shell using 100% of one CPU core
Product: [Fedora] Fedora Reporter: Aaron Miller <aaron.miller04>
Component: gnome-shellAssignee: Owen Taylor <otaylor>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 25CC: aaron.miller04, fmuellner, otaylor
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-12-12 10:10:38 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:

Description Aaron Miller 2017-01-08 21:38:45 UTC
Description of problem:

Wayland GNOME desktop freezes with gnome-shell using 100% of one CPU core.

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


How reproducible: Erratic and random. Happens within a day or two through normal desktop use (opening files, etc.).


Steps to Reproduce:
1.
2.
3.

Actual results: Desktop does not freeze.


Expected results: Desktop freezes.


Additional info:

Comment 1 Aaron Miller 2017-01-10 05:20:10 UTC
The following is a log of attaching gdb to the process and suspending and resuming repeatedly. Miraculously, it restored functionality to gnome-shell
==============================================

$ gdb -p 12473   
GNU gdb (GDB) Fedora 7.12-29.fc25
Copyright (C) 2016 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 "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
Attaching to process 12473
[New LWP 12474]
[New LWP 12475]
[New LWP 12477]
[New LWP 12492]
[New LWP 12493]
[New LWP 12494]


warning: the debug information found in "/usr/lib/debug//lib64/libwayland-egl.so.1.0.0.debug" does not match "/lib64/libwayland-egl.so.1" (CRC mismatch).


warning: the debug information found in "/usr/lib/debug//usr/lib64/libwayland-egl.so.1.0.0.debug" does not match "/lib64/libwayland-egl.so.1" (CRC mismatch).


warning: the debug information found in "/usr/lib/debug//lib64/libgbm.so.1.0.0.debug" does not match "/lib64/libgbm.so.1" (CRC mismatch).


warning: the debug information found in "/usr/lib/debug//usr/lib64/libgbm.so.1.0.0.debug" does not match "/lib64/libgbm.so.1" (CRC mismatch).


warning: the debug information found in "/usr/lib/debug//lib64/libEGL.so.1.0.0.debug" does not match "/lib64/libEGL.so.1" (CRC mismatch).


warning: the debug information found in "/usr/lib/debug//usr/lib64/libEGL.so.1.0.0.debug" does not match "/lib64/libEGL.so.1" (CRC mismatch).

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

warning: the debug information found in "/usr/lib/debug//lib64/libGL.so.1.2.0.debug" does not match "/lib64/libGL.so.1" (CRC mismatch).


warning: the debug information found in "/usr/lib/debug//usr/lib64/libGL.so.1.2.0.debug" does not match "/lib64/libGL.so.1" (CRC mismatch).


warning: the debug information found in "/usr/lib/debug//lib64/libglapi.so.0.0.0.debug" does not match "/lib64/libglapi.so.0" (CRC mismatch).


warning: the debug information found in "/usr/lib/debug//usr/lib64/libglapi.so.0.0.0.debug" does not match "/lib64/libglapi.so.0" (CRC mismatch).


warning: the debug information found in "/usr/lib/debug//usr/lib64/dri/i965_dri.so.debug" does not match "/usr/lib64/dri/i965_dri.so" (CRC mismatch).


warning: the debug information found in "/usr/lib/debug//usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so.debug" does not match "/usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so" (CRC mismatch).

0x00007fbbce024c92 in g_slice_alloc (mem_size=mem_size@entry=24) at gslice.c:1032
1032    }
Missing separate debuginfos, use: dnf debuginfo-install PackageKit-gtk3-module-1.1.4-2.fc25.x86_64 accountsservice-libs-0.6.42-1.fc25.x86_64 caribou-0.4.21-1.fc25.x86_64 dconf-0.26.0-1.fc25.x86_64 gdk-pixbuf2-2.36.2-1.fc25.x86_64 gdk-pixbuf2-modules-2.36.2-1.fc25.x86_64 gdm-3.22.1-1.fc25.x86_64 glib-networking-2.50.0-1.fc25.x86_64 gnome-bluetooth-libs-3.20.0-2.fc25.x86_64 gtk3-3.22.5-1.fc25.x86_64 gvfs-client-1.30.3-1.fc25.x86_64 ibus-libs-1.5.14-3.fc25.x86_64 libevdev-1.5.5-1.fc25.x86_64 libgee-0.18.1-1.fc25.x86_64 libpng-1.6.26-1.fc25.x86_64 librsvg2-2.40.16-2.fc25.x86_64 libxklavier-5.4-6.fc24.x86_64 lz4-1.7.4.2-1.fc25.x86_64 mesa-dri-drivers-13.0.2-2.fc25.x86_64 mesa-libEGL-13.0.2-2.fc25.x86_64 mesa-libGL-13.0.2-2.fc25.x86_64 mesa-libgbm-13.0.2-2.fc25.x86_64 mesa-libglapi-13.0.2-2.fc25.x86_64 mesa-libwayland-egl-13.0.2-2.fc25.x86_64 sssd-client-1.14.2-2.fc25.x86_64
(gdb) 
(gdb) info threads
  Id   Target Id         Frame 
* 1    Thread 0x7fbbd78a0640 (LWP 12473) "gnome-shell" 0x00007fbbce024c92 in g_slice_alloc (
    mem_size=mem_size@entry=24) at gslice.c:1032
  2    Thread 0x7fbbb8b3f700 (LWP 12474) "gmain" 0x00007fbbcc50901d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  3    Thread 0x7fbbb3fff700 (LWP 12475) "gdbus" 0x00007fbbcc50901d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  4    Thread 0x7fbbb1c2c700 (LWP 12477) "dconf worker" 0x00007fbbcc50901d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  5    Thread 0x7fbbb0bb1700 (LWP 12492) "threaded-ml" 0x00007fbbcc50901d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  6    Thread 0x7fbb9ffff700 (LWP 12493) "JS GC Helper" pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  7    Thread 0x7fbb9f7fe700 (LWP 12494) "JS Sour~ Thread" pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
(gdb) c
Continuing.
^C
Thread 1 "gnome-shell" received signal SIGINT, Interrupt.
js::ShapeTable::search (this=0x55a1ae758280, id=id@entry=140444090759744, 
    adding=adding@entry=false) at /usr/src/debug/mozjs-24.2.0/js/src/vm/Shape.cpp:162
162         sizeLog2 = HASH_BITS - hashShift;
(gdb) info threads
  Id   Target Id         Frame 
* 1    Thread 0x7fbbd78a0640 (LWP 12473) "gnome-shell" js::ShapeTable::search (
    this=0x55a1ae758280, id=id@entry=140444090759744, adding=adding@entry=false)
    at /usr/src/debug/mozjs-24.2.0/js/src/vm/Shape.cpp:162
  2    Thread 0x7fbbb8b3f700 (LWP 12474) "gmain" 0x00007fbbcc50901d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  3    Thread 0x7fbbb3fff700 (LWP 12475) "gdbus" 0x00007fbbcc50901d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  4    Thread 0x7fbbb1c2c700 (LWP 12477) "dconf worker" 0x00007fbbcc50901d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  5    Thread 0x7fbbb0bb1700 (LWP 12492) "threaded-ml" 0x00007fbbcc50901d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  6    Thread 0x7fbb9ffff700 (LWP 12493) "JS GC Helper" pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  7    Thread 0x7fbb9f7fe700 (LWP 12494) "JS Sour~ Thread" pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
(gdb) c
Continuing.
^C
Thread 1 "gnome-shell" received signal SIGINT, Interrupt.
0x00007fbbb33aa1b9 in ?? ()
(gdb) info threads
  Id   Target Id         Frame 
* 1    Thread 0x7fbbd78a0640 (LWP 12473) "gnome-shell" 0x00007fbbb33aa1b9 in ?? ()
  2    Thread 0x7fbbb8b3f700 (LWP 12474) "gmain" 0x00007fbbcc50901d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  3    Thread 0x7fbbb3fff700 (LWP 12475) "gdbus" 0x00007fbbcc50901d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  4    Thread 0x7fbbb1c2c700 (LWP 12477) "dconf worker" 0x00007fbbcc50901d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  5    Thread 0x7fbbb0bb1700 (LWP 12492) "threaded-ml" 0x00007fbbcc50901d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  6    Thread 0x7fbb9ffff700 (LWP 12493) "JS GC Helper" pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  7    Thread 0x7fbb9f7fe700 (LWP 12494) "JS Sour~ Thread" pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
(gdb) c
Continuing.
^C
Thread 1 "gnome-shell" received signal SIGINT, Interrupt.
js::GetScopeName (cx=cx@entry=0x55a1ad479f40, scopeChain=..., scopeChain@entry=..., 
    name=name@entry=..., vp=vp@entry=...)
    at /usr/src/debug/mozjs-24.2.0/js/src/vm/Interpreter.cpp:3271
3271        if (!LookupName(cx, name, scopeChain, &obj, &pobj, &shape))
(gdb) info threads
  Id   Target Id         Frame 
* 1    Thread 0x7fbbd78a0640 (LWP 12473) "gnome-shell" js::GetScopeName (
    cx=cx@entry=0x55a1ad479f40, scopeChain=..., scopeChain@entry=..., name=name@entry=..., 
    vp=vp@entry=...) at /usr/src/debug/mozjs-24.2.0/js/src/vm/Interpreter.cpp:3271
  2    Thread 0x7fbbb8b3f700 (LWP 12474) "gmain" 0x00007fbbcc50901d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  3    Thread 0x7fbbb3fff700 (LWP 12475) "gdbus" 0x00007fbbcc50901d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  4    Thread 0x7fbbb1c2c700 (LWP 12477) "dconf worker" 0x00007fbbcc50901d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  5    Thread 0x7fbbb0bb1700 (LWP 12492) "threaded-ml" 0x00007fbbcc50901d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  6    Thread 0x7fbb9ffff700 (LWP 12493) "JS GC Helper" pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  7    Thread 0x7fbb9f7fe700 (LWP 12494) "JS Sour~ Thread" pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
(gdb) c
Continuing.
^C
Thread 1 "gnome-shell" received signal SIGINT, Interrupt.
g_slice_free_chain_with_offset (mem_size=24, mem_chain=<optimized out>, next_offset=8)
    at gslice.c:1192
1192              if (G_UNLIKELY (allocator->config.debug_blocks) &&
(gdb) s
1195              if (G_UNLIKELY (thread_memory_magazine2_is_full (tmem, ix)))
(gdb) s
thread_memory_magazine2_is_full (tmem=<optimized out>, ix=1) at gslice.c:1195
1195              if (G_UNLIKELY (thread_memory_magazine2_is_full (tmem, ix)))
(gdb) s
allocator_get_magazine_threshold (allocator=<optimized out>, allocator=<optimized out>, 
    ix=<optimized out>) at gslice.c:582
582       guint threshold = MAX (MIN_MAGAZINE_SIZE, allocator->max_page_size / MAX (5 * chunk_size, 5 * 32));
(gdb) bt
#0  0x00007fbbce025658 in allocator_get_magazine_threshold (allocator=<optimized out>, allocator=<optimized out>, ix=<optimized out>) at gslice.c:582
#1  0x00007fbbce025658 in thread_memory_magazine2_is_full (tmem=<optimized out>, ix=1)
    at gslice.c:834
#2  0x00007fbbce025658 in g_slice_free_chain_with_offset (mem_size=24, mem_chain=<optimized out>, next_offset=8) at gslice.c:1195
#3  0x00007fbbce0029b2 in g_list_free (list=<optimized out>) at glist.c:182
#4  0x00007fbbd1907edb in cally_actor_real_remove_actor (container=0x55a1adb3c2b0 [ShellGenericContainer], actor=<optimized out>, data=0x55a1ad3385d0) at cally/cally-actor.c:626
#8  0x00007fbbce2fa8eb in <emit signal 0x7fbbd1917b35 "actor-removed" on instance 0x55a1adb3c2b0 [ShellGenericContainer]> (instance=instance@entry=0x55a1adb3c2b0, detailed_signal=detailed_signal@entry=0x7fbbd1917b35 "actor-removed") at gsignal.c:3487
    #5  0x00007fbbce2df3e5 in g_closure_invoke (closure=0x55a1adbca130, return_value=return_value@entry=0x0, n_param_values=2, param_values=param_values@entry=0x7fff3b3994f0, invocation_hint=invocation_hint@entry=0x7fff3b399470) at gclosure.c:804
    #6  0x00007fbbce2f1432 in signal_emit_unlocked_R (node=node@entry=0x55a1ad32b110, detail=detail@entry=0, instance=instance@entry=0x55a1adb3c2b0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fff3b3994f0) at gsignal.c:3635
    #7  0x00007fbbce2fa05f in g_signal_emit_valist (instance=instance@entry=0x55a1adb3c2b0, signal_id=signal_id@entry=35, detail=detail@entry=0, var_args=var_args@entry=0x7fff3b399708)
    at gsignal.c:3391
---Type <return> to continue, or q <return> to quit---q
Quit
(gdb) c
Continuing.
^C
Thread 1 "gnome-shell" received signal SIGINT, Interrupt.
js::jit::DoGetNameFallback (cx=0x55a1ad479f40, frame=<optimized out>, stub=0x55a1c0f04690, 
    scopeChain=..., res=...) at /usr/src/debug/mozjs-24.2.0/js/src/jit/BaselineIC.cpp:4923
4923            if (!GetScopeNameForTypeOf(cx, scopeChain, name, res))
(gdb) bt
#0  0x00007fbbd5bec5ee in js::jit::DoGetNameFallback(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetName_Fallback*, JS::HandleObject, JS::MutableHandleValue) (cx=0x55a1ad479f40, frame=<optimized out>, stub=0x55a1c0f04690, scopeChain=..., res=...)
    at /usr/src/debug/mozjs-24.2.0/js/src/jit/BaselineIC.cpp:4923
#1  0x00007fbbd785b7ef in  ()
#2  0x00007fff3b397e60 in  ()
#3  0x00007fff3b397e40 in  ()
Python Exception <class 'SystemError'> <built-in function isinstance> returned a result with an error set: 
#4  0xffffffffffffffff in #5  0x00007fbbd6032c20 in js::jit::DoGetNameFallbackInfo ()
    at /lib64/libmozjs-24.so
#6  0x00007fbbb02357c0 in  ()
#7  0x00007fbbb33a924b in  ()
#8  0x0000000000000901 in  ()
#9  0x00007fff3b397ea8 in  ()
#10 0x000055a1c0f04690 in  ()
#11 0x00007fbbb0136aa0 in  ()
Python Exception <class 'SystemError'> <built-in function isinstance> returned a result with an error set: 
Python Exception <class 'SystemError'> <built-in function isinstance> returned a result with an error set: 
Python Exception <class 'SystemError'> <built-in function isinstance> returned a result with an error set: 
Python Exception <class 'SystemError'> <built-in function isinstance> returned a result with an error set: 
Python Exception <class 'SystemError'> <built-in function isinstance> returned a result with an error set: 
#12 0xffffffffffffffff in #13 0xffffffffffffffff in #14 0xffffffffffffffff in #15 0xffffffffffffffff in #16 0xffffffffffffffff in #17 0x000055a1ad479f40 in  ()
#18 0x00007fff3b398008 in  ()
#19 0x00007fff00000078 in  ()
#20 0x00007fbbb0136aa0 in  ()
#21 0x00007fbbb0177ac0 in  ()
---Type <return> to continue, or q <return> to quit---q
Quit
(gdb) c
Continuing.
^C
Thread 1 "gnome-shell" received signal SIGINT, Interrupt.
0x00007fbbce2fef58 in g_type_class_ref (type=type@entry=94152892334944) at gtype.c:2906
2906    {
(gdb) c
Continuing.
[New Thread 0x7fbb5ffff700 (LWP 6422)]
[New Thread 0x7fbb6b21a700 (LWP 6423)]
[New Thread 0x7fbb6bfff700 (LWP 6424)]
[Thread 0x7fbb5ffff700 (LWP 6422) exited]
[Thread 0x7fbb6bfff700 (LWP 6424) exited]
[Thread 0x7fbb6b21a700 (LWP 6423) exited]
^C
Thread 1 "gnome-shell" received signal SIGINT, Interrupt.
0x00007fbbcc50901d in poll () at ../sysdeps/unix/syscall-template.S:84
84      T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
(gdb) c
Continuing.
^C
Thread 1 "gnome-shell" received signal SIGINT, Interrupt.
0x00007fbbcc50901d in poll () at ../sysdeps/unix/syscall-template.S:84
84      T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
(gdb) quit
A debugging session is active.

        Inferior 1 [process 12473] will be detached.

Quit anyway? (y or n) y
Detaching from program: /usr/bin/gnome-shell, process 12473

Comment 2 Fedora End Of Life 2017-11-16 19:41:27 UTC
This message is a reminder that Fedora 25 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 25. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '25'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 25 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 3 Fedora End Of Life 2017-12-12 10:10:38 UTC
Fedora 25 changed to end-of-life (EOL) status on 2017-12-12. Fedora 25 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.