It was suggested that maybe this issue may be fixed with a newer
snapshot due to this cvs check-in[1].
The leak remains. Open files on different mount points. Each time you
alternate mount point to open a file, there is a leak.
# base line
$ fstat -p `pgrep gimp` | grep -c /tmp
0
$ fstat -p `pgrep gimp` | grep -c /home
4
# open something in /tmp
$ fstat -p `pgrep gimp` | grep -c /tmp
2
# open another thing in /tmp
$ fstat -p `pgrep gimp` | grep -c /tmp
2
$ fstat -p `pgrep gimp` | grep -c /home
4
# open something in /home
$ fstat -p `pgrep gimp` | grep -c /tmp
3
$ fstat -p `pgrep gimp` | grep -c /home
23
# open something in the same directory in /home
$ fstat -p `pgrep gimp` | grep -c /tmp
3
$ fstat -p `pgrep gimp` | grep -c /home
27
# open something in a different directory in /home
$ fstat -p `pgrep gimp` | grep -c /tmp
3
$ fstat -p `pgrep gimp` | grep -c /home
41
# open stuff in /tmp again
$ fstat -p `pgrep gimp` | grep -c /tmp
5
$ fstat -p `pgrep gimp` | grep -c /home
41
$ pkg_info gimp
Information for inst:gimp-2.8.0
$ sysctl kern.version
kern.version=OpenBSD 5.1-current (GENERIC) #242: Sun May 20 10:35:39 MDT 2012
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC
--patrick
[1] http://marc.info/?l=openbsd-cvs&m=133528546428522&w=2
On Sat, Mar 31, 2012 at 5:58 AM, patrick keshishian <[email protected]> wrote:
> Hi,
>
> $ pkg_info gimp
> Information for inst:gimp-2.6.12
>
> After a bit of usage gimp seems to leak file descriptors can't open
> new files or even show directory contents. Error dialogs with "too
> many open files" are presented.
>
> $ fstat | grep gimp | grep '/home' \
> | awk '{print $6 "\t" $5}' | sort | uniq -c | sort -n
> 2 1039641 /home
> 4 727560 /home
> 6 2 /home
> 12 987518 /home
> 16 1533074 /home
> 22 1143317 /home
> 30 727552 /home
> 74 1844886 /home
>
> in order those inodes are:
> ~/.local/share/recently-used.xbel
> ~/.xsession-errors
> /home/
> ~/src/
> ~/src/$project/
> ~/data/
> ~/
> ~/data/$project/
>
> $ fstat | grep gimp | grep '/tmp' \
> | awk '{print $6 "\t" $5}' | sort | uniq -c | sort -n
> 14 2 /tmp
>
> inode 2 = /tmp/
>
> $ fstat | grep gimp | grep '/ ' \
> | awk '{print $6 "\t" $5}' | sort | uniq -c | sort -n
> 2 1260 /
> 10 2 /
>
> inode 1260 = /dev/null
> inode 2 = /
>
> I'm curious if this is just me or if others are also experiencing this
> behavior, which seems to indicate gimp is leaking file descriptors?
>
> kern.version=OpenBSD 5.1-current (GENERIC) #0: Mon Mar 26 21:32:24 PDT 2012
> [email protected]:/usr/build/src/sys/arch/i386/compile/GENERIC
>
> The system was based off of 2012-MAR-22 snapshot, cvs updated around
> 24th to build the ports I use. Then applied "vmmap seepd increase
> patch"[1] on the 26th, recompiled the kernel and running it ATM. I'm
> tempted to go back to the original snapshot's /bsd and see if that
> makes any difference.
>
> ideas?
>
> --patrick
>
> [1] http://marc.info/?l=openbsd-tech&m=133253600206890&w=2
>
>
> OpenBSD 5.1-current (GENERIC) #0: Mon Mar 26 21:32:24 PDT 2012
> [email protected]:/usr/build/src/sys/arch/i386/compile/GENERIC
> cpu0: AMD Athlon(tm) Processor L110 ("AuthenticAMD" 686-class, 512KB
> L2 cache) 1.20 GHz
> cpu0:
> FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW,SSE3,CX16,LAHF,SVM
> real mem = 1877340160 (1790MB)
> avail mem = 1835847680 (1750MB)
> mainbus0 at root
> bios0 at mainbus0: AT/286+ BIOS, date 05/31/10, BIOS32 rev. 0 @
> 0xfd9a0, SMBIOS rev. 2.4 @ 0xf1010 (17 entries)
> bios0: vendor Phoenix Technologies LTD version "v1.3307" date 05/31/2010
> bios0: Gateway LT31
> acpi0 at bios0: rev 2
> acpi0: sleep states S0 S3 S4 S5
> acpi0: tables DSDT FACP APIC MCFG HPET BOOT SLIC
> acpi0: wakeup devices PB5_(S5) OHC1(S3) OHC2(S3) EHCI(S3) HDAU(S3)
> acpitimer0 at acpi0: 3579545 Hz, 32 bits
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: apic clock running at 199MHz
> ioapic0 at mainbus0: apid 1 pa 0xfec00000, version 21, 24 pins
> acpimcfg0 at acpi0 addr 0xe0000000, bus 0-8
> acpihpet0 at acpi0: 14318180 Hz
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiprt1 at acpi0: bus -1 (PB3_)
> acpiprt2 at acpi0: bus -1 (PB4_)
> acpiprt3 at acpi0: bus 3 (PB5_)
> acpiprt4 at acpi0: bus 4 (PB6_)
> acpiprt5 at acpi0: bus -1 (PB7_)
> acpiprt6 at acpi0: bus 9 (P2P_)
> acpiprt7 at acpi0: bus 1 (AGP_)
> acpiec0 at acpi0
> acpicpu0 at acpi0: C3, C2
> acpitz0 at acpi0: critical temperature is 100 degC
> acpiac0 at acpi0: AC unit online
> acpibat0 at acpi0: BAT1 model "UM09A41" serial 22962 type LION oem "SONY"
> acpibtn0 at acpi0: LID_
> acpibtn1 at acpi0: SLPB
> acpibtn2 at acpi0: PWRB
> acpivideo0 at acpi0: VGA_
> acpivout0 at acpivideo0: LCD_
> bios0: ROM list: 0xc0000/0xd800 0xd0000/0x1c00! 0xd4000/0x1000
> pci0 at mainbus0 bus 0: configuration mode 1 (bios)
> pchb0 at pci0 dev 0 function 0 "ATI RS690 Host" rev 0x00
> ppb0 at pci0 dev 1 function 0 "ATI RS690 PCIE" rev 0x00
> pci1 at ppb0 bus 1
> vga1 at pci1 dev 5 function 0 "ATI Radeon X1250 IGP" rev 0x00
> wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
> wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
> ppb1 at pci0 dev 5 function 0 "ATI RS690 PCIE" rev 0x00
> pci2 at ppb1 bus 3
> re0 at pci2 dev 0 function 0 "Realtek 8101E" rev 0x02: RTL8102EL
> (0x2480), apic 1 int 17, address 00:23:8b:ef:3a:a7
> rlphy0 at re0 phy 7: RTL8201L 10/100 PHY, rev. 1
> ppb2 at pci0 dev 6 function 0 "ATI RS690 PCIE" rev 0x00
> pci3 at ppb2 bus 4
> ral0 at pci3 dev 0 function 0 "Ralink RT3090" rev 0x00: apic 1 int 18,
> address 00:24:1d:f4:3d:86
> ral0: MAC/BBP RT3071 (rev 0x0213), RF RT3020 (MIMO 1T1R)
> ahci0 at pci0 dev 18 function 0 "ATI SB600 SATA" rev 0x00: apic 1 int
> 22, AHCI 1.1
> scsibus0 at ahci0: 32 targets
> sd0 at scsibus0 targ 0 lun 0: <ATA, TOSHIBA MK2555GS, FG00> SCSI3
> 0/direct fixed naa.50000391c6887a53
> sd0: 238475MB, 512 bytes/sector, 488397168 sectors
> ohci0 at pci0 dev 19 function 0 "ATI SB600 USB" rev 0x00: apic 1 int
> 16, version 1.0, legacy support
> ohci1 at pci0 dev 19 function 1 "ATI SB600 USB" rev 0x00: apic 1 int
> 17, version 1.0, legacy support
> ohci2 at pci0 dev 19 function 3 "ATI SB600 USB" rev 0x00: apic 1 int
> 17, version 1.0, legacy support
> ohci3 at pci0 dev 19 function 4 "ATI SB600 USB" rev 0x00: apic 1 int
> 18, version 1.0, legacy support
> ehci0 at pci0 dev 19 function 5 "ATI SB600 USB2" rev 0x00: apic 1 int 19
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 "ATI EHCI root hub" rev 2.00/1.00 addr 1
> piixpm0 at pci0 dev 20 function 0 "ATI SBx00 SMBus" rev 0x14: SMI
> iic0 at piixpm0
> spdmem0 at iic0 addr 0x50: 2GB DDR2 SDRAM non-parity PC2-5300CL5 SO-DIMM
> pciide0 at pci0 dev 20 function 1 "ATI SB600 IDE" rev 0x00: DMA,
> channel 0 configured to compatibility, channel 1 configured to
> compatibility
> azalia0 at pci0 dev 20 function 2 "ATI SBx00 HD Audio" rev 0x00: apic 1 int 16
> azalia0: codecs: Realtek ALC272
> audio0 at azalia0
> pcib0 at pci0 dev 20 function 3 "ATI SB600 ISA" rev 0x00
> ppb3 at pci0 dev 20 function 4 "ATI SB600 PCI" rev 0x00
> pci4 at ppb3 bus 9
> pchb1 at pci0 dev 24 function 0 "AMD AMD64 0Fh HyperTransport" rev 0x00
> pchb2 at pci0 dev 24 function 1 "AMD AMD64 0Fh Address Map" rev 0x00
> pchb3 at pci0 dev 24 function 2 "AMD AMD64 0Fh DRAM Cfg" rev 0x00
> kate0 at pci0 dev 24 function 3 "AMD AMD64 0Fh Misc Cfg" rev 0x00:
> core rev DH-G2
> usb1 at ohci0: USB revision 1.0
> uhub1 at usb1 "ATI OHCI root hub" rev 1.00/1.00 addr 1
> usb2 at ohci1: USB revision 1.0
> uhub2 at usb2 "ATI OHCI root hub" rev 1.00/1.00 addr 1
> usb3 at ohci2: USB revision 1.0
> uhub3 at usb3 "ATI OHCI root hub" rev 1.00/1.00 addr 1
> usb4 at ohci3: USB revision 1.0
> uhub4 at usb4 "ATI OHCI root hub" rev 1.00/1.00 addr 1
> isa0 at pcib0
> isadma0 at isa0
> pckbc0 at isa0 port 0x60/5
> pckbd0 at pckbc0 (kbd slot)
> pckbc0: using irq 1 for kbd slot
> wskbd0 at pckbd0: console keyboard, using wsdisplay0
> pms0 at pckbc0 (aux slot)
> pckbc0: using irq 12 for aux slot
> wsmouse0 at pms0 mux 0
> pms0: Synaptics touchpad, firmware 7.2
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
> mtrr: Pentium Pro MTRR support
> uvideo0 at uhub0 port 4 configuration 1 interface 0 "Chicony
> Electronics Co., Ltd. CNF9011" rev 2.00/13.57 addr 2
> video0 at uvideo0
> uhidev0 at uhub1 port 2 configuration 1 interface 0 "Microsoft
> Corporation Microsoft \M-. Laser Mouse 6000" rev 2.00/1.01 addr 2
> uhidev0: iclass 3/1
> ums0 at uhidev0: 5 buttons, Z dir
> wsmouse1 at ums0 mux 0
> vscsi0 at root
> scsibus1 at vscsi0: 256 targets
> softraid0 at root
> scsibus2 at softraid0: 256 targets
> root on sd0a (3be80d641a0b9637.a) swap on sd0b dump on sd0b