** Description changed: + [ Impact ] + + * The indicator-keyboard-service process suffers from a memory leak + that quickly consumes the entire available memory of the system until + the process is killed by the OOM daemon. Since indicator-keyboard is a + session service it will be restarted and the process repeats, making the + system unusable. On the system where I tested this indicator-keyboard- + service started with ~2MB and quickly rose to consume all 64GB of + memory. The session then appears to hang for about a minute until the + OOM daemon kills the process. + + [ Test Plan ] + + * Prerequisites: + - A running gnome-session-flashback XOrg session + + * Ensure you have multiple input sources configured, for example: + $ dconf read /org/gnome/desktop/input-sources/sources + [('xkb', 'us'), ('ibus', 'libpinyin')] + + * Start indicator-keyboard-service via: + $ indicator-keyboard-service --use-gtk + + * Watch the memory consumption to raise quickly and consume all + available memory until it is being killed by the OOM daemon. + + + [ Regression Potential ] + + * The regression potential is very low since indicator-keyboard-service + is already suffering from a memory leak that is causing it to be killed + by the OOM daemon every few minutes. It is unlikely that this change + will make the problem worse. + + * User base of indicator-keyboard is low. The main users of this + package are Unity and Gnome Flashback and both are not default desktops + on Ubuntu. Gnome Shell does not depend on indicator-keyboard. So a + potential regression would only affect users of these desktops. + + * The source code changes include the removal of a redundant + initialization of IBus in two functions of indicator-keyboard-service + and instead move the initialization to the constructor of the indicator + keyboard service. No new functionality is added and the existing + behavior of the application is not changes except for consolidation of + the redundant IBus initialization calls. + + * On GNOME Flashback another workaround exists in case there is an + unexpected regression due to this chaneg. In the unlikely event that the + change has a side effect and prevents the indicator from working, users + an switch to the newer "System Indicators" applet and remove the + indicator-keyboard package completely. + + NEWS + + The fix is available in version 0.0.0+19.10.20240924-0ubuntu1 + + === Original Description === + Description: The system was previously on 22.04, then upgraded to 23.10 to the current daily 24.04. System will freeze up a few minutes after startup (with no apparent related crashes). After various trial and error, the possible cause is isolated to indicator-keyboard when running gnome- session-flashback (freeze does not happen anymore with flashback interface, after indicator-keyboard package is removed). Not sure why this is not happening with vanilla gdm3. Also, the freeze was first observed after the upgrade to 23.10. **logs below taken from `sudo journalctl --since "3 hours ago" | grep indicator`** Feb 29 16:49:03 machine kernel: oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=user.slice,mems_allowed=0,global_oom,task_memcg=/user.slice/user-1000.slice/user@1000.service/app.slice/indicator-keyboard.service,task=indicator-keybo,pid=5810,uid=1000 Feb 29 16:49:03 machine kernel: Out of memory: Killed process 5810 (indicator-keybo) total-vm:66620172kB, anon-rss:64296784kB, file-rss:768kB, shmem-rss:0kB, UID:1000 pgtables:129412kB oom_score_adj:200 Feb 29 16:49:03 machine kernel: oom_reaper: reaped process 5810 (indicator-keybo), now anon-rss:688kB, file-rss:768kB, shmem-rss:0kB Feb 29 16:48:56 machine systemd[5304]: indicator-keyboard.service: A process of this unit has been killed by the OOM killer. Feb 29 16:48:57 machine systemd[5304]: indicator-keyboard.service: Main process exited, code=killed, status=9/KILL Feb 29 16:48:57 machine systemd[5304]: indicator-keyboard.service: Failed with result 'oom-kill'. Feb 29 16:48:57 machine systemd[5304]: indicator-keyboard.service: Consumed 1min 11.913s CPU time. Feb 29 16:48:58 machine systemd[5304]: indicator-keyboard.service: Scheduled restart job, restart counter is at 1. Feb 29 16:48:58 machine systemd[5304]: Started indicator-keyboard.service - Indicator Keyboard Backend. Feb 29 17:00:40 machine dbus-daemon[1111]: [system] Activating via systemd: service name='org.freedesktop.login1' unit='dbus-org.freedesktop.login1.service' requested by ':1.9' (uid=0 pid=1588 comm="apt remove indicator-keyboard" label="unconfined")
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2055388 Title: suspected memory leak with indicator-keyboard (causing gnome-session- flashback to freeze after startup) To manage notifications about this bug go to: https://bugs.launchpad.net/indicator-keyboard/+bug/2055388/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs