Bug#812835: boinc-client: leaks hundreds of x11 connections

Preston Maness aspensmonster at riseup.net
Wed Jan 27 05:46:42 UTC 2016


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

Howdy all,

I've got a new PR open for upstream:

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

And I've attached the patch in the meantime. The patch just closes the
connections that are opened to the Xservers. I had erroneously thought
that dropping out of scope of the function in hostinfo_unix.cpp would
close the connection automatically. With this patch, I don't see the
boinc client pilling up X11 connections like it was before.

Cheers,
Preston

On 01/26/2016 11:10 PM, Preston Maness wrote:
> Howdy,
> 
> I'm almost positive this is a bug introduced by my pull request to
> add XSS-based idle detection back into the boinc client:
> 
> https://github.com/BOINC/boinc/pull/1453
> 
> I am able to replicate the issue (seeing the number of socket 
> connections grow for the boinc process). Sorry about that. Looks
> like I didn't have a corresponding XCloseDisplay() to go with the 
> XOpenDisplay(). I'm going to re-open the PR with what I hope is a
> fix to this after testing it on my end.
> 
> Cheers, Preston
> 
> On 01/26/2016 07:54 PM, Dan Merillat wrote:
>> Package: boinc-client Version: 7.6.22+dfsg-1exp3 Severity: 
>> important
> 
>> Dear Maintainer,
> 
>> boinc-client caused "maximum number of clients reached" errors
>> on my system. xrestop showed 248 clients. Ran 'service
>> boinc-client stop' and the client count dropped to 28.
> 
>> Multiple reboots had the same problem - after a few minutes the 
>> client list would start filling up with <unknown> clients.
> 
>> I had installed boinc a long time ago, intending to use it but 
>> never set it up - no projects or work.  The problems began only 
>> after a reboot on Monday, but the last change was january 3:
> 
>> 2016-01-03 00:04:52 upgrade boinc-client:amd64 7.0.15+dfsg-1 
>> 7.6.22+dfsg-1
> 
>> The only explanation is that there was no reboot after that 
>> upgrade, so perhaps the client either did not start or remained 
>> running the old 7.0.15 version.
> 
>> I verified the boinc was the cause by purging boinc-client and 
>> re-installing from experimental - after a few minutes it leaked 
>> again:
> 
>> harik at dan:~$ sudo ls -l /proc/`pidof boinc`/fd total 0 lr-x------
>> 1 boinc boinc 64 Jan 26 18:50 0 -> /dev/null lrwx------ 1 boinc
>> boinc 64 Jan 26 18:50 1 -> socket:[88000] lrwx------ 1 boinc
>> boinc 64 Jan 26 18:50 10 -> socket:[127916] lrwx------ 1 boinc
>> boinc 64 Jan 26 18:50 100 -> socket:[129791] lrwx------ 1 boinc
>> boinc 64 Jan 26 18:50 101 -> socket:[129792] lrwx------ 1 boinc
>> boinc 64 Jan 26 18:50 102 -> socket:[129828] lrwx------ 1 boinc
>> boinc 64 Jan 26 18:50 103 -> socket:[129836] lrwx------ 1 boinc
>> boinc 64 Jan 26 18:50 104 -> socket:[130925] lrwx------ 1 boinc
>> boinc 64 Jan 26 20:42 105 -> socket:[131250] lrwx------ 1 boinc
>> boinc 64 Jan 26 20:42 106 -> socket:[131251] lrwx------ 1 boinc
>> boinc 64 Jan 26 18:50 107 -> socket:[131252] lrwx------ 1 boinc
>> boinc 64 Jan 26 18:50 108 -> socket:[131288] lrwx------ 1 boinc
>> boinc 64 Jan 26 18:50 109 -> socket:[131291] ... harik at dan:~$
>> sudo ls -l /proc/`pidof boinc`/fd | grep socket | wc -l 212
> 
>> Killing boinc dropped my client count from 242 to 33, and I
>> could open new windows again.
> 
>> -- System Information: Debian Release: stretch/sid APT prefers 
>> unstable APT policy: (500, 'unstable'), (500, 'testing'), (1, 
>> 'experimental') Architecture: amd64 (x86_64) Foreign
>> Architectures: i386, armel
> 
>> Kernel: Linux 4.2.0-dan (SMP w/4 CPU cores; PREEMPT) 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  debconf 
>> [debconf-2.0]  1.5.58 ii  init-system-helpers    1.27 ii
>> libboinc7 7.6.22+dfsg-1exp3 ii  libc6                  2.21-7 ii
>> libcurl3 7.46.0-1+b1 ii  libgcc1                1:6-20160122-1
>> ii libstdc++6             6-20160122-1 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-1exp3 ii x11-xserver-utils         7.7+5
> 
>> -- Configuration Files: /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-----

iQIcBAEBCgAGBQJWqFmwAAoJEFpzcfOOuHp0Zm8P/jjPT7xYllLqpFr90DuxvCJZ
FHpfp10C2rbO752iqmAuYhbsWqIVo4y3AxKVKH5bOS+0OxAIeoIPm7BLDFwGeJOT
opkZEPHho7gpcWbE3EXT3FAW9MCWbbOQGn3aJPR3y9VQdsUtiNJHtcG1L8vcnX0Q
eEksLLRaGspV/HKg9UVwpEC7eIK02Bid/1GZHPgmroWucn8ix/mwl1V/xt5lcAq8
gnVlfIhmmQ1UTxI88UTeOOSVFNPQPuJ2WIRWjwZ7+GKv8HjHGuN6oaoT9sOFcn5Y
Vpi6G78e2DymQQE6QL+Td64fthp/Mixx2aHRrnluLW8hFeiG9tKcqbfoW2RKGjVj
Z8utZxd8AYMMiWJ42msRV+hus6KbFaToIG1ONH4SJ9kdKJVKXcvlRyasUf+0KBtJ
eXgQyygVLwlIRD/BJ0sCthQ6mvYlCfHqy+k5JLR1yHZ3NmzDblL0ajR7N23x6hDd
Qn0TjkKc94vFoTXx7M/iHQOlXTJxFuBXtQnCP/ASyCqXYs5JbIJLZ/zRZwT2tK79
JVJbfgWUTx8nf4QcFVwTaeAF3Qb/+rZcYiosLb71xvRrLzcDeLtBQXY8ShlP8CH2
4cCikTsW5vtAlzCTjG/Cxod2SELTBKoxDiUahzS4iROxZQxZfVUScFfnCN53tjsB
sWW3iyy+q0BRyBwp//ae
=4Rp2
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-XSS-Idle-Detection-Bugfix-XCloseDisplay.patch
Type: text/x-patch
Size: 1613 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-boinc-devel/attachments/20160126/2160b553/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-XSS-Idle-Detection-Bugfix-XCloseDisplay.patch.sig
Type: application/pgp-signature
Size: 543 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-boinc-devel/attachments/20160126/2160b553/attachment-0002.sig>


More information about the pkg-boinc-devel mailing list