Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1157698 - mate-settings-daemon causes non-stop numlock blinking and loads cpu until killed
Summary: mate-settings-daemon causes non-stop numlock blinking and loads cpu until ki...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: mate-settings-daemon
Version: 21
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Wolfgang Ulbrich
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-10-27 14:15 UTC by glad08
Modified: 2015-05-01 17:26 UTC (History)
4 users (show)

Fixed In Version: mate-settings-daemon-1.8.3-1.fc20
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-03-22 04:34:08 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description glad08 2014-10-27 14:15:29 UTC
Description of problem:

mate-settings-daemon causes non-stop numlock blinking and loads cpu until killed

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


How reproducible:
I don't know how to reproduce this 100%. It arrives after high load on system (cpu and memory) usually.

Steps to Reproduce:
1.
2.
3.

Actual results:

One cpu core loads up to 100%, numlock continuously blinking more than 10 times per second. 

Expected results:


Additional info:

I attach to mate-settings daemon with gdb and found some things:

there are 5 threads, 4 of them looks normally and one is suspicious

(gdb) info threads
  Id   Target Id         Frame 
  5    Thread 0x7f9a87a47700 (LWP 27667) "dconf worker" 0x00000037de0eb57d in poll () at ../sysdeps/unix/syscall-template.S:81
  4    Thread 0x7f9a87246700 (LWP 27668) "gdbus" 0x00000037de0eb57d in poll () at ../sysdeps/unix/syscall-template.S:81
  3    Thread 0x7f9a852a1700 (LWP 27679) "dconf worker" 0x00000037de0eb57d in poll () at ../sysdeps/unix/syscall-template.S:81
  2    Thread 0x7f9a737cf700 (LWP 27692) "gmain" 0x00000037de0eb57d in poll () at ../sysdeps/unix/syscall-template.S:81
* 1    Thread 0x7f9a8e1849c0 (LWP 27627) "mate-settings-d" 0x00000037de0eb57d in poll () at ../sysdeps/unix/syscall-template.S:81


(gdb) thread 5
[Switching to thread 5 (Thread 0x7f9a87a47700 (LWP 27667))]
#0  0x00000037de0eb57d in poll () at ../sysdeps/unix/syscall-template.S:81
81	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
(gdb) bt
#0  0x00000037de0eb57d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00000037e1c480b4 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f9a800010e0, timeout=-1, context=0x19dd340) at gmain.c:3995
#2  g_main_context_iterate (context=context@entry=0x19dd340, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3696
#3  0x00000037e1c481bc in g_main_context_iteration (context=context@entry=0x19dd340, may_block=may_block@entry=1) at gmain.c:3762
#4  0x00007f9a87a599cd in dconf_gdbus_worker_thread (user_data=0x19dd340) at dconf-gdbus-thread.c:81
#5  0x00000037e1c6c0e5 in g_thread_proxy (data=0x19a8720) at gthread.c:798
#6  0x00000037de807c65 in start_thread (arg=0x7f9a87a47700) at pthread_create.c:308
#7  0x00000037de0f5b9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
(gdb) thread 4
[Switching to thread 4 (Thread 0x7f9a87246700 (LWP 27668))]
#0  0x00000037de0eb57d in poll () at ../sysdeps/unix/syscall-template.S:81
81	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
(gdb) bt
#0  0x00000037de0eb57d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00000037e1c480b4 in g_main_context_poll (priority=2147483647, n_fds=3, fds=0x7f9a780010c0, timeout=-1, context=0x7f9a800132b0) at gmain.c:3995
#2  g_main_context_iterate (context=0x7f9a800132b0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3696
#3  0x00000037e1c4851a in g_main_loop_run (loop=0x7f9a80013240) at gmain.c:3895
#4  0x00000037eccc6c66 in gdbus_shared_thread_func (user_data=0x7f9a80013280) at gdbusprivate.c:278
#5  0x00000037e1c6c0e5 in g_thread_proxy (data=0x7f9a8000dcf0) at gthread.c:798
#6  0x00000037de807c65 in start_thread (arg=0x7f9a87246700) at pthread_create.c:308
#7  0x00000037de0f5b9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
(gdb) thread 3
[Switching to thread 3 (Thread 0x7f9a852a1700 (LWP 27679))]
#0  0x00000037de0eb57d in poll () at ../sysdeps/unix/syscall-template.S:81
81	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
(gdb) bt
#0  0x00000037de0eb57d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00000037e1c480b4 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f9a7c0010c0, timeout=-1, context=0x1a590e0) at gmain.c:3995
#2  g_main_context_iterate (context=context@entry=0x1a590e0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3696
#3  0x00000037e1c481bc in g_main_context_iteration (context=context@entry=0x1a590e0, may_block=may_block@entry=1) at gmain.c:3762
#4  0x00000037e9407bed in dconf_gdbus_worker_thread (user_data=0x1a590e0) at dconf-gdbus-thread.c:81
#5  0x00000037e1c6c0e5 in g_thread_proxy (data=0x19e01e0) at gthread.c:798
#6  0x00000037de807c65 in start_thread (arg=0x7f9a852a1700) at pthread_create.c:308
#7  0x00000037de0f5b9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
(gdb) thread 2
[Switching to thread 2 (Thread 0x7f9a737cf700 (LWP 27692))]
#0  0x00000037de0eb57d in poll () at ../sysdeps/unix/syscall-template.S:81
81	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
(gdb) bt
#0  0x00000037de0eb57d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00000037e1c480b4 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f9a680008c0, timeout=-1, context=0x1ac6090) at gmain.c:3995
#2  g_main_context_iterate (context=context@entry=0x1ac6090, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3696
#3  0x00000037e1c481bc in g_main_context_iteration (context=0x1ac6090, may_block=may_block@entry=1) at gmain.c:3762
#4  0x00000037e1c48209 in glib_worker_main (data=<optimized out>) at gmain.c:5427
#5  0x00000037e1c6c0e5 in g_thread_proxy (data=0x1aa8680) at gthread.c:798
#6  0x00000037de807c65 in start_thread (arg=0x7f9a737cf700) at pthread_create.c:308
#7  0x00000037de0f5b9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
(gdb) thread 1
[Switching to thread 1 (Thread 0x7f9a8e1849c0 (LWP 27627))]
#0  0x00000037de0eb57d in poll () at ../sysdeps/unix/syscall-template.S:81
81	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
(gdb) bt
#0  0x00000037de0eb57d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00000037e0009f42 in poll (__timeout=-1, __nfds=1, __fds=0x7ffff5f631f0) at /usr/include/bits/poll2.h:46
#2  _xcb_conn_wait (c=c@entry=0x19aa880, cond=cond@entry=0x7ffff5f63270, vector=vector@entry=0x0, count=count@entry=0x0) at xcb_conn.c:414
#3  0x00000037e000b37f in wait_for_reply (c=c@entry=0x19aa880, request=7770215, e=e@entry=0x7ffff5f63338) at xcb_in.c:399
#4  0x00000037e000b492 in xcb_wait_for_reply (c=c@entry=0x19aa880, request=7770215, e=e@entry=0x7ffff5f63338) at xcb_in.c:429
#5  0x00000037dfc41b47 in _XReply (dpy=dpy@entry=0x19a9630, rep=rep@entry=0x7ffff5f63380, extra=extra@entry=0, discard=discard@entry=0) at xcb_io.c:602
#6  0x00000037dfc28aa6 in XGetWindowProperty (dpy=0x19a9630, w=63100285, property=39, offset=offset@entry=0, length=length@entry=-1, delete=delete@entry=0, req_type=req_type@entry=31, actual_type=actual_type@entry=0x7ffff5f63440, 
    actual_format=actual_format@entry=0x7ffff5f6343c, nitems=nitems@entry=0x7ffff5f63448, bytesafter=bytesafter@entry=0x7ffff5f63450, prop=prop@entry=0x7ffff5f63458) at GetProp.c:69
#7  0x00000037ee40f267 in xkl_engine_get_window_title (engine=<optimized out>, w=<optimized out>) at xklavier_util.c:68
#8  0x00000037ee40f406 in xkl_get_debug_window_title (engine=0x7ffff5f631f0, engine@entry=0x1abc7a0, win=1, win@entry=63100285) at xklavier_util.c:136
#9  0x00000037ee40ddf5 in xkl_engine_get_toplevel_window_state (engine=engine@entry=0x1abc7a0, toplevel_win=63100285, state_out=state_out@entry=0x7ffff5f63520) at xklavier_toplevel.c:325
#10 0x00000037ee408efc in xkl_engine_process_state_modification (engine=engine@entry=0x1abc7a0, change_type=change_type@entry=INDICATORS_CHANGED, grp=grp@entry=0, inds=2, set_inds=set_inds@entry=1) at xklavier_evt.c:637
#11 0x00000037ee40c8ad in xkl_xkb_process_x_event (engine=0x1abc7a0, xev=0x7ffff5f637a0) at xklavier_evt_xkb.c:127
#12 0x00000037ee4088c4 in xkl_engine_filter_events (engine=0x1abc7a0, xev=0x7ffff5f637a0) at xklavier_evt.c:37
#13 0x00007f9a858bcac3 in msd_keyboard_xkb_evt_filter (xev=<optimized out>, event=<optimized out>) at msd-keyboard-xkb.c:522
#14 0x00000037efe5c7b5 in gdk_event_apply_filters (filters=0x1a804c0 = {...}, event=<optimized out>, xevent=<optimized out>) at gdkevents-x11.c:356
#15 gdk_event_translate (display=display@entry=0x19b8020, event=event@entry=0x1ac9ee0, xevent=xevent@entry=0x7ffff5f637a0, return_exposes=return_exposes@entry=0) at gdkevents-x11.c:946
#16 0x00000037efe5e968 in _gdk_events_queue (display=display@entry=0x19b8020) at gdkevents-x11.c:2336
#17 0x00000037efe5ea0e in gdk_event_dispatch (source=source@entry=0x19bf160, callback=<optimized out>, user_data=<optimized out>) at gdkevents-x11.c:2397
#18 0x00000037e1c47dc6 in g_main_dispatch (context=0x19bf250) at gmain.c:3054
#19 g_main_context_dispatch (context=context@entry=0x19bf250) at gmain.c:3630
#20 0x00000037e1c48118 in g_main_context_iterate (context=0x19bf250, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3701
#21 0x00000037e1c4851a in g_main_loop_run (loop=0x1ab9920) at gmain.c:3895
#22 0x00000037f5b3ed47 in IA__gtk_main () at gtkmain.c:1257
#23 0x0000000000403bb9 in main (argc=1, argv=0x7ffff5f63b88) at main.c:52



I think it calls this function in cycle

static GdkFilterReturn
msd_keyboard_xkb_evt_filter (GdkXEvent * xev, GdkEvent * event)
{
	XEvent *xevent = (XEvent *) xev;
	xkl_engine_filter_events (xkl_engine, xevent); // <------
	return GDK_FILTER_CONTINUE;
}

Comment 1 glad08 2014-10-27 14:18:47 UTC
could it be some event racing may be?

Comment 2 glad08 2014-10-27 14:28:50 UTC
here is core dump, obtained via kill -SIGSEGV
https://bugzilla.redhat.com/show_bug.cgi?id=1157703

Comment 3 Fedora End Of Life 2015-01-09 21:32:17 UTC
This message is a notice that Fedora 19 is now at end of life. Fedora 
has stopped maintaining and issuing updates for Fedora 19. It is 
Fedora's policy to close all bug reports from releases that are no 
longer maintained. Approximately 4 (four) weeks from now this bug will
be closed as EOL if it remains open with a Fedora 'version' of '19'.

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 19 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 4 Fedora End Of Life 2015-02-18 11:52:00 UTC
Fedora 19 changed to end-of-life (EOL) status on 2015-01-06. Fedora 19 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.

Comment 5 Wolfgang Ulbrich 2015-03-11 11:32:54 UTC
There is a upstream pull request which looks like to fix your issue.
https://github.com/mate-desktop/mate-settings-daemon/pull/99
I wanna do a scratch build for testing, which fedora version are you currently using?
And is the issue still exists on your machine?

Comment 6 Fedora Update System 2015-03-11 15:37:10 UTC
mate-settings-daemon-1.8.3-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/mate-settings-daemon-1.8.3-1.fc20

Comment 7 Fedora Update System 2015-03-11 15:37:15 UTC
mate-settings-daemon-1.8.3-1.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/mate-settings-daemon-1.8.3-1.fc21

Comment 8 Fedora Update System 2015-03-13 16:56:41 UTC
Package mate-settings-daemon-1.8.3-1.fc21:
* should fix your issue,
* was pushed to the Fedora 21 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing mate-settings-daemon-1.8.3-1.fc21'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2015-3609/mate-settings-daemon-1.8.3-1.fc21
then log in and leave karma (feedback).

Comment 9 Fedora Update System 2015-03-22 04:34:08 UTC
mate-settings-daemon-1.8.3-1.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 10 Fedora Update System 2015-03-22 04:41:07 UTC
mate-settings-daemon-1.8.3-1.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 11 glad08 2015-05-01 17:26:14 UTC
>There is a upstream pull request which looks like to fix your issue.
>https://github.com/mate-desktop/mate-settings-daemon/pull/99
Thanks!

>I wanna do a scratch build for testing, which fedora version are you currently >using?
>And is the issue still exists on your machine?
I recently upgraded to Fedora 21, still not observed this bug.


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