HardwareHeaven.com

HardwareHeaven.com

Looking for the skin chooser?
 
 
  • Home

  • Hardware reviews

  • Articles

  • News

  • Tools

  • Gaming at HardwareHeaven

  • Forums

 

Go Back   HardwareHeaven.com > Forums > Hardware and Related Topics > kX Project Audio Driver Support Forum > Bug Reports


Reply
 
Thread Tools
Old Jul 17, 2010, 04:58 AM   #1
HardwareHeaven Junior Member
 
Join Date: May 2004
Posts: 60
Rep Power: 0
monohouse is on a distinguished road

3550: major nonpaged pool memory leak (xp32)

system has an SB0090 (audigy), works 100% no problems at all.

Code:
--------  1636      0     0 -----     0 -----  driver ( ntoskrnl.exe )
--------   108      0     0 -----     0 -----  driver ( hal.dll )
--------     8      0     0 -----     0 -----  driver ( kdcom.dll )
--------    12      0     0 -----     0 -----  driver ( BOOTVID.dll )
--------   120      0     8 -----     0 -----  driver ( d347bus.sys )
--------   136      0    20 -----     0 -----  driver ( ACPI.sys )
--------     4      0     0 -----     0 -----  driver ( WMILIB.SYS )
--------    52      0     8 -----     0 -----  driver ( pci.sys )
--------    16      0    16 -----     0 -----  driver ( isapnp.sys )
--------     4      0     0 -----     0 -----  driver ( pciide.sys )
--------    12      0     8 -----     0 -----  driver ( PCIIDEX.SYS )
--------    24      0     8 -----     0 -----  driver ( MountMgr.sys )
--------    36      0    76 -----     0 -----  driver ( ftdisk.sys )
--------    16      0     0 -----     0 -----  driver ( PartMgr.sys )
--------   852      0     0 -----     0 -----  driver ( iaStor.sys )
--------    60      0    16 -----     0 -----  driver ( atapi.sys )
--------     4      0     0 -----     0 -----  driver ( d347prt.sys )
--------    60      0    20 -----     0 -----  driver ( SCSIPORT.SYS )
--------    28      0     0 -----     0 -----  driver ( disk.sys )
--------    36      0     8 -----     0 -----  driver ( CLASSPNP.SYS )
--------   116      0    12 -----     0 -----  driver ( Fastfat.sys )
--------    52      0    20 -----     0 -----  driver ( KSecDD.sys )
--------   140      0    12 -----     0 -----  driver ( NDIS.sys )
--------    48      0    44 -----     0 -----  driver ( Mup.sys )
--------    20      0     0 -----     0 -----  driver ( processr.sys )
--------  4844      0     0 -----     0 -----  driver ( ati2mtag.sys )
--------    72      0     0 -----     0 -----  driver ( VIDEOPRT.SYS )
--------   128      0     0 -----     0 -----  driver ( HDAudBus.sys )
--------    20      0     0 -----     0 -----  driver ( usbuhci.sys )
--------   136      0     0 -----     0 -----  driver ( USBPORT.SYS )
--------   136      0     0 -----     0 -----  driver ( Rtenicxp.sys )
--------   540      0    28 -----     0 -----  driver ( kx.sys )
--------   132      0     0 -----     0 -----  driver ( portcls.sys )
--------    28      0    32 -----     0 -----  driver ( drmk.sys )
--------    92      0    36 -----     0 -----  driver ( ks.sys )
--------    28      0     0 -----     0 -----  driver ( Jula.sys )
--------    28      0     8 -----     0 -----  driver ( i8042prt.sys )
--------    16      0     0 -----     0 -----  driver ( kbdclass.sys )
--------    28      0     8 -----     0 -----  driver ( imapi.sys )
--------    40      0     0 -----     0 -----  driver ( cdrom.sys )
--------    44      0     4 -----     0 -----  driver ( redbook.sys )
--------     4      0     0 -----     0 -----  driver ( audstub.sys )
--------     4      0     0 -----     0 -----  driver ( swenum.sys )
--------    12      0   120 -----     0 -----  driver ( update.sys )
--------    48      0     0 -----     0 -----  driver ( usbhub.sys )
--------     8      0     0 -----     0 -----  driver ( USBD.SYS )
--------    24      0     0 -----     0 -----  driver ( JulaWdm.sys )
--------    44      0     0 -----     0 -----  driver ( ifsmount.sys )
--------     8      0     0 -----     0 -----  driver ( Fs_Rec.SYS )
--------     4      0     0 -----     0 -----  driver ( Null.SYS )
--------    16      0     0 -----     0 -----  driver ( mouclass.sys )
--------    20      0     0 -----     0 -----  driver ( vga.sys )
--------   164      0     0 -----     0 -----  driver ( ext2fs.sys )
--------     8      0     8 -----     0 -----  driver ( Msfs.SYS )
--------    24      0     0 -----     0 -----  driver ( Npfs.SYS )
--------    52      0     0 -----     0 -----  driver ( ipsec.sys )
--------    32      0     0 -----     0 -----  driver ( msgpc.sys )
--------    16      0     0 -----     0 -----  driver ( TDI.SYS )
--------   284      0     8 -----     0 -----  driver ( tcpip.sys )
--------   140      0     0 -----     0 -----  driver ( netbt.sys )
--------    24      0     4 -----     0 -----  driver ( netbios.sys )
--------    76      0    68 -----     0 -----  driver ( rdbss.sys )
--------   224      0   148 -----     0 -----  driver ( mrxsmb.sys )
--------    32      0     0 -----     0 -----  driver ( Fips.SYS )
--------     8      0     0 -----     0 -----  driver ( hidusb.sys )
--------    36      0     0 -----     0 -----  driver ( HIDCLASS.SYS )
--------    24      0     0 -----     0 -----  driver ( HIDPARSE.SYS )
--------     8      0     0 -----     0 -----  driver ( mouhid.sys )
--------    68      0     0 -----     0 -----  driver ( win32k.sys )
--------    12      0     4 -----     0 -----  driver ( watchdog.sys )
--------    12      0     0 -----     0 -----  driver ( Dxapi.sys )
--------     8      0     0 -----     0 -----  driver ( dxg.sys )
--------     4      0     0 -----     0 -----  driver ( dxgthk.sys )
--------   260      0    52 -----     0 -----  driver ( ati2dvag.dll )
--------   324      0   300 -----     0 -----  driver ( ati2cqag.dll )
--------   332      0   284 -----     0 -----  driver ( atikvmag.dll )
--------    76      0   328 -----     0 -----  driver ( atiok3x2.dll )
--------   640      0  2892 -----     0 -----  driver ( ati3duag.dll )
--------    32      0    24 -----     0 -----  driver ( thdudf.sys )
--------    28      0    24 -----     0 -----  driver ( Cdfs.SYS )
--------    44      0    12 -----     0 -----  driver ( Udfs.SYS )
--------    96      0    20 -----     0 -----  driver ( afd.sys )
--------    72      0     0 -----     0 -----  driver ( wdmaud.sys )
--------    48      0     4 -----     0 -----  driver ( sysaudio.sys )
--------   236      0    60 -----     0 -----  driver ( nfsrdr.sys )
--------   116      0    32 -----     0 -----  driver ( kmixer.sys )
--------  15504      0     0 -----     4 -----  driver ( Paged Pool )
--------  139740      0   316 -----     0 -----  driver ( Kernel Stacks )
--------  131072      0     0 -----    76 -----  driver ( NonPaged Pool )
this happens in 3 possible scenarios:
1 - a directx-based game (red alert 3) will consume that amount of nonpaged at load (reproduceability 100%)
2 - an opengl based game (spring) will (rarely) consume that amount of nonpaged
3 - winamp playing a certain mp3 file using direct sound output
the amount of nonpaged is always the same, and it is usually allocated instantly

Code:
lkd> !poolused 2
   Sorting by  NonPaged Pool Consumed

  Pool Used:
            NonPaged            Paged
 Tag    Allocs     Used    Allocs     Used
 MmCm     1326 116695584         0        0	Calls made to MmAllocateContiguousMemory , Binary: nt!mm
 
 
 *** Virtual Memory Usage ***
	Physical Memory:      523881 (   2095524 Kb)
 ************ NO PAGING FILE *********************
 
	Available Pages:      396439 (   1585756 Kb)
	ResAvail Pages:       404022 (   1616088 Kb)
	Locked IO Pages:          68 (       272 Kb)
	Free System PTEs:     157841 (    631364 Kb)
	Free NP PTEs:          32766 (    131064 Kb)
	Free Special NP:           0 (         0 Kb)
	Modified Pages:         5076 (     20304 Kb)
	Modified PF Pages:      5072 (     20288 Kb)
	NonPagedPool Usage:    32479 (    129916 Kb)
	NonPagedPool Max:      65536 (    262144 Kb)
	PagedPool 0 Usage:      2946 (     11784 Kb)
	PagedPool 1 Usage:       257 (      1028 Kb)
	PagedPool 2 Usage:       243 (       972 Kb)
	PagedPool 3 Usage:       254 (      1016 Kb)
	PagedPool 4 Usage:       251 (      1004 Kb)
	PagedPool Usage:        3951 (     15804 Kb)
	PagedPool Maximum:     40960 (    163840 Kb)
	Shared Commit:          1220 (      4880 Kb)
	Special Pool:              0 (         0 Kb)
	Shared Process:          971 (      3884 Kb)
	PagedPool Commit:       3951 (     15804 Kb)
	Driver Commit:          2257 (      9028 Kb)
	Committed pages:       86541 (    346164 Kb)
	Commit limit:         485581 (   1942324 Kb)

	Total Private:         32022 (    128088 Kb)
         03dc firefox.exe      22255 (     89020 Kb)
         03b0 windbg.exe        2571 (     10284 Kb)
         0514 notepad++.exe     1416 (      5664 Kb)
         03a4 wincmd.exe        1347 (      5388 Kb)
         026c svchost.exe       1059 (      4236 Kb)
         0394 kxmixer.exe        847 (      3388 Kb)
         0164 winlogon.exe       750 (      3000 Kb)
         01a0 lsass.exe          414 (      1656 Kb)
         0148 csrss.exe          408 (      1632 Kb)
         0380 blackbox.exe       314 (      1256 Kb)
         0194 services.exe       256 (      1024 Kb)
         0314 nfsclnt.exe        179 (       716 Kb)
         022c svchost.exe        158 (       632 Kb)
         011c smss.exe            41 (       164 Kb)
         0004 System               7 (        28 Kb)
the reason that I am so sure that it is this driver is because in winamp the bug is 100% reproduceable, and when I disable the kx driver in devmgmt.msc and enable only the Juli@ driver then play the same file that reproduces the bug, there is no nonpagedpool leak and everything is ok.

I am going to try an older version of kx to see if it happens there too.

http://manoa.flnet.org/Pics/kxdebug.png
http://manoa.flnet.org/Registry/01.02.10.kx

included plugins: ProFx311_48.kxl
detailed driver version: 7,194,760 bytes kxdrv3550-x86-full.exe
Version: 5, 10, 00, 3550 - debug
Compiled: Sep 18 2009 03:05:46

Code:
----Hardware / Software configuration---------------
Driver Name:kX Audio Driver (Debug)
Driver Date: Sep 18 2009 03:05:03
Driver Version: 5.10.00.3550 - debug
DB Name:none
SB0090 10k2 [d000]
PCI Information: 
Device: 41102 Subsys: 401102 ChipRev: 3
Card is '10k2'
Card has MPU device
Card model is '5.1'
Card HAS AC97 codec
    Codec name: SigmaTel STAC9721/23
    3D Extension: SigmaTel 3D Enhancement
    Codec is 2.0 compliant
    Capabilities[6940]     :
    DAC resolutions  : -16-bit- -18-bit-
    ADC resolutions  : -16-bit- -18-bit-
    Ext Capabilities [200]: -slot/DAC mappings-
Port: d000 Irq: 0x6(6)
Playback buffer: 20a0
Record buffer: 4000
Number of AC3 buffers: 4
Tank memory: 256 kb
GSIF buffer: 256 samples
OS version: [2 5 1 Service Pack 1; 2 5 1 Service Pack 1; 156 148]
channels 2/3 are used as system default preferred device
channels 6/7 are used in winamp directsound output

update: first I can confirm now that it is the kx driver, and that it also happens in version 3549, but best of all I found the reason that the leak happens - when winamp directsound hardware acceleration option is enabled - no leaks when disabled

update 2: switched to version 3548, memory leak is no longer instant but it is still there, here is how to produce it: while hardware acceleration is enabled keep pressing play repetitively or do alot of seeking within the file while watching your nonpaged pool (or just hold enter on the file) - you will see that it increases by approximately 100 kb for every time play/seek is done

this probably explains why programs such as games that play many sounds at once cause the same leak - over time or not

in none of the cases the memory is reclaimed after the program (and any other audio programs) is closed

does not leak at all in WAVE/ASIO/KS mode

strange that in winamp it only has an effect with an mp3, FLAC and WAV appear to be unaffected....

update 3: this "smaller" leak continues all the way to version 3534f which is the oldest I managed to test, will have to try even older versions because so far there is no version without the leak.

update 4: the leak does not exist in winamp 2.91, only in 5.02, maybe something in the way the different versions of directsound output plugins work ?

Last edited by monohouse; Jul 17, 2010 at 08:03 AM.
monohouse is offline   Reply With Quote


Old Nov 8, 2010, 01:29 PM   #2
kX Project Lead Programmer and Coordinator
 
Join Date: Dec 2002
Posts: 3,119
Rep Power: 75
Eugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud of

Ответ: 3550: possible major memory leak (xp32)

thanks for your report, I will have a look

E.
Eugene Gavrilov is offline   Reply With Quote
Reply

Thread Tools