Description of problem: Switching from Frequent to All applications in Gnome Shell is very slow. It takes 30+ seconds to show the All applications screen and top shows the gnome-shell using 100% CPU the entire time. And then if I try to scroll the list, it takes another 30+ seconds to respond. Version-Release number of selected component (if applicable): gnome-shell-3.7.92-2.fc19.x86_64 How reproducible: every time Steps to Reproduce: 1. bring up Gnome Shell Activities 2. click Applications grid icon 3. switch from Frequent to All applications Actual results: hurry up and wait for a few minutes for the icons to appear Expected results: near instant list of all applications on the system Additional info:
strace shows lots of ioctls while it's busy processing whatever it's doing: $ strace -t -p `pidof gnome-shell` ... 12:44:24 ioctl(7, VIDIOC_INT_RESET, 0x7fff63cecd50) = 0 12:44:24 ioctl(7, VIDIOC_INT_RESET, 0x7fff63cecd90) = 0 12:44:24 ioctl(7, 0xc0086457, 0x7fff63cec940) = 0 12:44:24 ioctl(7, VIDIOC_INT_RESET, 0x7fff63cec9a0) = 0 ... $ ls -l /proc/`pidof gnome-shell`/fd/7 lrwx------. 1 user user 64 Mar 21 12:19 /proc/30896/fd/7 -> /dev/dri/card0
I attached gdb to the gnome-shell process and then switched from Frequent to All applications. I interrupted it with CTRL-C and then ran: (gdb) t a a bt Thread 13 (Thread 0x7fc643fff700 (LWP 1579)): #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238 #1 0x0000003761a879b5 in g_cond_wait_until (cond=cond@entry=0x1c2c798, mutex=mutex@entry=0x1c2c790, end_time=end_time@entry=7317190805) at gthread-posix.c:859 #2 0x0000003761a1eac1 in g_async_queue_pop_intern_unlocked ( queue=queue@entry=0x1c2c790, wait=wait@entry=1, end_time=end_time@entry=7317190805) at gasyncqueue.c:424 #3 0x0000003761a1f04b in g_async_queue_timeout_pop (queue=0x1c2c790, timeout=timeout@entry=15000000) at gasyncqueue.c:545 #4 0x0000003761a6d006 in g_thread_pool_wait_for_new_pool () at gthreadpool.c:169 #5 g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:366 #6 0x0000003761a6c575 in g_thread_proxy (data=0x34804f0) at gthread.c:798 #7 0x000000375f607c53 in start_thread (arg=0x7fc643fff700) at pthread_create.c:308 #8 0x000000375f2f4ecd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 Thread 6 (Thread 0x7fc675045700 (LWP 1117)): #0 0x000000375f2ea8fd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x0000003761a482d4 in g_main_context_poll (priority=2147483647, n_fds=5, fds=0x7fc670005c20, timeout=-1, context=0x1900e40) at gmain.c:3995 #2 g_main_context_iterate (context=0x1900e40, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3696 #3 0x0000003761a4873a in g_main_loop_run (loop=0x1900dd0) at gmain.c:3895 #4 0x0000003762ace3b6 in gdbus_shared_thread_func (user_data=0x1900e10) at gdbusprivate.c:278 #5 0x0000003761a6c575 in g_thread_proxy (data=0x18fc320) at gthread.c:798 #6 0x000000375f607c53 in start_thread (arg=0x7fc675045700) at pthread_create.c:308 #7 0x000000375f2f4ecd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 Thread 5 (Thread 0x7fc66ffff700 (LWP 1118)): #0 0x000000375f2ea8fd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x0000003761a482d4 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7fc6680010c0, timeout=-1, context=0x192c220) at gmain.c:3995 #2 g_main_context_iterate (context=context@entry=0x192c220, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3696 #3 0x0000003761a483dc in g_main_context_iteration (context=0x192c220, may_block=1) at gmain.c:3762 #4 0x00007fc67461294d in dconf_gdbus_worker_thread () from /usr/lib64/gio/modules/libdconfsettings.so #5 0x0000003761a6c575 in g_thread_proxy (data=0x191d590) at gthread.c:798 #6 0x000000375f607c53 in start_thread (arg=0x7fc66ffff700) at pthread_create.c:308 #7 0x000000375f2f4ecd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 Thread 4 (Thread 0x7fc66efc1700 (LWP 1120)): #0 0x000000375f2ea8fd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x000000378b831091 in poll (__timeout=-1, __nfds=2, __fds=0x7fc65c0048d0) at /usr/include/bits/poll2.h:46 #2 poll_func (ufds=0x7fc65c0048d0, nfds=2, timeout=-1, userdata=0x197c740) at pulse/thread-mainloop.c:69 #3 0x000000378b822a0c in pa_mainloop_poll (m=m@entry=0x198cc50) at pulse/mainloop.c:854 #4 0x000000378b82309e in pa_mainloop_iterate (m=m@entry=0x198cc50, block=block@entry=1, retval=retval@entry=0x0) at pulse/mainloop.c:936 #5 0x000000378b823150 in pa_mainloop_run (m=0x198cc50, retval=retval@entry=0x0) at pulse/mainloop.c:954 #6 0x000000378b831043 in thread (userdata=0x1988630) at pulse/thread-mainloop.c:88 #7 0x0000003789246eb8 in internal_thread_func (userdata=0x19e3730) at pulsecore/thread-posix.c:83 #8 0x000000375f607c53 in start_thread (arg=0x7fc66efc1700) at pthread_create.c:308 #9 0x000000375f2f4ecd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 Thread 3 (Thread 0x7fc66e7c0700 (LWP 1121)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x0000003775c22ef0 in PR_WaitCondVar (cvar=0x19eeea0, timeout=4294967295) at ../../../mozilla/nsprpub/pr/src/pthreads/ptsynch.c:385 #2 0x0000003786ec4de1 in threadLoop (rt=0x1abf600, this=0x1abf878) at jsgc.cpp:2084 #3 js::GCHelperThread::threadMain (arg=0x1abf600) at jsgc.cpp:2070 #4 0x0000003775c280e3 in _pt_root (arg=0x19ef820) at ../../../mozilla/nsprpub/pr/src/pthreads/ptthread.c:156 #5 0x000000375f607c53 in start_thread (arg=0x7fc66e7c0700) at pthread_create.c:308 #6 0x000000375f2f4ecd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 Thread 2 (Thread 0x7fc663ffe700 (LWP 1407)): #0 0x000000375f2ea8fd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x0000003761a482d4 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7fc654052a40, timeout=-1, context=0x3663fb0) at gmain.c:3995 #2 g_main_context_iterate (context=context@entry=0x3663fb0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3696 #3 0x0000003761a483dc in g_main_context_iteration (context=0x3663fb0, may_block=may_block@entry=1) at gmain.c:3762 #4 0x0000003761a48429 in glib_worker_main (data=<optimized out>) at gmain.c:5427 #5 0x0000003761a6c575 in g_thread_proxy (data=0x352c8a0) at gthread.c:798 #6 0x000000375f607c53 in start_thread (arg=0x7fc663ffe700) at pthread_create.c:308 #7 0x000000375f2f4ecd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 Thread 1 (Thread 0x7fc67c1dda00 (LWP 1106)): #0 0x00007fc6756b5d80 in fetch_vector1 () from /lib64/libdricore9.1.0.so.1 #1 0x00007fc6756b7e19 in _mesa_execute_program () from /lib64/libdricore9.1.0.so.1 #2 0x00007fc675608fa6 in _swrast_exec_fragment_program () from /lib64/libdricore9.1.0.so.1 #3 0x00007fc67560f5c1 in _swrast_write_rgba_span () from /lib64/libdricore9.1.0.so.1 #4 0x00007fc6756377e3 in general_triangle () from /lib64/libdricore9.1.0.so.1 #5 0x00007fc6756451fd in quadfunc_rgba () from /lib64/libdricore9.1.0.so.1 #6 0x00007fc6755e0ac3 in _tnl_render_quads_verts () from /lib64/libdricore9.1.0.so.1 #7 0x00007fc6755e1e8a in run_render () from /lib64/libdricore9.1.0.so.1 #8 0x00007fc6755dc92d in _tnl_run_pipeline () from /lib64/libdricore9.1.0.so.1 #9 0x00007fc675a9d979 in intelRunPipeline () from /usr/lib64/dri/i915_dri.so #10 0x00007fc6755dd27e in _tnl_draw_prims () from /lib64/libdricore9.1.0.so.1 #11 0x00007fc6755dda0e in _tnl_vbo_draw_prims () from /lib64/libdricore9.1.0.so.1 #12 0x00007fc6755ca6e6 in vbo_rebase_prims () from /lib64/libdricore9.1.0.so.1 #13 0x00007fc6755dd8eb in _tnl_draw_prims () from /lib64/libdricore9.1.0.so.1 #14 0x00007fc6755dda0e in _tnl_vbo_draw_prims () from /lib64/libdricore9.1.0.so.1 #15 0x00007fc6755c7b44 in vbo_draw_arrays () from /lib64/libdricore9.1.0.so.1 #16 0x000000379205b936 in _cogl_journal_flush_modelview_and_entries ( batch_start=<optimized out>, batch_len=1, data=0x7fffbf7df680) at ./cogl-journal.c:305 #17 0x000000379205b045 in batch_and_call (entries=<optimized out>, n_entries=<optimized out>, can_batch_callback=0x379205b9a0 <compare_entry_pipelines>, batch_callback=0x379205bdc0 <_cogl_journal_flush_pipeline_and_entries>, data=0x7fffbf7df680) at ./cogl-journal.c:257 #18 0x000000379205b704 in _cogl_journal_flush_texcoord_vbo_offsets_and_entries (batch_start=0x379b318, batch_len=59, data=0x7fffbf7df680) at ./cogl-journal.c:556 #19 0x000000379205b599 in _cogl_journal_flush_vbo_offsets_and_entries ( batch_start=0x379b318, batch_len=59, data=<optimized out>) at ./cogl-journal.c:663 #20 0x000000379205b045 in batch_and_call (entries=<optimized out>, n_entries=<optimized out>, can_batch_callback=0x379205b0d0 <compare_entry_clip_stacks>, batch_callback=0x379205b150 <_cogl_journal_flush_clip_stacks_and_entries>, data=0x7fffbf7df680) at ./cogl-journal.c:257 #21 0x000000379205ca7b in _cogl_journal_flush (journal=0x18c0430) at ./cogl-journal.c:1375 #22 0x000000379205d91c in _cogl_framebuffer_flush_journal ( framebuffer=<optimized out>) at ./cogl-framebuffer.c:595 #23 0x000000379202f628 in cogl_flush () at ./cogl.c:314 #24 0x0000003792060210 in cogl_onscreen_swap_buffers (onscreen=0x1c18ef0) at ./cogl-onscreen.c:184 #25 0x000000379303e322 in clutter_stage_cogl_redraw ( stage_window=<optimized out>) at cogl/clutter-stage-cogl.c:643 #26 0x00000037930aae9e in clutter_stage_do_redraw (stage=0x1c2b900) at ./clutter-stage.c:1174 #27 _clutter_stage_do_update (stage=0x1c2b900) at ./clutter-stage.c:1232 #28 0x0000003793090528 in master_clock_update_stages (stages=0x3854c30, master_clock=0x21b0ca0) at ./clutter-master-clock.c:457 #29 clutter_clock_dispatch (source=source@entry=0x21b1940, callback=<optimized out>, user_data=<optimized out>) at ./clutter-master-clock.c:589 #30 0x0000003761a47fe6 in g_main_dispatch (context=0x747e00) at gmain.c:3054 #31 g_main_context_dispatch (context=context@entry=0x747e00) at gmain.c:3630 #32 0x0000003761a48338 in g_main_context_iterate (context=0x747e00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3701 #33 0x0000003761a4873a in g_main_loop_run (loop=0x74aaf0) at gmain.c:3895 #34 0x00000037724584c1 in meta_run () at core/main.c:556 #35 0x0000000000401f59 in main (argc=1, argv=0x7fffbf7dfc58) at main.c:430 (gdb) call gjs_dumpstack() (gdb) Unfortunately I don't know where the gjs_dumpstack output went. I don't have a ~/.xsession-errors nor a ~/.cache/gdm/session.log file, and journalctl doesn't show anything: $ journalctl -b Showing user generated messages only. Users in the group 'systemd-journal' can see all messages. Pass -q to turn this notice off. -- Logs begin at Sun 2013-02-03 10:32:00 CST, end at Wed 2013-03-20 07:16:17 CDT Running journalctl as root only shows this: Mar 21 13:01:12 localhost.localdomain /etc/gdm/Xsession[843]: == Stack trace for context 0x193da80 ==
Hmm, switching to software rendering speeds things up considerably. The All applications icons appear in just a second or so (as fast as can be expected with software rendering). LIBGL_ALWAYS_SOFTWARE=1 gnome-shell --replace Switching back to GPU rendering really slows things down again. This might be a bug in the intel graphics driver.
I installed some more debuginfo packages and got a better backtrace: ^C Program received signal SIGINT, Interrupt. store_vector4 (inst=inst@entry=0x542d1d0, machine=machine@entry=0x1ee3380, value=value@entry=0x7fffeeaeec50) at ../../../src/mesa/program/prog_execute.c:518 518 if (inst->CondUpdate) { (gdb) t a a bt Thread 13 (Thread 0x7f643f6ff700 (LWP 2661)): #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238 #1 0x0000003761a879b5 in g_cond_wait_until (cond=cond@entry=0x3680958, mutex=mutex@entry=0x3680950, end_time=end_time@entry=9953500557) at gthread-posix.c:859 #2 0x0000003761a1eac1 in g_async_queue_pop_intern_unlocked ( queue=queue@entry=0x3680950, wait=wait@entry=1, end_time=end_time@entry=9953500557) at gasyncqueue.c:424 #3 0x0000003761a1f04b in g_async_queue_timeout_pop (queue=0x3680950, timeout=timeout@entry=15000000) at gasyncqueue.c:545 #4 0x0000003761a6d006 in g_thread_pool_wait_for_new_pool () at gthreadpool.c:169 #5 g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:366 #6 0x0000003761a6c575 in g_thread_proxy (data=0x7f6464001a30) at gthread.c:798 #7 0x000000375f607c53 in start_thread (arg=0x7f643f6ff700) at pthread_create.c:308 #8 0x000000375f2f4ecd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 Thread 6 (Thread 0x7f64736b6700 (LWP 2414)): #0 0x000000375f2ea8fd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x0000003761a482d4 in g_main_context_poll (priority=2147483647, n_fds=5, fds=0x7f646c0011b0, timeout=-1, context=0x1d23ba0) at gmain.c:3995 #2 g_main_context_iterate (context=0x1d23ba0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3696 #3 0x0000003761a4873a in g_main_loop_run (loop=0x1d23b30) at gmain.c:3895 #4 0x0000003762ace3b6 in gdbus_shared_thread_func (user_data=0x1d23b70) at gdbusprivate.c:278 #5 0x0000003761a6c575 in g_thread_proxy (data=0x1d1ed90) at gthread.c:798 #6 0x000000375f607c53 in start_thread (arg=0x7f64736b6700) at pthread_create.c:308 #7 0x000000375f2f4ecd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 Thread 5 (Thread 0x7f64719d2700 (LWP 2415)): #0 0x000000375f2ea8fd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x0000003761a482d4 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f64640010c0, timeout=-1, context=0x2fd4670) at gmain.c:3995 #2 g_main_context_iterate (context=context@entry=0x2fd4670, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3696 #3 0x0000003761a483dc in g_main_context_iteration ( context=context@entry=0x2fd4670, may_block=may_block@entry=1) at gmain.c:3762 #4 0x00007f64719d994d in dconf_gdbus_worker_thread (user_data=0x2fd4670) at dconf-gdbus-thread.c:81 #5 0x0000003761a6c575 in g_thread_proxy (data=0x2fcfb20) at gthread.c:798 #6 0x000000375f607c53 in start_thread (arg=0x7f64719d2700) at pthread_create.c:308 #7 0x000000375f2f4ecd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 Thread 4 (Thread 0x7f6470fca700 (LWP 2416)): #0 0x000000375f2ea8fd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x000000378b831091 in poll (__timeout=-1, __nfds=2, __fds=0x7f64680048d0) at /usr/include/bits/poll2.h:46 #2 poll_func (ufds=0x7f64680048d0, nfds=2, timeout=-1, userdata=0x2fddf90) at pulse/thread-mainloop.c:69 #3 0x000000378b822a0c in pa_mainloop_poll (m=m@entry=0x2fdde80) at pulse/mainloop.c:854 #4 0x000000378b82309e in pa_mainloop_iterate (m=m@entry=0x2fdde80, block=block@entry=1, retval=retval@entry=0x0) at pulse/mainloop.c:936 #5 0x000000378b823150 in pa_mainloop_run (m=0x2fdde80, retval=retval@entry=0x0) at pulse/mainloop.c:954 #6 0x000000378b831043 in thread (userdata=0x1cd5510) at pulse/thread-mainloop.c:88 #7 0x0000003789246eb8 in internal_thread_func (userdata=0x2fd3280) at pulsecore/thread-posix.c:83 #8 0x000000375f607c53 in start_thread (arg=0x7f6470fca700) at pthread_create.c:308 #9 0x000000375f2f4ecd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 Thread 3 (Thread 0x7f645fffe700 (LWP 2417)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x0000003775c22ef0 in PR_WaitCondVar (cvar=0x304cb10, timeout=4294967295) at ../../../mozilla/nsprpub/pr/src/pthreads/ptsynch.c:385 #2 0x0000003786ec4de1 in threadLoop (rt=0x2fe5a40, this=0x2fe5cb8) at jsgc.cpp:2084 #3 js::GCHelperThread::threadMain (arg=0x2fe5a40) at jsgc.cpp:2070 #4 0x0000003775c280e3 in _pt_root (arg=0x304cbb0) at ../../../mozilla/nsprpub/pr/src/pthreads/ptthread.c:156 #5 0x000000375f607c53 in start_thread (arg=0x7f645fffe700) at pthread_create.c:308 #6 0x000000375f2f4ecd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 Thread 2 (Thread 0x7f644f1a4700 (LWP 2486)): #0 0x000000375f2ea8fd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x0000003761a482d4 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f6448002760, timeout=-1, context=0x44f5cb0) at gmain.c:3995 #2 g_main_context_iterate (context=context@entry=0x44f5cb0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3696 #3 0x0000003761a483dc in g_main_context_iteration (context=0x44f5cb0, may_block=may_block@entry=1) at gmain.c:3762 #4 0x0000003761a48429 in glib_worker_main (data=<optimized out>) at gmain.c:5427 #5 0x0000003761a6c575 in g_thread_proxy (data=0x4546940) at gthread.c:798 #6 0x000000375f607c53 in start_thread (arg=0x7f644f1a4700) at pthread_create.c:308 #7 0x000000375f2f4ecd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 Thread 1 (Thread 0x7f647a5a1a00 (LWP 2413)): #0 store_vector4 (inst=inst@entry=0x542d1d0, machine=machine@entry=0x1ee3380, value=value@entry=0x7fffeeaeec50) at ../../../src/mesa/program/prog_execute.c:518 #1 0x00007f647227f73a in _mesa_execute_program (ctx=ctx@entry=0x1ea3050, machine=machine@entry=0x1ee3380) at ../../../src/mesa/program/prog_execute.c:661 #2 0x00007f64721cefa6 in run_program (start=0, end=<optimized out>, span=0x7fffeeaef840, ctx=0x1ea3050) at ../../../src/mesa/swrast/s_fragprog.c:222 #3 _swrast_exec_fragment_program (ctx=0x1ea3050, span=0x7fffeeaef840) at ../../../src/mesa/swrast/s_fragprog.c:279 #4 0x00007f64721d55c1 in _swrast_write_rgba_span (ctx=ctx@entry=0x1ea3050, span=span@entry=0x7fffeeaef840) at ../../../src/mesa/swrast/s_span.c:1203 #5 0x00007f64721fd7e3 in general_triangle (ctx=0x1ea3050, v0=<optimized out>, v1=<optimized out>, v2=0x2d68758) at ../../../src/mesa/swrast/s_tritemp.h:819 #6 0x00007f647220b1fd in quadfunc_rgba (ctx=0x1ea3050, v0=<optimized out>, v1=1, v2=2, v3=3) at ../../../src/mesa/swrast_setup/ss_tritmp.h:232 #7 0x00007f64721a6ac3 in _tnl_render_quads_verts (ctx=0x1ea3050, start=<optimized out>, count=4, flags=<optimized out>) at ../../../src/mesa/tnl/t_vb_rendertmp.h:383 #8 0x00007f64721a7e8a in run_render (ctx=0x1ea3050, stage=<optimized out>) at ../../../src/mesa/tnl/t_vb_render.c:321 #9 0x00007f64721a292d in _tnl_run_pipeline (ctx=ctx@entry=0x1ea3050) at ../../../src/mesa/tnl/t_pipeline.c:163 #10 0x00007f647264a979 in intelRunPipeline (ctx=0x1ea3050) at intel_tris.c:1086 #11 0x00007f64721a327e in _tnl_draw_prims (ctx=ctx@entry=0x1ea3050, arrays=arrays@entry=0x7fffeeaf0570, prim=prim@entry=0x540a040, nr_prims=nr_prims@entry=1, ib=ib@entry=0x0, min_index=<optimized out>, max_index=3) at ../../../src/mesa/tnl/t_draw.c:525 #12 0x00007f64721a3a0e in _tnl_vbo_draw_prims (ctx=0x1ea3050, prim=0x540a040, nr_prims=1, ib=0x0, index_bounds_valid=<optimized out>, min_index=0, max_index=3, tfb_vertcount=0x0) at ../../../src/mesa/tnl/t_draw.c:425 #13 0x00007f64721906e6 in vbo_rebase_prims (ctx=ctx@entry=0x1ea3050, arrays=arrays@entry=0x2bfc120, prim=0x540a040, prim@entry=0x7fffeeaf1160, nr_prims=nr_prims@entry=1, ib=ib@entry=0x0, min_index=<optimized out>, max_index=max_index@entry=227, draw=draw@entry=0x7f64721a39b0 <_tnl_vbo_draw_prims>) at ../../../src/mesa/vbo/vbo_rebase.c:233 #14 0x00007f64721a38eb in _tnl_draw_prims (ctx=ctx@entry=0x1ea3050, arrays=arrays@entry=0x2bfc120, prim=prim@entry=0x7fffeeaf1160, nr_prims=nr_prims@entry=1, ib=ib@entry=0x0, min_index=224, max_index=227) at ../../../src/mesa/tnl/t_draw.c:468 #15 0x00007f64721a3a0e in _tnl_vbo_draw_prims (ctx=0x1ea3050, prim=0x7fffeeaf1160, nr_prims=1, ib=0x0, index_bounds_valid=<optimized out>, min_index=224, max_index=227, tfb_vertcount=0x0) at ../../../src/mesa/tnl/t_draw.c:425 #16 0x00007f647218db44 in vbo_draw_arrays (ctx=0x1ea3050, mode=7, start=224, count=4, numInstances=1, baseInstance=0) at ../../../src/mesa/vbo/vbo_exec_array.c:619 #17 0x000000379205b936 in _cogl_journal_flush_modelview_and_entries ( batch_start=<optimized out>, batch_len=1, data=0x7fffeeaf1430) at ./cogl-journal.c:305 #18 0x000000379205b045 in batch_and_call (entries=<optimized out>, n_entries=<optimized out>, can_batch_callback=0x379205b9a0 <compare_entry_pipelines>, batch_callback=0x379205bdc0 <_cogl_journal_flush_pipeline_and_entries>, data=0x7fffeeaf1430) at ./cogl-journal.c:257 #19 0x000000379205b704 in _cogl_journal_flush_texcoord_vbo_offsets_and_entries (batch_start=0x4632b58, batch_len=70, data=0x7fffeeaf1430) at ./cogl-journal.c:556 #20 0x000000379205b599 in _cogl_journal_flush_vbo_offsets_and_entries ( batch_start=0x4632b58, batch_len=70, data=<optimized out>) at ./cogl-journal.c:663 #21 0x000000379205b045 in batch_and_call (entries=<optimized out>, n_entries=<optimized out>, can_batch_callback=0x379205b0d0 <compare_entry_clip_stacks>, batch_callback=0x379205b150 <_cogl_journal_flush_clip_stacks_and_entries>, data=0x7fffeeaf1430) at ./cogl-journal.c:257 #22 0x000000379205ca7b in _cogl_journal_flush (journal=0x1d28c30) at ./cogl-journal.c:1375 #23 0x000000379205d91c in _cogl_framebuffer_flush_journal ( framebuffer=<optimized out>) at ./cogl-framebuffer.c:595 #24 0x000000379202f628 in cogl_flush () at ./cogl.c:314 #25 0x0000003792060210 in cogl_onscreen_swap_buffers (onscreen=0x31b9c00) at ./cogl-onscreen.c:184 #26 0x000000379303e322 in clutter_stage_cogl_redraw ( stage_window=<optimized out>) at cogl/clutter-stage-cogl.c:643 #27 0x00000037930aae9e in clutter_stage_do_redraw (stage=0x31858f0) at ./clutter-stage.c:1174 #28 _clutter_stage_do_update (stage=0x31858f0) at ./clutter-stage.c:1232 #29 0x0000003793090528 in master_clock_update_stages (stages=0x4782fa0, master_clock=0x2fd64f0) at ./clutter-master-clock.c:457 #30 clutter_clock_dispatch (source=source@entry=0x30e30e0, callback=<optimized out>, user_data=<optimized out>) at ./clutter-master-clock.c:589 #31 0x0000003761a47fe6 in g_main_dispatch (context=0x1cc5e00) at gmain.c:3054 #32 g_main_context_dispatch (context=context@entry=0x1cc5e00) at gmain.c:3630 #33 0x0000003761a48338 in g_main_context_iterate (context=0x1cc5e00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3701 #34 0x0000003761a4873a in g_main_loop_run (loop=0x1cc8b20) at gmain.c:3895 #35 0x00000037724584c1 in meta_run () at core/main.c:556 #36 0x0000000000401f59 in main (argc=1, argv=0x7fffeeaf1a08) at main.c:430
I created a new user for testing so now my gdm login screen has enough users to require a scrollbar, and now I'm seeing the same very slow behavior when I try to select a user to login. I move the mouse to highlight a new user and gnome-shell takes 100% CPU for a while. Eventually it settles down and I can finally login. From IRC: <ajax> the shader we think you're having trouble with only happens in a scroll view, yes. <drago01> jbastian: no it is caused by the fade at the edge of the scollview (that's what the shader is doing) <drago01> jbastian: but that means that this is a really bad bug <drago01> jbastian: it affects chats too <jbastian> hmm, ok <drago01> or menus with a scrollbar <drago01> etc
Moving to Mesa as I think this is a gen3 bug.
The lock screen seems to be affected too: trying to unlock the screen requires hitting ESC and waiting for 30 seconds or so for a password prompt to appear. Then, if you make a typo on the password when unlocking, the cursor just spins and spins forever. If I restart gnome-shell with software rendering (LIBGL_ALWAYS_SOFTWARE=y) then the unlock screen works ok, and if I enter the wrong password, a yellow error message appears "Authentication failure" under the text field for the password, and the text field slides up a little bit. That effect must be also causing problems for the Intel 945GM.
(In reply to comment #7) > The lock screen seems to be affected too: trying to unlock the screen > requires hitting ESC and waiting for 30 seconds or so for a password prompt > to appear. > > Then, if you make a typo on the password when unlocking, the cursor just > spins and spins forever. > > > If I restart gnome-shell with software rendering (LIBGL_ALWAYS_SOFTWARE=y) > then the unlock screen works ok, and if I enter the wrong password, a yellow > error message appears "Authentication failure" under the text field for the > password, and the text field slides up a little bit. That effect must be > also causing problems for the Intel 945GM. We have added workarounds for this in 3.8 ... does it work better now?
It does! I updated to the 3.8.0 packages and it works normally again. Thanks!
Just for the record: https://bugzilla.gnome.org/show_bug.cgi?id=696404 https://git.gnome.org/browse/gnome-shell/commit/?id=6ef9ab6a0b3c4af177b511eef80595b4140cb9db
Closing per comment 9.