-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Ugh. There's no clean way to do this that I can find, especially given BOINC's custom handling of stdout and stderr. The closest solution I've found that actually starts to be (thread, context, etc) safe is her e:
https://stackoverflow.com/questions/5419356/redirect-stdout-stderr-to-a- string (The response from Sir Digby Chicken Caesar) And it feels like complete overkill for what's going on. Other hacky solutions exist --freopen() et.al.-- but I don't know if it'll step on the toes of other parts of the boinc-client. I can just do a poor man's timer with a decrement counter, only retrying failing DISPLAYs every $number of minutes, which would ease up on the amount of entries at least. I'm going to keep mulling this over in case I can find out a better way to handle this. Cheers, Preston Maness On 02/04/2016 04:53 PM, Preston Maness wrote: > Howdy howdy, > > I suspect this is related to XOpenDisplay() calls failing during > idle detection (due to the Xserver being inaccessible for some > reason). It shouldn't be harming performance of the boinc-client in > any way, but I'll look into suppressing the log spam when the > relevant calls fail. I had already pushed all the debug log info to > an optional, non-default flag, but it looks like the XSS library > might have a hard-coded printf somewhere. > > The "idle_detection_debug" log flag can be put in cc_config.xml > file: > > <cc_config> <log_flags> <task>1</task> <file_xfer>1</file_xfer> > <sched_ops>1</sched_ops> <coproc_debug>1</coproc_debug> > <idle_detection_debug>1</idle_detection_debug> </log_flags> > </cc_config> > > See > > https://github.com/BOINC/boinc/pull/1453 > > for the relevant pull request where I reinstated and improved the > XSS-based idle detection. > > Cheers, Preston Maness > > On 02/04/2016 01:00 PM, Aaron M. Ucko wrote: >> Package: boinc-client Version: 7.6.22+dfsg-3 Severity: minor > >> Since upgrading to boinc-client 7.6.22+dfsg-3 last night (when >> it hit testing), I've observed it to log "No protocol specified" >> once a second, except when suspended, per the log excerpt below. >> As far as I can tell, it otherwise continues to work fine, but >> these messages are getting to be a nuisance. > >> Could you please take a look? > >> Thanks! > >> Feb 4 09:54:09 ghostwheel boinc[13404]: No protocol specified >> Feb 4 09:54:10 ghostwheel boinc[13404]: No protocol specified Feb >> 4 09:54:11 ghostwheel boinc[13404]: No protocol specified Feb 4 >> 09:54:12 ghostwheel boinc[13404]: 04-Feb-2016 09:54:12 [---] >> Suspending computation - computer is in use Feb 4 10:04:17 >> ghostwheel boinc[13404]: No protocol specified Feb 4 10:04:17 >> ghostwheel boinc[13404]: 04-Feb-2016 10:04:17 [---] Resuming >> computation Feb 4 10:04:18 ghostwheel boinc[13404]: No protocol >> specified Feb 4 10:04:19 ghostwheel boinc[13404]: No protocol >> specified Feb 4 10:04:20 ghostwheel boinc[13404]: No protocol >> specified > >> -- Package-specific info: -- Contents of >> /etc/default/boinc-client: # This file is >> /etc/default/boinc-client, it is a configuration file for the # >> /etc/init.d/boinc-client init script. > >> # Set this to 1 to enable and to 0 to disable the init script. >> ENABLED="1" > >> # Set this to 1 to enable advanced scheduling of the BOINC core >> client and # all its sub-processes (reduces the impact of BOINC >> on the system's # performance). SCHEDULE="1" > >> # The BOINC core client will be started with the permissions of >> this user. BOINC_USER="boinc" > >> # This is the data directory of the BOINC core client. >> BOINC_DIR="/var/lib/boinc-client" > >> # This is the location of the BOINC core client, that the init >> script uses. # If you do not want to use the client program >> provided by the boinc-client # package, you can specify here an >> alternative client program. #BOINC_CLIENT="/usr/local/bin/boinc" >> BOINC_CLIENT="/usr/bin/boinc" > >> # Here you can specify additional options to pass to the BOINC >> core client. # Type 'boinc --help' or 'man boinc' for a full >> summary of allowed options. #BOINC_OPTS="--allow_remote_gui_rpc" >> BOINC_OPTS="" > >> # Scheduling options > >> # Set SCHEDULE="0" if prefering to run with upstream default >> priority # settings. > >> # Nice levels. When systems are truly busy, e.g. because of too >> many active # scientific applications started by the boinc >> client, there is a chance for # the boinc client not to be >> granted sufficient opportunity to check for # scientific >> applications to be alive and make the (wrong) decision to # >> terminate the scientific app. This is particularly an issue with >> many # apps started in parallel on modern multi-core systems and >> extra overheads # for the download and uploads of files with the >> project servers. Another # concern is the latency for scientific >> applications to communicate with the # graphics card, which >> should be low. All such values should be set and # controled from >> within the BOINC client. The Debian init script also sets # extra >> constrains via chrt on real time performance and via ionice on # >> I/O performance, which is beyond the regular BOINC client. It >> then was # too easy to use that code to also constrain minimal >> nice levels. We still # think about how to best distinguish GPU >> applications from regular apps. BOINC_NICE_CLIENT=10 >> BOINC_NICE_APP_DEFAULT=19 #BOINC_NICE_APP_GPU=5 # not yet >> used > >> # ionice classes. See manpage of ionice (1) in the util-linux >> package. BOINC_IONICE_CLIENT=3 # idle >> #BOINC_IONICE_APP_DEFAULT=3 # idle, not yet used >> #BOINC_IONICE_APP_GPU=2 # best effort, not yet used > > >> -- System Information: Debian Release: stretch/sid APT prefers >> testing APT policy: (500, 'testing'), (500, 'stable'), (300, >> 'unstable') Architecture: amd64 (x86_64) Foreign Architectures: >> i386 > >> Kernel: Linux 4.3.0-1-amd64 (SMP w/4 CPU cores) Locale: >> LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: >> /bin/sh linked to /bin/dash Init: systemd (via >> /run/systemd/system) > >> Versions of packages boinc-client depends on: ii adduser >> 3.113+nmu3 ii ca-certificates 20160104 ii cdebconf >> [debconf-2.0] 0.201 ii debconf [debconf-2.0] 1.5.58 ii >> init-system-helpers 1.24 ii libboinc7 7.6.22+dfsg-3 ii >> libc6 2.21-7 ii libcurl3 7.47.0-1 ii libgcc1 >> 1:5.3.1-7 ii libstdc++6 5.3.1-7 ii libx11-6 >> 2:1.6.3-1 ii libxss1 1:1.2.2-1 pn python:any >> <none> ii zlib1g 1:1.2.8.dfsg-2+b1 > >> boinc-client recommends no packages. > >> Versions of packages boinc-client suggests: pn >> boinc-client-fglrx <none> pn boinc-client-nvidia-cuda <none> pn >> boinc-client-opencl <none> ii boinc-manager >> 7.6.22+dfsg-3 ii x11-xserver-utils 7.7+5 > >> -- Configuration Files: >> /etc/boinc-client/global_prefs_override.xml changed: >> <global_preferences> <run_on_batteries>0</run_on_batteries> >> <run_if_user_active>0</run_if_user_active> >> <idle_time_to_run>10.000000</idle_time_to_run> >> <start_hour>0.000000</start_hour> <end_hour>0.000000</end_hour> >> <net_start_hour>0.000000</net_start_hour> >> <net_end_hour>0.000000</net_end_hour> >> <disk_max_used_gb>10.000000</disk_max_used_gb> >> <cpu_usage_limit>60.000000</cpu_usage_limit> >> </global_preferences> > >> /etc/boinc-client/gui_rpc_auth.cfg [Errno 13] Permission denied: >> u'/etc/boinc-client/gui_rpc_auth.cfg' > >> -- debconf information: boinc-client/remove_boinc_dir: true > > > -----BEGIN PGP SIGNATURE----- iQIcBAEBCgAGBQJWtBanAAoJEFpzcfOOuHp09mMQALOealOpAcQJufTDkDw7aIOx wuuFqm7BhuR8iDEV7bpaCzZR91FbDj7bSOeZUEhjn7pJTmtgnU6hOH0r0X77N1rZ EBameQFDZ4QHhUPq2CEUZiNkfWjXlFsqhx7RRTql71vvMKKKZH3FWRXfN7LxEvGZ c4A/yJHTGkMCex4P011WuciC7xPNpaPQLLtLwpFeZg+M3MW84k4l6brfA7iFfYFl xldHl3x7K+oGJw7Px3Zrn2JZeQO49NccfsguJilaHODkg8jHQKKovWi/y87blZyP sd8TCL3tnxrcB6Y9hiaJriwx/6gcsrtuVkCsvAymsjYdepds6sv3v0NPqm8sXWAd 2URCAcSabtDP2bZfPLLYRavhlH8qUUoWX3WiNMNHiI4WCJ77yo7WVCCa/ZRaiosl 5Bhut+KFGIoKQc6U5awkajAK626NutUGqwj8UrTz9s7TcIQ/hKozeGMB0gcnubrQ v75SHyOtoBCKwHUrede1X7+y02d+mIlYwbcdi5zvqSgsY3QsHGSf39Bj5qUMo/lr DwImgXHUf10SWw3elGk9VRh+1qMmehXzlrfdLFEcH2HuKP2U2LSmPK74Sh6gdntL k0F4o/lINTtkk5yyQNNihHzg6ZKNdk4ub9pn5AbzuSZ2k6+fZq2ik6ZX3U+RcbdP lQ4pX5bGvWWRbJJI2D2n =wY8n -----END PGP SIGNATURE-----