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

Preston Maness aspensmonster at riseup.net
Wed Dec 16 17:40:06 UTC 2015


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

Howdy howdy,

I have a pull request with upstream now:

https://github.com/BOINC/boinc/pull/1453

And I've attached a patch against upstream's master as of this morning
(HEAD 1ca5f51cc7c993799f27d99bfa871d57567a30e5).

I'm not an autotools whiz, so I don't know if the changes I made to
configure.ac --mostly pulled from the commit that originally deleted
them, but I added a small flag when building the client so that the
original commit's checks are actually run-- are ideal, or if the
changes made are suitable for an automatic detection of new
dependencies. I'm starting to learn about package management a la
git-buildpackage, but I've got a ways to go.

Cheers,
Preston

P.S. - It looks like there's another bug from January 2015 that's
essentially a dupe of this one. Hopefully both can be closed soon :D

On 12/16/2015 01:16 AM, Gianfranco Costamagna wrote:
> Hi if you can give me a patch for the source code and submit a pull
> request upstream (github), I can find with git log the configure.ac
> patches, add the Debian dependencies again and reupload on
> unstable. Thanks G.
> 
> Sent from Yahoo Mail on Android
> 
> On Wed, 16 Dec, 2015 at 0:34, Preston
> Maness<aspensmonster at riseup.net> wrote:   -----BEGIN PGP SIGNED
> MESSAGE----- Hash: SHA512
> 
> An update:
> 
> Re-incorporating the XSS idle-detection code works as expected. I 
> scrapped the DPMS code and only kept the XSS code. Inclusion of
> 
> #include <X11/extensions/scrnsaver.h>
> 
> in "client/hostinfo_unix.cpp" ultimately pulls in a conflicting 
> definition of "Always" between X-related code and boinc's 
> "lib/prefs.h", fixed by renaming boinc's declaration. After this,
> the boinc-client and boincmgr compile and idle detection works as
> expected (keyboard and mouse inputs are appropriately detected, and
> computation is suspended).
> 
> Working on cleaning up the changes, hopefully getting upstream to 
> reinstate the XSS code, and determining how best to get the fix
> into the Debian packages. From what I can tell, an additional
> dependency on "libxss1" would be necessary.
> 
> Cheers, Preston
> 
> On 12/14/2015 07:28 AM, Preston Maness wrote:
>> 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/bfae1032e5c1ac73f2d8d92f222293d
8
>
>> 
38
>> 
>> 
> 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-----
> 
> iQIcBAEBCgAGBQJWcKN0AAoJEFpzcfOOuHp0vY8QAM21NXoSO0S73rsL5Ci5WEZL 
> D2RbjefCRb+ojSGCFRtRG8fnLVS88P9Kyj5EfwvQPzQhHIsv2aZCfvl3JkPz49A0 
> khjaKr7DxgM2DtCxkTbq6HNeYtyr2YQounyZdhEOn/vYp4SmeOVxgC/2j31WYY95 
> 3XsMZ6Pe1SpCmhab5jyRBlVUKVTUT2Ekbq7buvMHkEvLSryM3ax32K3PXC8gNbFL 
> YuVvPYkiQZUlpFrPRqjjoJTBO/MziTYSWw1U9dIXurD0jB8sBitWH7JLkSAmyAjh 
> dusx6rKFSR1XmPv0P+4D9qaKsy4lES4erxp2FUcPaX5L+D5fw7qAkTrgH+Vmbz+E 
> fCtgTiZz91KqpImlYyMjuzKPqpfMl2+O4qBoHTrXoasvFR0z8toP/gLIMibEb+OA 
> aD4MZO5IOQ+Orc1qPO+G9p6agDVmQePGk6S7jED3u/iklUI+865xYjbkAyiq4iwp 
> xVplNgaufJHD0dzRghB3IqSGI1EqEBXKQsBuJeShf2b8FdreVBwmgEWhL2uekhMv 
> 187UBr6j9ERgjWSbY6QLbXb6y4+qjpINmMfAMkMjplDyB8ozUiYf6QvRjMZdBqUG 
> dYDq8Bt26M4u1MlMUbYQbZB1A9jn1pHC0CF13l2up8GmeRQzj+1emPKpK18H/5bl 
> BfkujLktRP+FinR3iDV8 =AW/A -----END PGP SIGNATURE-----
> 

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

iQIcBAEBCgAGBQJWcaHhAAoJEFpzcfOOuHp0oa0P/jRjDvtMDXgugKRv6MQobhGh
WgYERXamT/wW+mfFQeAIkvVHccEA/9Uy/YvspbhV/lIMDZ5i80CqzpfP8tchA6Lu
LwcuL59FWmotKP5AwyCW0nfH6zQnP11LrNZBmaRnghfLIcG2/Wh8i6PzKgf06K5K
GlsRcTVCKpeZHWqoiKVKdS3g0sUn3J3y7wQ0u+KHIBauTk+mO3/NHElONMb6G7WV
R9VNvS8I+ggKuXBILucWHyKHJ4n3bybG0JtvZiSilHZuV6rw3RQ5CyDE/AsxQWum
WhYsxAY0xMF5DR2oHLhc7Vr+qU78sLMlWk4zL0IW6LAjEh9u9hsl6YIvLjU/tw0b
quUiDjdH41NwUdrV41qwFJPE7R775NMlvy5XalcJV30Ha6dllK0xJs0cMArmjFE2
gmSCNd+zjOZhaiHOcW1c0mYap1wvQWotBX/5qUfHMYnNMOPdtQwyoruQx65R03sb
WHRQmzR843Lw01A/agwTmuNT3+ydlYr83XR5LcUz+qhvu61GhTV47XykRyQ03VxF
zaf0ODMdqTrj2uhQZQSKLNjpDgy7IRaXdRhZCTuET5jQjkfMcaNaK2rzv75uUeeG
JWieNa11TIYJEVWG4zCRUKclPivTSUK+6CNY0fPaE0qxH9+gyaCG+2A2lTEzrpOj
LH3yZUaNsC7LY4WZX3eV
=57gn
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: reinstate_xss_idle_detection_linux.patch
Type: text/x-patch
Size: 6337 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-boinc-devel/attachments/20151216/e27730cf/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: reinstate_xss_idle_detection_linux.patch.sig
Type: application/pgp-signature
Size: 543 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-boinc-devel/attachments/20151216/e27730cf/attachment.sig>


More information about the pkg-boinc-devel mailing list