2013년 12월 11일 수요일

[SOLVED] Rescuetime Client for Linux 2.8.5.870+ -- Problems in Archlinux

I've been a happy user of Rescuetime on linux for about 18 months. The local client that tracks the applications used and sites visited works on Windows, Mac OS and various linux distros.

In fact, I have had no problems with Rescuetime running on my Debian systems. But starting on Nov. 28, 2013 Rescuetime stopped working on one of my Archlinux installs with Openbox window manager and tint2 taskbar manager installed.

The problem began when I upgraded from RT linux client 2.8.1.865 to the current beta (which was 2.8.5.890 at the time) [The Arch User Repository (AUR) has packages for both Rescuetime stable and beta].

I soon noticed that time tracking of active windows was no longer working properly. The client only recorded the first 2 or 3 minutes of usage in an active window, discarding the rest. Oddly enough, time in non-active windows is recorded just fine -- i.e. if I launch a Virtualbox instance of Windows, the RT client records the time spent in the VM quite reliably. Also if I launch a full-screen game through WINE or a program on another Xsession using xinit, the RT client keeps recording time in the last window that was active -- i.e. if the active window was Libreoffice Writer but I then launch a WINE app from the Openbox launch menu, the RT linux client will still think I'm in Libreoffice Writer while I'm playing my WINE game.

Anyways, I immediately downgraded to the current stable version 2.8.5.870 but it exhibited the same behavior as 2.8.5.890~896. Unfortunately I couldn't downgrade to 2.8.1.865 (which was the last version that worked for me) because the oldest version available on the Rescuetime site was now 2.8.5.870.

Between the upgrade from 2.8.1.865 to 2.8.5.890 and the downgrade to 2.8.5.870, none of the packages on my system changed. Only after I upgraded to a newer beta 2.8.5.896 and noticed that the RT client still wasn't working did I update my system out of desperation, with upgrades to 7 packages as well as the linux kernel (from 3.12.1-1 -> 3.12.1-3) according to /var/log/pacman.log

This failed to make any difference, however. Finally on Dec. 5th, RescueTime tech support gave me a download link to 2.8.1.865 which had worked for me prior to Nov. 28, 2013. With great anticipation, I installed the old version and ... nothing. The old version which used to work no longer did!

Isolating the package(s) that might be causing this behavior is a big headache, because between 2013.11.29 ~ 2013.12.05 I upgraded 23 packages on my Archlinux install according to /var/log/pacman.log

None of the dependencies of rescuetime (qt4, xorg-xprop, xprintidle) were affected, however. The 30 packages (not including the kernel) upgraded were:

cifs-utils (mounting Samba shares in Linux)
gtk3 (GUI toolkit)
mplayer (media player)
python2-distutils-extra
python2-dnspython
tevent (event system based on the talloc memory management library)
youtube-dl (download Youtube videos from CLI)
imagemagick
calibre (ebook reader)
python (Python3 for Arch)
python2
serf (asynchronous HTTP client library)
subversion (VCS)
syslinux (bootloaders)
mesa (opensource OpenGL implementation)
mesa-libgl
intel-dri
lib32-dbus
lib32-mesa
lib32-mesa-libgl
lib32-intel-dri
libtasn1 (ASN.1 library used in GNUTLS)
svga-dri
virtualbox-host-modules
virtualbox
virtualbox-guest-dkms
virtualbox-guest-iso
virtualbox-guest-modules
virtualbox-guest-utils
xterm


I don't think any of the packages above should have anything to do with the RT client, and I don't want to roll back all these packages just to check. As a control, I tested 2.8.5.870 (stable) and 2.8.5.896 (beta) on a Debian machine running linux kernel 3.9 and the RT client worked just fine, correctly logging time spent in all applications, be they local or browser-based.

Note that the Debian system I tested RescueTime on doesn't use systemd and dbus but rather sysvinit for init scripts and managing services.

Has anyone else out there in Internet-land had a similar issue with the Rescuetime client in Archlinux?

UPDATE Jan 2014: Rescuetime support tracked down the bug -- the problem was related to the variable url_from_plugin_delay in the configuration file rescuetimed.cfg

In beta 2.8.5.896, this variable was changed from milliseconds to seconds, causing the RT linux client to check active windows only intermittently instead of every few seconds. When I downgraded to .870 it seems this variable overwritten by .896 caused similar behavior to occur in .870 stable.

The issue is totally fixed in the latest RT linux beta 2.8.5.964. RescueTime was even so kind as to give me a subscription credit of 8 weeks due to the bug in 896! RescueTime is one of those tools that has absolutely changed my life and I strongly recommend everyone to give it a try!