OpenSolaris

Printable Version Enter a New Search
Bug ID 6490818
Synopsis Memory leak in hs_mountfs()
State 10-Fix Delivered (Fix available in build)
Category:Subcategory kernel:hsfs
Keywords rtiq_internal
Responsible Engineer Frank Hofmann
Reported Against snv_52
Duplicate Of
Introduced In
Commit to Fix snv_72
Fixed In snv_72
Release Fixed solaris_nevada(snv_72)
Related Bugs 6321916 , 6715049 , 4065963
Submit Date 7-November-2006
Last Update Date 31-August-2007
Description
A memory leak in hs_mountfs() was observed during snv_52 ONPIT run in two of our systems:

+------------+---------------+----------+------------+------+----------+----------+
| NAME       | SYSTEM_DESC   | PROC_NUM | PROC_SPEED | RAM  | BUS_TYPE | NET_TYPE |
+------------+---------------+----------+------------+------+----------+----------+
| lisinopril | SUNW,Ultra-60 |        2 |        450 | 1024 | SCSI     | hme      |
| gaire      | i86pc,Opteron |        2 |       2000 | 2048 | IDE      | elxl     |
+------------+---------------+----------+------------+------+----------+----------+

We have other Opterons and Ultra-60s in our lab that did not show this issue.
The leak is reproducible on the above systems, and they are different than the
rest because both have a documentation CD mounted on the CD tray.

# df -h
Filesystem             size   used  avail capacity  Mounted on
...
/dev/dsk/c0t4d0s2       43M    43M     0K   100%    /media/DOCUMENTATION_CD
...

Crash dump files have been copied to:

 /net/diablo.ireland/export/crash/snv_52/findleaks/hs_mountfs

Here's the output from ::findleaks running on the above core dump files obtained after a
reboot -d command:

> ::status
debugging crash dump /var/crash/lisinopril/vmcore.0 (64-bit) from lisinopril
operating system: 5.11 snv_52 (sun4u)
panic message: forced crash dump initiated at user request
dump content: kernel pages only

> kmem_flags/X
kmem_flags:
kmem_flags:     f             
> moddebug/X
moddebug:
moddebug:       20000         
> ::findleaks -dv
findleaks:                maximum buffers => 77310
findleaks:                 actual buffers => 76479
findleaks:
findleaks:             potential pointers => 5742373
findleaks:                     dismissals => 5204795       (90.6%)
findleaks:                         misses => 53305         ( 0.9%)
findleaks:                           dups => 407796        ( 7.1%)
findleaks:                        follows => 76477         ( 1.3%)
findleaks:
findleaks:              peak memory usage => 1868 kB
findleaks:               elapsed CPU time => 1.7 seconds
findleaks:              elapsed wall time => 2.1 seconds
findleaks:
CACHE             LEAKED           BUFCTL CALLER
000003000005c288       1 0000030004813ef8 get_syms+0x78
0000030000059908       1 0000030004a4c690 hs_mountfs+0x11c
------------------------------------------------------------------------
           Total       2 buffers, 608 bytes

kmem_alloc_224 leak: 1 buffer, 224 bytes
            ADDR          BUFADDR        TIMESTAMP           THREAD
                            CACHE          LASTLOG         CONTENTS
     30004a4c690      30006484008       1fd3398338      30005fadb00
                      30000059908      300010d7000      30002335980
                 kmem_cache_alloc+0x88
                 kmem_zalloc+0x28
                 hs_mountfs+0x11c
                 hsfs_mount+0x258
                 domount+0x984
                 mount+0xec
                 syscall_ap+0x44
Work Around
N/A
Comments
N/A