Solution 1:

finger segfaulting is really not a good sign. I'd at least make cursory checks for break in; at least run chkrootkit and debsums for example. Second, have you tried clearing out utmp entirely by rm or echo -n > utmp? It may be corrupted in some subtle manner.

Lastly, have you done anything with your PAM setup in /etc/pam.d? That could easily cause logouts not to be recorded.