Big wtmp file causes infinite loop
Submitted by Paul Menzel
Assigned to Matthias Clasen @mclasen
Link to original bug (#104701)
Description
With AccountsService 0.6.45 having a really large file /var/log/wtmp
causes /usr/libexec/accounts-daemon
to get caught in a loop.
$ ls -lh /var/log/wtmp
-rw-rw-r-- 1 root utmp 536M Jan 19 12:02 /var/log/wtmp
Here is the backtrace of GDM (3.4.2).
2018-01-19T10:30:24+01:00 sigstop gdm-simple-slave[739]: WARNING: Could not run helper: Failed to execute child process “/usr/lib/gdm/ck-get-x11-display-device” (No such file or directory)
2018-01-19T10:30:24+01:00 sigstop automount[560]: attempting to mount entry /scratch/local
2018-01-19T10:30:24+01:00 sigstop automount[560]: mounted /scratch/local
2018-01-19T10:30:24+01:00 sigstop su[763]: pam_unix(su:session): session closed for user root
2018-01-19T10:30:24+01:00 sigstop gdm-simple-slave[739]: WARNING: Could not run helper: Failed to execute child process “/usr/lib/gdm/ck-get-x11-display-device” (No such file or directory)
2018-01-19T10:30:49+01:00 sigstop gdm-welcome][793]: AccountsService-WARNING: Failed to create accounts proxy: Error calling StartServiceByName for org.freedesktop.Accounts: Timeout was reached
2018-01-19T10:30:49+01:00 sigstop gdm[805]: ******************* START **********************************
2018-01-19T10:30:51+01:00 sigstop gdm[805]: [New LWP 796]
2018-01-19T10:30:51+01:00 sigstop gdm[805]: [New LWP 795]
2018-01-19T10:30:51+01:00 sigstop gdm[805]: [Thread debugging using libthread_db enabled]
2018-01-19T10:30:51+01:00 sigstop gdm[805]: Using host libthread_db library "/lib/libthread_db.so.1".
2018-01-19T10:30:52+01:00 sigstop gdm[805]: 0x00007fe5c72883fb in __waitpid (pid=805, stat_loc=stat_loc@entry=0x7fff46bde900, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
2018-01-19T10:30:52+01:00 sigstop gdm[805]: #0 0x00007fe5c72883fb in __waitpid (pid=805, stat_loc=stat_loc@entry=0x7fff46bde900, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
2018-01-19T10:30:52+01:00 sigstop gdm[805]: /source/common/gdm-signal-handler.c:196
2018-01-19T10:30:52+01:00 sigstop gdm[805]: #2 0x000000000040e326 in gdm_signal_handler_backtrace () at /scratch/local/bee-root/gdm/gdm-3.4.1-14/source/common/gdm-signal-handler.c:223
2018-01-19T10:30:52+01:00 sigstop gdm[805]: ch/local/bee-root/gdm/gdm-3.4.1-14/source/common/gdm-signal-handler.c:251
2018-01-19T10:30:52+01:00 sigstop gdm[805]: #4 0x00007fe5c7288a50 in <signal handler called> () at /lib/libpthread.so.0
2018-01-19T10:30:52+01:00 sigstop gdm[805]: #5 0x00007fe5c61c12f4 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
2018-01-19T10:30:52+01:00 sigstop gdm[805]: 007fe5c61c275a in __GI_abort () at abort.c:89
2018-01-19T10:30:52+01:00 sigstop gdm[805]: rce/glib/gtestutils.c:2436
2018-01-19T10:30:52+01:00 sigstop gdm[805]: ct-user-manager.c", line=line@entry=2566, func=func@entry=0x7fe5c655d078 <__func__.27831> "load_users", expr=expr@entry=0x7fe5c655bc00 "manager->priv->accounts_proxy != NULL") at /dev/shm/bee-root/glib2/glib2-2.54.2-0/source/glib/gtestutils.c:2459
2018-01-19T10:30:52+01:00 sigstop gdm[805]: 0007fe5c6545486 in load_idle (manager=0x0) at /dev/shm/bee-root/accountsservice/accountsservice-0.6.45-0/source/src/libaccountsservice/act-user-manager.c:2566
2018-01-19T10:30:52+01:00 sigstop gdm[805]: ce/accountsservice-0.6.45-0/source/src/libaccountsservice/act-user-manager.c:2617
2018-01-19T10:30:52+01:00 sigstop gdm[805]: #11 0x00007fe5c67b932a in g_main_context_dispatch (context=0x62a3f0) at /dev/shm/bee-root/glib2/glib2-2.54.2-0/source/glib/gmain.c:3148
2018-01-19T10:30:52+01:00 sigstop gdm[805]: ext_dispatch (context=context@entry=0x62a3f0) at /dev/shm/bee-root/glib2/glib2-2.54.2-0/source/glib/gmain.c:3813
2018-01-19T10:30:52+01:00 sigstop gdm[805]: dev/shm/bee-root/glib2/glib2-2.54.2-0/source/glib/gmain.c:3886
2018-01-19T10:30:52+01:00 sigstop gdm[805]: #14 0x00007fe5c67b99d2 in g_main_loop_run (loop=0x62b030) at /dev/shm/bee-root/glib2/glib2-2.54.2-0/source/glib/gmain.c:4082
2018-01-19T10:30:52+01:00 sigstop gdm[805]: ratch/local/bee-root/gdm/gdm-3.4.1-14/source/daemon/session-worker-main.c:200
2018-01-19T10:30:52+01:00 sigstop gdm[805]:
2018-01-19T10:30:52+01:00 sigstop gdm[805]: Thread 3 (Thread 0x7fe5c41fb700 (LWP 795)):
2018-01-19T10:30:52+01:00 sigstop gdm[805]: #0 0x00007fe5c626d11d in poll () at ../sysdeps/unix/syscall-template.S:84
2018-01-19T10:30:52+01:00 sigstop gdm[805]: 61f420) at /dev/shm/bee-root/glib2/glib2-2.54.2-0/source/glib/gmain.c:4187
2018-01-19T10:30:52+01:00 sigstop gdm[805]: ret = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: errsv = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: poll_func = 0x7fe5c67c9460 <g_poll>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: max_priority = 2147483647
2018-01-19T10:30:52+01:00 sigstop gdm[805]: timeout = -1
2018-01-19T10:30:52+01:00 sigstop gdm[805]: = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: nfds = 1
2018-01-19T10:30:52+01:00 sigstop gdm[805]: allocated_nfds = 1
2018-01-19T10:30:52+01:00 sigstop gdm[805]: fds = 0x7fe5bc0008e0
2018-01-19T10:30:52+01:00 sigstop gdm[805]: bee-root/glib2/glib2-2.54.2-0/source/glib/gmain.c:3881
2018-01-19T10:30:52+01:00 sigstop gdm[805]: max_priority = 2147483647
2018-01-19T10:30:52+01:00 sigstop gdm[805]: timeout = -1
2018-01-19T10:30:52+01:00 sigstop gdm[805]: some_ready = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: nfds = 1
2018-01-19T10:30:52+01:00 sigstop gdm[805]: allocated_nfds = 1
2018-01-19T10:30:52+01:00 sigstop gdm[805]: fds = 0x7fe5bc0008e0
2018-01-19T10:30:52+01:00 sigstop gdm[805]: ntext_iteration (context=0x61f420, may_block=may_block@entry=1) at /dev/shm/bee-root/glib2/glib2-2.54.2-0/source/glib/gmain.c:3947
2018-01-19T10:30:52+01:00 sigstop gdm[805]: retval = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: 2/glib2-2.54.2-0/source/glib/gmain.c:5742
2018-01-19T10:30:52+01:00 sigstop gdm[805]: #5 0x00007fe5c67e0b75 in g_thread_proxy (data=0x631800) at /dev/shm/bee-root/glib2/glib2-2.54.2-0/source/glib/gthread.c:784
2018-01-19T10:30:52+01:00 sigstop gdm[805]: thread = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: 700) at pthread_create.c:456
2018-01-19T10:30:52+01:00 sigstop gdm[805]: __res = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: pd = 0x7fe5c41fb700
2018-01-19T10:30:52+01:00 sigstop gdm[805]: now = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: 488, 140624814651136, -2564723383587994725, -2564725378371058789}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
2018-01-19T10:30:52+01:00 sigstop gdm[805]: not_first_call = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: >
2018-01-19T10:30:52+01:00 sigstop gdm[805]: sp = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: freesize = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: __PRETTY_FUNCTION__ = "start_thread"
2018-01-19T10:30:52+01:00 sigstop gdm[805]: #7 0x00007fe5c627623f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
2018-01-19T10:30:52+01:00 sigstop gdm[805]:
2018-01-19T10:30:52+01:00 sigstop gdm[805]: Thread 2 (Thread 0x7fe5c39fa700 (LWP 796)):
2018-01-19T10:30:52+01:00 sigstop gdm[805]: 26d11d in poll () at ../sysdeps/unix/syscall-template.S:84
2018-01-19T10:30:52+01:00 sigstop gdm[805]: /gmain.c:4187
2018-01-19T10:30:52+01:00 sigstop gdm[805]: ret = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: errsv = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: poll_func = 0x7fe5c67c9460 <g_poll>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: max_priority = 2147483647
2018-01-19T10:30:52+01:00 sigstop gdm[805]: timeout = -1
2018-01-19T10:30:52+01:00 sigstop gdm[805]: some_ready = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: nfds = 2
2018-01-19T10:30:52+01:00 sigstop gdm[805]:
2018-01-19T10:30:52+01:00 sigstop gdm[805]: fds = 0x7fe5b40010c0
2018-01-19T10:30:52+01:00 sigstop gdm[805]: #2 0x00007fe5c67b9644 in g_main_context_iterate (context=0x63f510, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /dev/shm/bee-root/glib2/glib2-2.54.2-0/source/glib/gmain.c:3881
2018-01-19T10:30:52+01:00 sigstop gdm[805]: = 2147483647
2018-01-19T10:30:52+01:00 sigstop gdm[805]: timeout = -1
2018-01-19T10:30:52+01:00 sigstop gdm[805]: some_ready = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: nfds = 2
2018-01-19T10:30:52+01:00 sigstop gdm[805]: allocated_nfds = 2
2018-01-19T10:30:52+01:00 sigstop gdm[805]: fds = 0x7fe5b40010c0
2018-01-19T10:30:52+01:00 sigstop gdm[805]: b/gmain.c:4082
2018-01-19T10:30:52+01:00 sigstop gdm[805]: __func__ = "g_main_loop_run"
2018-01-19T10:30:52+01:00 sigstop gdm[805]: #4 0x00007fe5c6da06e6 in gdbus_shared_thread_func (user_data=0x641350) at /dev/shm/bee-root/glib2/glib2-2.54.2-0/source/gio/gdbusprivate.c:275
2018-01-19T10:30:52+01:00 sigstop gdm[805]: data = 0x641350
2018-01-19T10:30:52+01:00 sigstop gdm[805]: proxy (data=0x6318a0) at /dev/shm/bee-root/glib2/glib2-2.54.2-0/source/glib/gthread.c:784
2018-01-19T10:30:52+01:00 sigstop gdm[805]: thread = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: #6 0x00007fe5c727e444 in start_thread (arg=0x7fe5c39fa700) at pthread_create.c:456
2018-01-19T10:30:52+01:00 sigstop gdm[805]: __res = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: fe5c39fa700
2018-01-19T10:30:52+01:00 sigstop gdm[805]: now = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
2018-01-19T10:30:52+01:00 sigstop gdm[805]: not_first_call = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: pagesize_m1 = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: sp = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: freesize = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: = "start_thread"
2018-01-19T10:30:52+01:00 sigstop gdm[805]: #7 0x00007fe5c627623f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
2018-01-19T10:30:52+01:00 sigstop gdm[805]:
2018-01-19T10:30:52+01:00 sigstop gdm[805]: Thread 1 (Thread 0x7fe5c8438bc0 (LWP 793)):
2018-01-19T10:30:52+01:00 sigstop gdm[805]: ) at ../sysdeps/unix/sysv/linux/waitpid.c:29
2018-01-19T10:30:52+01:00 sigstop gdm[805]: resultvar = 18446744073709551104
2018-01-19T10:30:52+01:00 sigstop gdm[805]: sc_cancel_oldtype = 0
2018-01-19T10:30:52+01:00 sigstop gdm[805]: 6
2018-01-19T10:30:52+01:00 sigstop gdm[805]: estatus = -2147483618
2018-01-19T10:30:52+01:00 sigstop gdm[805]: success = 0
2018-01-19T10:30:52+01:00 sigstop gdm[805]: pid = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: , st_atim = {tv_sec = 1516353217, tv_nsec = 0}, st_mtim = {tv_sec = 1508240675, tv_nsec = 0}, st_ctim = {tv_sec = 1508461235, tv_nsec = 0}, __glibc_reserved = {0, 0, 0}}
2018-01-19T10:30:52+01:00 sigstop gdm[805]: fallback = 1
2018-01-19T10:30:52+01:00 sigstop gdm[805]: ratch/local/bee-root/gdm/gdm-3.4.1-14/source/common/gdm-signal-handler.c:223
2018-01-19T10:30:52+01:00 sigstop gdm[805]: atim = {tv_sec = 1516353217, tv_nsec = 0}, st_mtim = {tv_sec = 1508240675, tv_nsec = 0}, st_ctim = {tv_sec = 1508461235, tv_nsec = 0}, __glibc_reserved = {0, 0, 0}}
2018-01-19T10:30:52+01:00 sigstop gdm[805]: fallback = 1
2018-01-19T10:30:52+01:00 sigstop gdm[805]: scratch/local/bee-root/gdm/gdm-3.4.1-14/source/common/gdm-signal-handler.c:251
2018-01-19T10:30:52+01:00 sigstop gdm[805]: in_fatal = 1
2018-01-19T10:30:52+01:00 sigstop gdm[805]: signo = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: in_fatal = 1
2018-01-19T10:30:52+01:00 sigstop gdm[805]: signo_byte = 6 '\006'
2018-01-19T10:30:52+01:00 sigstop gdm[805]: so.0
2018-01-19T10:30:52+01:00 sigstop gdm[805]: #5 0x00007fe5c61c12f4 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
2018-01-19T10:30:52+01:00 sigstop gdm[805]: 47785520, 140624884139248, 140624851528448, 140624848253392, 0, 80}}
2018-01-19T10:30:52+01:00 sigstop gdm[805]: pid = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: tid = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: #6 0x00007fe5c61c275a in __GI_abort () at abort.c:89
2018-01-19T10:30:52+01:00 sigstop gdm[805]: save_stage = 2
2018-01-19T10:30:52+01:00 sigstop gdm[805]: , 13, 6582320}}, sa_flags = -962054048, sa_restorer = 0x6465d0}
2018-01-19T10:30:52+01:00 sigstop gdm[805]: sigs = {__val = {32, 0 <repeats 15 times>}}
2018-01-19T10:30:52+01:00 sigstop gdm[805]: ccounts_proxy != NULL)") at /dev/shm/bee-root/glib2/glib2-2.54.2-0/source/glib/gtestutils.c:2436
2018-01-19T10:30:52+01:00 sigstop gdm[805]: lstr = "2566\000\177\000\000\000\274U\306\345\177\000\000X\311\200\306\345\177\000\000\000\000\000\000\000\000\000"
2018-01-19T10:30:52+01:00 sigstop gdm[805]: 177"
2018-01-19T10:30:52+01:00 sigstop gdm[805]: ne=line@entry=2566, func=func@entry=0x7fe5c655d078 <__func__.27831> "load_users", expr=expr@entry=0x7fe5c655bc00 "manager->priv->accounts_proxy != NULL") at /dev/shm/bee-root/glib2/glib2-2.54.2-0/source/glib/gtestutils.c:2459
2018-01-19T10:30:52+01:00 sigstop gdm[805]: ger->priv->accounts_proxy != NULL)"
2018-01-19T10:30:52+01:00 sigstop gdm[805]: #9 0x00007fe5c6545486 in load_idle (manager=0x0) at /dev/shm/bee-root/accountsservice/accountsservice-0.6.45-0/source/src/libaccountsservice/act-user-manager.c:2566
2018-01-19T10:30:52+01:00 sigstop gdm[805]: ed out>) at /dev/shm/bee-root/accountsservice/accountsservice-0.6.45-0/source/src/libaccountsservice/act-user-manager.c:2617
2018-01-19T10:30:52+01:00 sigstop gdm[805]: :3148
2018-01-19T10:30:52+01:00 sigstop gdm[805]: dispatch = 0x7fe5c67b5ee0 <g_idle_dispatch>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: prev_source = 0x0
2018-01-19T10:30:52+01:00 sigstop gdm[805]: was_in_call = 0
2018-01-19T10:30:52+01:00 sigstop gdm[805]: user_data = 0x62d1d0
2018-01-19T10:30:52+01:00 sigstop gdm[805]: callback = 0x7fe5c65453e0 <load_idle>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: cb_funcs = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: cb_data = 0x63f840
2018-01-19T10:30:52+01:00 sigstop gdm[805]: ed_destroy = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: source = 0x6468b0
2018-01-19T10:30:52+01:00 sigstop gdm[805]: current = 0x63eec0
2018-01-19T10:30:52+01:00 sigstop gdm[805]: i = 0
2018-01-19T10:30:52+01:00 sigstop gdm[805]: #12 0x00007fe5c67b932a in g_main_context_dispatch (context=context@entry=0x62a3f0) at /dev/shm/bee-root/glib2/glib2-2.54.2-0/source/glib/gmain.c:3813
2018-01-19T10:30:52+01:00 sigstop gdm[805]: 07fe5c67b96b8 in g_main_context_iterate (context=0x62a3f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /dev/shm/bee-root/glib2/glib2-2.54.2-0/source/glib/gmain.c:3886
2018-01-19T10:30:52+01:00 sigstop gdm[805]: max_priority = 200
2018-01-19T10:30:52+01:00 sigstop gdm[805]: timeout = 0
2018-01-19T10:30:52+01:00 sigstop gdm[805]: _ready = 1
2018-01-19T10:30:52+01:00 sigstop gdm[805]: nfds = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: allocated_nfds = 4
2018-01-19T10:30:52+01:00 sigstop gdm[805]: fds = 0x62a730
2018-01-19T10:30:52+01:00 sigstop gdm[805]: #14 0x00007fe5c67b99d2 in g_main_loop_run (loop=0x62b030) at /dev/shm/bee-root/glib2/glib2-2.54.2-0/source/glib/gmain.c:4082
2018-01-19T10:30:52+01:00 sigstop gdm[805]: __func__ = "g_main_loop_run"
2018-01-19T10:30:52+01:00 sigstop gdm[805]: 15 0x0000000000405897 in main (argc=1, argv=0x7fff46bdf548) at /scratch/local/bee-root/gdm/gdm-3.4.1-14/source/daemon/session-worker-main.c:200
2018-01-19T10:30:52+01:00 sigstop gdm[805]: main_loop = 0x62b030
2018-01-19T10:30:52+01:00 sigstop gdm[805]: context = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: worker = 0x62d100 [GdmSessionWorker]
2018-01-19T10:30:52+01:00 sigstop gdm[805]: signal_handler = 0x631ba0 [GdmSignalHandler]
2018-01-19T10:30:52+01:00 sigstop gdm[805]: address = <optimized out>
2018-01-19T10:30:52+01:00 sigstop gdm[805]: entries = {{long_name = 0x0, short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x0, description = 0x0, arg_description = 0x0}}
2018-01-19T10:30:52+01:00 sigstop gdm[805]: ion is active.
2018-01-19T10:30:52+01:00 sigstop gdm[805]:
2018-01-19T10:30:52+01:00 sigstop gdm[805]: Inferior 1 [process 793] will be detached.
2018-01-19T10:30:52+01:00 sigstop gdm[805]:
2018-01-19T10:30:52+01:00 sigstop gdm[805]: Quit anyway? (y or n) [answered Y; input not from terminal]
2018-01-19T10:30:52+01:00 sigstop gdm[805]: ******************* END **********************************
2018-01-19T10:30:52+01:00 sigstop gdm-simple-slave[739]: WARNING: Freeing conversation 'gdm-welcome' with active job
2018-01-19T10:30:52+01:00 sigstop gdm-simple-slave[739]: GLib-GObject-WARNING: invalid unclassed pointer in cast to 'GdmSessionDirect'