Bug 31050 - gpk-update-icon: Maximum number of clients reached
Summary: gpk-update-icon: Maximum number of clients reached
Status: RESOLVED FIXED
Alias: None
Product: PackageKit
Classification: Unclassified
Component: core (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) FreeBSD
: medium critical
Assignee: Richard Hughes
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-22 07:02 UTC by kenorb
Modified: 2012-01-06 01:50 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
bug report of gpk-update-icon (7.86 KB, text/plain)
2010-10-25 03:43 UTC, kenorb
Details

Description kenorb 2010-10-22 07:02:00 UTC
I've installed GNOME 2.30 on my FreeBSD 8.1-STABLE
After fresh start and few minutes, I can't use my system properly, because of those issues when trying to run any X application:

> chrome
Maximum number of clients reached
(chrome:55704): Gtk-WARNING **: cannot open display: :0.0
# with sudo as well, doesn't matter

> xlsclients 
Maximum number of clients reachedxlsclients:  unable to open display ":0.0"

> gnome-about
Maximum number of clients reached/usr/local/lib/python2.6/site-packages/gtk-2.0/gtk/__init__.py:57: GtkWarning: could not open display
  warnings.warn(str(e), _gtk.Warning)

> firefox3 
Maximum number of clients reachedMaximum number of clients reachedError: cannot open display: :0.0

Problem is that gpk-update-icon using too many sockets and it prevent to run any other application.


> sudo lsof -R | grep linc | head
lsof: WARNING: compiled for FreeBSD release 8.1-RELEASE; this is 8.1-STABLE.
gnome-ses  1792  1758     kenorb   14u    unix 0xffffff0004ce0000                0t0          /var/tmp/orbit-kenorb/linc-700-0-e9c56834d5c6
gnome-ses  1792  1758     kenorb   15u    unix 0xffffff0036af5d48                0t0          /var/tmp/orbit-kenorb/linc-700-0-e9c56834d5c6
gnome-ses  1792  1758     kenorb   14u    unix 0xffffff0004ce0000                0t0          /var/tmp/orbit-kenorb/linc-700-0-e9c56834d5c6
gnome-ses  1792  1758     kenorb   15u    unix 0xffffff0036af5d48                0t0          /var/tmp/orbit-kenorb/linc-700-0-e9c56834d5c6
seahorse-  1810  1792     kenorb   16u    unix 0xffffff00365a77f8                0t0          /var/tmp/orbit-kenorb/linc-712-0-eac0ea84d5f2

$ ps `lsof -R | grep linc | awk '{print $2}' | xargs`
...
 2443  ??  S      0:01.31 /usr/local/bin/gpk-update-icon
 2444  ??  S      0:01.35 /usr/local/bin/gpk-update-icon
 2445  ??  S      0:01.34 /usr/local/bin/gpk-update-icon
 2448  ??  S      0:01.34 /usr/local/bin/gpk-update-icon
 2452  ??  S      0:01.32 /usr/local/bin/gpk-update-icon
 2454  ??  S      0:01.31 /usr/local/bin/gpk-update-icon
 2458  ??  S      0:01.36 /usr/local/bin/gpk-update-icon
 2466  ??  S      0:01.33 /usr/local/bin/gpk-update-icon
 2659  ??  S      0:01.96 /usr/local/bin/gpk-update-icon

> netstat -naf unix | grep X11 | wc -l
     232

Where hardcoded limit of Xorg is 256
./include/misc.h:#define MAXCLIENTS 256

Issues originally reported here:
http://forums.freebsd.org/showthread.php?p=106510
http://forums.freebsd.org/showthread.php?p=106526

Really have no idea what this package is for, but workaround on my FreeBSD was to uninstall this package completely and kill it.

> cd /usr/ports/*/gnome-packagekit
> more pkg-descr
gnome-packagekit is the name of the collection of graphical
tools for PackageKit to be used in the GNOME desktop.
make deinstall clean
===>  Deinstalling for ports-mgmt/gnome-packagekit
===>   Deinstalling gnome-packagekit-2.30.3
pkg_delete: package 'gnome-packagekit-2.30.3' is required by these other packages
and may not be deinstalled (but I'll delete it anyway):
gnome2-2.30.2
$ sudo killall gpk-update-icon

Then I'm able to use normally my Desktop.

My version (pkg_info -W `which gpk-update-icon`):
/usr/local/bin/gpk-update-icon was installed by package gnome-packagekit-2.30.3
Comment 1 Richard Hughes 2010-10-22 07:12:14 UTC
(In reply to comment #0)
> Problem is that gpk-update-icon using too many sockets and it prevent to run
> any other application.

GPK doesn't explicitly connect to X at all. It does use GTK however, and it's possible it's triggering a resource leakage in GTK somehow.

Richard.
Comment 2 kenorb 2010-10-22 07:29:42 UTC
(In reply to comment #1)
> (In reply to comment #0)
> > Problem is that gpk-update-icon using too many sockets and it prevent to run
> > any other application.
> 
> GPK doesn't explicitly connect to X at all. It does use GTK however, and it's
> possible it's triggering a resource leakage in GTK somehow.
> 
> Richard.

I installed it again, run only once.

> ps wuax | grep update-icon | wc -l
     210

My gnome panel start to flashing with vertical lines.

After few seconds my socket number reach the limit:

> netstat -naAL -f unix | wc -l
     242

> netstat -naAL -f unix | head
unix  0/0/10         /var/tmp/orbit-kenorb/linc-21a6-0-5e23f56176f54
unix  0/0/10         /var/tmp/orbit-kenorb/linc-2266-0-4ba6b3e471a32
unix  0/0/10         /var/tmp/orbit-kenorb/linc-21a4-0-7f77720570709
unix  0/0/10         /var/tmp/orbit-kenorb/linc-21f3-0-7a5eb71f6fb0a
unix  0/0/10         /var/tmp/orbit-kenorb/linc-2260-0-5257906e6e900
unix  0/0/10         /var/tmp/orbit-kenorb/linc-225c-0-74318b576e160
unix  0/0/10         /var/tmp/orbit-kenorb/linc-2201-0-759e7bbb6db47
unix  0/0/10         /var/tmp/orbit-kenorb/linc-223e-0-752e9dc56d738
unix  0/0/10         /var/tmp/orbit-kenorb/linc-225d-0-5141d2eb6cc26
unix  0/0/10         /var/tmp/orbit-kenorb/linc-2225-0-169c640d65594

> lsof -R /var/tmp/orbit-kenorb/linc* | wc -l
     692

COMMAND     PID PPID   USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
gnome-ses  1792 1758 kenorb   14u  unix 0xffffff0004ce0000      0t0      /var/tmp/orbit-kenorb/linc-700-0-e9c56834d5c6
gnome-ses - used by 4 times


gconfd-2   1815    1 kenorb   13u  unix 0xffffff0036372000      0t0      /var/tmp/orbit-kenorb/linc-717-0-6c1c95ad78d0
gconfd-2 - used by 223 times


gpk-updat  8267    1 kenorb   12u  unix 0xffffff013c5a0000      0t0      /var/tmp/orbit-kenorb/linc-204b-0-2dbba8cc1849f
gpk-update - used by 416 times

If doesn't use any sockets, how it's possible that it using above resource 416 times?

> ps wuax | grep gpk-updat | head
kenorb      8267  0.0  0.4 102312 15644   0  S     3:16PM   0:00.40 /usr/local/bin/gpk-update-icon
kenorb      8275  0.0  0.4 102312 15636   0  S     3:16PM   0:00.40 /usr/local/bin/gpk-update-icon
kenorb      8277  0.0  0.4 102312 15708   0  S     3:16PM   0:00.41 /usr/local/bin/gpk-update-icon
Comment 3 Richard Hughes 2010-10-22 08:02:21 UTC
(In reply to comment #2)
> If doesn't use any sockets, how it's possible that it using above resource 416
> times?

No idea. It works on Linux, and GNOME 2.30 isn't really supported anymore. If you find the issue, I'll gladly apply a patch, but I don't really want to be debugging ORBit at this time. Sorry.
Comment 4 kenorb 2010-10-22 09:37:12 UTC
You suggest that it's the error in orbit library?
Can you point me the right direction? What's the orbit and how's connection with it to gpk-update-icon? Which source file could be responsible for it? Or calling it?
Comment 5 kenorb 2010-10-22 09:47:18 UTC
If GNOME 2.30 isn't supported, what's supported then? I couldn't find GNOME 3 for FreeBSD.
Comment 6 Richard Hughes 2010-10-22 11:08:28 UTC
(In reply to comment #5)
> If GNOME 2.30 isn't supported, what's supported then? I couldn't find GNOME 3
> for FreeBSD.

GNOME 2.32

Richard
Comment 7 kenorb 2010-10-25 03:24:15 UTC
This could help:

#3  0x000000000040d338 in gpk_check_update_restart_schedule_cb (client=0x805a24830, cupdate=0x805a20840) at gpk-check-update.c:1159
	ret = 8
	error = (GError *) 0x0
	file = (const gchar *) 0x805b78490 "\002"
	__PRETTY_FUNCTION__ = "gpk_check_update_restart_schedule_cb"
	__FUNCTION__ = "gpk_check_update_restart_schedule_cb"
#4  0x0000000803e658e4 in g_closure_invoke () from /usr/local/lib/libgobject-2.0.so.0
No symbol table info available.
#5  0x0000000803e77a01 in g_signal_parse_name () from /usr/local/lib/libgobject-2.0.so.0
No symbol table info available.
#6  0x0000000803e798b0 in g_signal_emit_valist () from /usr/local/lib/libgobject-2.0.so.0
No symbol table info available.
#7  0x0000000803e79c52 in g_signal_emit () from /usr/local/lib/libgobject-2.0.so.0
No symbol table info available.
#8  0x0000000800a47f68 in pk_control_get_tid_async () from /usr/local/lib/libpackagekit-glib2.so.14
No symbol table info available.
#9  0x00000008041d8f2e in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.0
No symbol table info available.
#10 0x00000008041dc230 in g_main_context_check () from /usr/local/lib/libglib-2.0.so.0
No symbol table info available.
#11 0x00000008041dc5dd in g_main_loop_run () from /usr/local/lib/libglib-2.0.so.0
No symbol table info available.
#12 0x0000000801c54693 in gtk_main () from /usr/local/lib/libgtk-x11-2.0.so.0
Comment 8 kenorb 2010-10-25 03:43:38 UTC
Created attachment 39759 [details]
bug report of gpk-update-icon

bug report of gpk-update-icon in attachment
Comment 9 Jean-François Fortin Tam 2012-01-05 11:07:35 UTC
The icon is gone now.
Comment 10 kenorb 2012-01-06 01:50:09 UTC
Great stuff! It took more than 2 years to get rid of it. But unfortunately I'm a Mac user now, and I don't have that kind of problems now.
Comment 11 kenorb 2012-01-06 01:50:39 UTC
Sorry, I meant fortunately:)


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.