Bug#721298: boinc-client: Idle Detection Not Working Computer Always In Use

Preston Maness aspensmonster at riseup.net
Mon Dec 14 13:28:46 UTC 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Whelp, it looks like the X-based idle detection --with the
XScreenSaver API?-- was removed in this commit:

==================

bfae1032e5c1ac73f2d8d92f222293d8383a6cee

https://github.com/BOINC/boinc/commit/bfae1032e5c1ac73f2d8d92f222293d838
3a6cee

==================

The commit message indicates that /dev/input/* devices are the
intended way to determine idle time on Linux now. However, it seems
that X-based inputs don't update the /dev/input/* devices. Or at
least, anything the X server is doing isn't updating the atime on
those files, which is what is being utilized to determine if the
system is idle or not. Working in a terminal updates the atime on the
relevant files --correctly triggering BOINC to suspend computation--
but just typing this email, or wiggling the mouse around the desktop
area, doesn't.

Granted, this code was present earlier, so I don't know if simply
re-introducing it will solve anything. But that's my first plan of
attack. I've also looked into other varying methods of idle detection.
The XSS API is the most common, but there is a more convoluted
(asynchronous?) Xsync option that might also be possible too. I don't
know too much about X, but I'll be giving a few different
possibilities a go in the coming days.

Cheers,
Preston

On 12/11/2015 09:44 AM, Preston Maness wrote:
> Howdy howdy,
> 
> I think I deserve a slow clap for such a slow response/addresssing 
> of a bug. Indeed my response is so slow that I've since changed 
> email address and GPG keys.
> 
> Needless to say, when running BOINC 7.6.12 from testing, some 
> progress seems to have been made on idle detection. If I open a 
> terminal and begin working in it, *sometimes*, the idle detection 
> kicks in. I can't tell whether it's working as intended or not. 
> Regardless, keeping boinc running non-stop doesn't pose any issues 
> thanks to the scheduling. I can happily use my machine for just 
> about anything and not even notice that BOINC is running.
> 
> I'm presently unemployed, so really, I have nothing but time and no
> real excuses not to give this bug another go and see if I can just
> determine once and for all if things are fixed/how to fix them :P
> 
> It looks like the BOINC project has moved from their own git 
> infrastructure onto github:
> 
> https://boinc.berkeley.edu/trac/wiki/SourceCodeGit
> 
> https://github.com/BOINC/boinc
> 
> Looking at the git log for hostinfo_unix.cpp (a la "git log 
> client/hostinfo_unix.cpp" from the project root), it looks like 
> there was a commit that included changes from Gianfranco:
> 
> ==================
> 
> commit 0811886cbb1d282376e2dfd017ab39e34cd7d8ea Author: David 
> Anderson <davea at ssl.berkeley.edu> Date:   Mon Feb 3 12:46:43 2014 
> -0800
> 
> client: fix for idle detection on Linux (from Gianfranco)
> 
> 
> ==================
> 
> and some later refactoring of the unix HOSTINFO code:
> 
> ==================
> 
> commit cda6bd334bf036349f471a0c4eb7c25de8098262 Author: David 
> Anderson <davea at ssl.berkeley.edu> Date:   Tue Nov 25 14:46:58 2014 
> -0800
> 
> client: get static host info items only on startup
> 
> On Android, the way we were getting os_version (Linux version + 
> Android version) didn't work because get_host_info() was getting 
> called before every scheduler RPC, and it overwrote the Android 
> version part.
> 
> Solution: divide host info into dynamic (disk usage, network info)
>  and static (everything else). Computer the static part only at 
> startup.
> 
> Also factor the Unix HOST_INFO code into multiple functions.
> 
> ==================
> 
> As it stands, BOINC's Event Log does show periodic "Suspending 
> computation - computer is in use" messages. Show I'm operating on 
> the assumption that something is working.
> 
> Cheers, Preston Maness
> 

-----BEGIN PGP SIGNATURE-----

iQIcBAEBCgAGBQJWbsPqAAoJEFpzcfOOuHp0f4oP/i1doHmk9oEtCfOB/k1T9KXJ
CQSDQiaBK1K1btEKi7jN7vhff6nXZx0km/Cr5g2rDjb9fQwJ15Myxk9cRQq69+Nu
13U6DyZd4ZWj+TsoaaSH2kQKW4E7jtTUTz0PFapC6Q2x7YgngMnIC1ubsW3vQpkk
pdOkOpxu2W1X/JhTIlMnFiARRLYIPzSkh7W0/IXHwTROxNkFpZTWhhv3hgkv20A8
ymfGe5URIIZlbbppan04iTwWFrdBNB2WZOWKM1U018KqHc5umfReWjXYdmYN6K4D
gVKFfoM+cSyKFty82bhzZ69aRvjwNQb86lmTXGKAl0fz5nLy2WA43kyV0V9KSnWE
/byLgHfzrO8crS7tsd8V0e8O3gsXvPNGsvKuDJtnfLYyOKF8q6vopARblfeGglTS
NSi3iGfrAXwbr6cLeHYZHb46XVUOk7IdjrsjP69NtKBeqKJxvcqCtcZjK3rk2ljU
9+IDBIkmC/fnVGBUcCWul7wrTklrXPMmYIS4UksBmcgQ2FSCq75QgOfQ05kL9Wai
QbWLDbCtfKLSoh+6uxc7iRIuvQNrtdvwKzJCoZdlMxsD0hiOGW3WOypg8caORWE2
2McfFmJBvXgFbQU0610UTBolyv9P0IRaMgdNQW+gM2V7HuYmUA2Nsmof/E7F/9vO
Kp3tGDm6su9HG/ihtOlE
=VPvD
-----END PGP SIGNATURE-----



More information about the pkg-boinc-devel mailing list