OpenSolaris

Printable Version Enter a New Search
Bug ID 6333226
Synopsis Xscreensaver(JDS) hung while using smartcard if it's idled overnight.
State 10-Fix Delivered (Fix available in build)
Category:Subcategory gnome:screensaver
Keywords chicago | jds | smartcard | xscreensaver
Responsible Engineer Mahmood Ali
Reported Against s10u1_fcs , gnome2.0_fcs_02
Duplicate Of
Introduced In s10
Commit to Fix snv_29
Fixed In snv_29
Release Fixed solaris_nevada(snv_29) , solaris_10u3(s10u3_01) (Bug ID:2132537)
Related Bugs 6361062 , 4778836 , 6434595
Submit Date 5-October-2005
Last Update Date 24-January-2007
Description
[Non-confidential information moved from Comments section]

The system got a problem to login after logout and idle overnight. The screen got hang. I login remotely into the system and trussed the xscreensaver process, it was in an infinite loop doing brk() calls, each returning ENOMEM. vmstat showed only 84MB. The sizes the xscreensaver was 900MB (RSZ from ps output).

I restated it. This is the vmstat output from the system while the xscreensaver running. Noted the freemem is decreasing consistanly: 

# vmstat -S 5
 kthr      memory            page            disk          faults      cpu
 r b w   swap  free  si  so pi po fr de sr s0 s2 s4 s1   in   sy   cs us sy id
 0 0 0 6850480 3374904 0  0 32  0  0  0 10  4  0  0  0  509 9538 1305 10  7 83
 0 0 0 6519672 3025792 0  0  0  0  0  0  0  0  0  0  0  498 67393 2724 72 28 0
 0 0 0 6518832 3024952 0  0  0  0  0  0  0  0  0  0  0  495 66829 2734 72 28 0
 0 0 0 6515488 3021608 0  0  0  0  0  0  0 11  0  0  0  508 67380 2748 72 28 0
 0 0 0 6515488 3021608 0  0  0  0  0  0  0  0  0  0  0  498 67339 2731 73 27 0
 0 0 0 6512136 3018256 0  0  0  0  0  0  0  0  0  0  0  496 67360 2734 72 28 0
 0 0 0 6511296 3017416 0  0  0  0  0  0  0  0  0  0  0  498 67660 2725 73 27 0
 0 0 0 6508784 3014912 0  0  0  0  0  0  0  0  0  0  0  493 67317 2679 72 28 0
 0 0 0 6507120 3013248 0  0  0  0  0  0  0  3  0  0  0  500 67685 2739 73 27 0
 0 0 0 6506280 3012408 0  0  0  0  0  0  0  0  0  0  0  497 67534 2736 72 28 0
 0 0 0 6502936 3009064 0  0  0  0  0  0  0  0  0  0  0  497 67307 2726 73 27 0
 0 0 0 6502936 3009064 0  0  0  0  0  0  0  0  0  0  0  499 67369 2732 72 28 0
 0 0 0 6499592 3005720 0  0  0  0  0  0  0  0  0  0  0  497 67437 2728 72 28 0
 0 0 0 6498752 3004880 0  0  0  0  0  0  0  0  0  0  0  497 67115 2717 72 28 0
 0 0 0 6497072 3003200 0  0  0  0  0  0  0  0  0  0  0  499 66978 2767 72 28 0
 0 0 0 6494568 3000696 0  0  0  0  0  0  0  0  0  0  0  495 67448 2726 73 27 0
 0 0 0 6494568 3000696 0  0  0  0  0  0  0  0  0  0  0  498 67787 2726 73 27 0
 0 0 0 6490384 2996512 0  0  0  0  0  0  0  0  0  0  0  496 67441 2715 72 28 0
 kthr      memory            page            disk          faults      cpu
 r b w   swap  free  si  so pi po fr de sr s0 s2 s4 s1   in   sy   cs us sy id
 0 0 0 6490384 2996512 0  0  0  0  0  0  0  0  0  0  0  493 66533 2731 72 28 0
 0 0 0 6487872 2994000 0  0  0  0  0  0  0  0  0  0  0  498 67019 2729 72 28 0
 0 0 0 6486200 2992328 0  0  0  0  0  0  0  0  0  0  0  498 67509 2735 72 28 0
 0 0 0 6485360 2991488 0  0  0  0  0  0  0  0  0  0  0  497 67712 2725 73 27 0
 1 0 0 6482024 2988152 0  0  0  0  0  0  0  0  0  0  0  496 67640 2733 72 28 0
 0 0 0 6482024 2988152 0  0  0  0  0  0  0  0  0  0  0  496 66611 2751 72 28 0
 0 0 0 6478672 2984800 0  0  0  0  0  0  0  0  0  0  0  497 66998 2735 72 28 0
 0 0 0 6477832 2983960 0  0  0  0  0  0  0  0  0  0  0  495 67458 2712 72 28 0
 0 0 0 6476160 2982288 0  0  0  0  0  0  0  0  0  0  0  497 67480 2727 72 28 0
 0 0 0 6473648 2979776 0  0  0  0  0  0  0  0  0  0  0  499 67847 2735 73 27 0

Here are messages from the console:
Sep 30 04:48:06 dt88-222 xscreensaver[800]: clnt_dg_create: out of memory
Sep 30 04:48:06 dt88-222 xscreensaver[800]: xdrrec_create: out of memory

I reproduced the problem (kmem_flag=0xf) and checked for memory leaks. The results said "101 buffers, 4752 bytes" This is not explain the out of memory condition.

# mdb -k *2
Loading modules: [ unix krtld genunix specfs dtrace ufs sd ip sctp usba random fctl nca audiosup logindmux ptm cpc sppp crypto fcip nfs ipc ]
> ::findleaks
CACHE             LEAKED           BUFCTL CALLER
00000300000726c8      14 000003000eba28f0 WCUpdateClipRects+0x4bc
0000030000072d88       2 0000030017422478 WCUpdateClipRects+0x4bc
0000030000072248       2 0000030014f1ab78 WCUpdateClipRects+0x4bc
0000030000072488      10 00000300153eda50 WCUpdateClipRects+0x4bc
0000030000070fc8      71 000003000e422328 WCUpdateClipRects+0x63c
0000030000071448       2 000003000bd94630 ddi_prop_decode_alloc+0xc
----------------------------------------------------------------------
           Total     101 buffers, 4752 bytes

# mdb -k *2
Loading modules: [ unix krtld genunix specfs dtrace ufs sd ip sctp usba random fctl nca audiosup logindmux ptm cpc sppp crypto fcip nfs ipc ]
> ::ptree
0000000001835b00  sched
     0000060000105be0  fsflush
     00000600001067d8  pageout
     00000600001073d0  init
          00000600015a8fe8  soffice.bin
               00000600017c93e0  getstyle-gnome
          0000060000bc5018  gnome-terminal
               0000060000b6d820  sh
                    0000060001766ff0  x-povray
                    00000600017663f8  x-povray
                    0000060001764c08  x-povray
                    0000060001767be8  x-povray
                    00000600017687e0  x-povray
                    00000600017c87e8  x-povray
                    0000060001764010  x-povray
                    00000600015a83f0  x-povray
                    0000060001765800  x-povray
                    00000600017693d8  x-povray
                    00000600015a77f8  x-povray
                    0000060000ab5c00  x-povray
               0000060000ab2028  gnome-pty-helper
          00000600015a6008  mozilla
               00000600015a6c00  run-mozilla.sh
                    00000600017c7bf0  mozilla-bin
          0000060000b6fc08  java
          00000600015a9be0  notification-are
          00000600015aa7d8  mapping-daemon
          00000600015ab3d0  mixer_applet2
          00000600012583e8  gnome-netstatus-
          0000060001256000  wnck-applet
          0000060001256bf8  clock-applet
          00000600012577f0  gnome-vfs-daemon
          0000060001258fe0  gnome-volcheck
               000006000111a040  gnome-volcheck
          0000060001259bd8  nautilus
          000006000125a7d0  gnome-panel
          000006000125b3c8  metacity
          0000060000b70800  gnome-smproxy
          000006000111b830  gnome-settings-d
          000006000111ac38  bonobo-activatio
          000006000111c428  xscreensaver
               00000600017c6ff8  xscreensaver-loc
          000006000111d020  gnome-keyring-da
          000006000111dc18  gconfd-2
          0000060000a1bbf8  dsdm
          0000060000bc2c30  snmpd
> 000006000111c428::pmap
             SEG             BASE     SIZE      RES PATH
00000600011eeba0 0000000000010000     256k          /usr/openwin/bin/xscreensave
00000600011eec00 0000000000050000       8k       8k /usr/openwin/bin/xscreensave
00000600011eec60 0000000000060000    3712k    2296k [ anon ]
0000060001ea7c90 0000000000400000 4157440k 3226704k [ anon ]
0000060001bd72c8 00000000fe000000      64k      64k [ anon ]
0000060001e30738 00000000fe010000      24k          /lib/nss_files.so.1
0000060001e306d8 00000000fe026000       8k       0k /lib/nss_files.so.1
0000060001e310f8 00000000fe080000    1008k       8k [ anon ]
0000060001e31bd8 00000000fe180000    1008k       8k [ anon ]
0000060001e30bb8 00000000fe290000      64k      32k [ anon ]
0000060001e314b8 00000000fe2b0000      40k          /lib/libctf.so.1
0000060001e31458 00000000fe2ca000       8k       0k /lib/libctf.so.1
0000060001e27db0 00000000fe2d0000       8k       8k [ anon ]
0000060001e26af0 00000000fe2e0000       8k          /usr/lib/security/pam_unix_a
0000060001e31098 00000000fe2f2000       8k       8k /usr/lib/security/pam_unix_a
0000060001e31278 00000000fe300000     128k          /lib/libelf.so.1
0000060001e26490 00000000fe320000       8k       8k /lib/libelf.so.1
0000060001e31f38 00000000fe330000      16k          /lib/librtld_db.so.1
0000060001e30f18 00000000fe344000       8k       0k /lib/librtld_db.so.1
0000060001e30f78 00000000fe350000     128k          /lib/libproc.so.1
0000060001e271b0 00000000fe370000       8k       8k /lib/libproc.so.1
0000060001e27ab0 00000000fe380000      16k          /usr/lib/./libproject.so.1
......
.....

--------------

"ps -aef" is showing the size is increasing fast just one and half mins:

 0 S	root   835     1  28  40 20        ?   7062        ? 15:36:11 pts/2       0:37 xscreensaver -nosplash

 0 S     root   835     1  28  68 20        ?  16790        ? 15:36:11 pts/2       1:39 xscreensaver -nosplash
 0 S     root   835     1  28  40 20        ?  20374        ? 15:36:11 pts/2       2:04 xscreensaver -nosplash
Work Around
N/A
Comments
N/A