portupgrade / ruby18 is eating up all CPU [FreeBSD 7.0-RELEASE-p3 amd64]

Oliver Peter lists at peter.de.com
Wed Sep 3 16:43:26 UTC 2008


Something seems to be wrong with my current 7.0/amd64 setup.

	# sudo portupgrade -Rra

Sometimes portupgrade stops while "Updating the portsdb" [1].
OK, actually it doesn't really stop, with top I see that the
ruby18 process is eating up the whole CPU[2].

In the current case it's about p5-Socket6 - but it seems that
it isn't about the port, it's more about the portsdb.

When I try to restart (CTRL-C) and run portupgrade again it
hangs at the same point "Updating the portsdb".
Only when I manually force an update of the portsdb it goes

	# sudo pkgdb -fu

But than it will randomly hang again in the whole portupgrade
run at one of the next updates of the portsdb...

I'm able reproduce this problem within a jail and on a regular
host system, with portupgrade and portupgrade-devel.

At this moment I'm suffering an interrupt storm on that machine,
but I already had the problem before.  The machine works fine,
no performance impact or something like that.
All described here 

	% uname -a
	FreeBSD nemesis.charlie.mouhaha.de 7.0-RELEASE-p3 FreeBSD 7.0-RELEASE-p3 #7: Thu Aug 14 20:09:36 BST 2008     root at charlie.mouhaha.de:/usr/obj/usr/src/sys/CHARLIE  amd64

	% portupgrade --version
	portupgrade 2.4.6

	% ruby18 --version
	ruby 1.8.6 (2008-08-11 patchlevel 287) [amd64-freebsd7]


[1] sudo portupgrade -Rra
[Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 313 packages found (-0 +1) . done]
--->  Upgrading 'p5-Socket6-0.20' to 'p5-Socket6-0.22' (net/p5-Socket6)
--->  Building '/usr/ports/net/p5-Socket6'
===>  Cleaning for p5-Socket6-0.22
=> Socket6-0.22.tar.gz doesn't seem to exist in /var/ports/distfiles/.
=> Attempting to fetch from ftp://ftp.funet.fi/pub/languages/perl/CPAN/modules/by-module/Socket6/.
Socket6-0.22.tar.gz                           100% of   56 kB  314 kBps
===>  Extracting for p5-Socket6-0.22
=> MD5 Checksum OK for Socket6-0.22.tar.gz.
=> SHA256 Checksum OK for Socket6-0.22.tar.gz.
===>   p5-Socket6-0.22 depends on file: /usr/local/bin/perl5.8.8 - found
===>  Patching for p5-Socket6-0.22
===>   p5-Socket6-0.22 depends on file: /usr/local/bin/perl5.8.8 - found
===>   p5-Socket6-0.22 depends on file: /usr/local/bin/perl5.8.8 - found
===>  Configuring for p5-Socket6-0.22
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking whether your Perl5 have PL_sv_undef... yes
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for getaddrinfo... yes
checking for getnameinfo... yes
checking for gethostbyname2... yes
checking for getipnodebyname... yes
checking for getipnodebyaddr... yes
checking for inet_pton... yes
checking for inet_ntop... yes
checking whether you have sa_len in struct sockaddr... yes
checking whether you have sin6_scope_id in struct sockaddr_in6... yes
checking for socklen_t... yes
configure: creating ./config.status
config.status: creating config.pl
config.status: creating gailookup.pl
config.status: creating config.h
Checking if your kit is complete...
Looks good
Writing Makefile for Socket6
===>  Building for p5-Socket6-0.22
cp Socket6.pm blib/lib/Socket6.pm
/usr/local/bin/perl5.8.8 /usr/local/lib/perl5/site_perl/5.8.8/ExtUtils/xsubpp -noprototypes -typemap /usr/local/lib/perl5/5.8.8/ExtUtils/typemap  Socket6.xs > Socket6.xsc && mv Socket6.xsc Socket6.c
cc -c    -O2 -fno-strict-aliasing -pipe -march=athlon64 -O2 -fno-strict-aliasing -pipe -march=athlon64    -DVERSION=\"0.22\"  -DXS_VERSION=\"0.22\" -DPIC -fPIC "-I/usr/local/lib/perl5/5.8.8/mach/CORE"   Socket6.c
Running Mkbootstrap for Socket6 ()
chmod 644 Socket6.bs
rm -f blib/arch/auto/Socket6/Socket6.so
cc  -shared  -L/usr/local/lib Socket6.o  -o blib/arch/auto/Socket6/Socket6.so
chmod 755 blib/arch/auto/Socket6/Socket6.so
cp Socket6.bs blib/arch/auto/Socket6/Socket6.bs
chmod 644 blib/arch/auto/Socket6/Socket6.bs
[Updating the portsdb <format:bdb_btree> in /var/db/pkg ... - 19084
port entries
found .........1000.........2000.........3000.........4000.........5000.........6000.........7000.........8000.........9000.........10000.........11000.........12000.........13000.........14000.........15000.........16000.........17000.........18000.........19000 .....

[2] top
12123 root         1 118    0 68636K 39552K CPU1   1 191:27 100.00% ruby18

[3] dmesg
Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.0-RELEASE-p1 #4: Thu Jun 19 18:03:38 BST 2008
    root at charlie.mouhaha.de:/usr/obj/usr/src/sys/CHARLIE
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 5600+ (2899.98-MHz K8-class CPU)
  Origin = "AuthenticAMD"  Id = 0x60fb2  Stepping = 2
  AMD Features=0xea500800<SYSCALL,NX,MMX+,FFXSR,RDTSCP,LM,3DNow!+,3DNow!>
  AMD Features2=0x11f<LAHF,CMP,SVM,ExtAPIC,CR8,Prefetch>
  Cores per package: 2
usable memory = 2099699712 (2002 MB)
avail memory  = 2024751104 (1930 MB)
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0 <Version 2.1> irqs 0-23 on motherboard
kbd1 at kbdmux0
ath_hal: (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
hptrr: HPT RocketRAID controller driver v1.1 (Jun 19 2008 18:02:12)
acpi0: <M S I OEMRSDT> on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, 7df00000 (3) failed
Timecounter "ACPI-safe" frequency 3579545 Hz quality 850
acpi_timer0: <32-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
cpu0: <ACPI CPU> on acpi0
acpi_throttle0: <ACPI CPU Throttling> on cpu0
acpi_throttle0: CLK_VAL field overlaps THT_EN bit
device_attach: acpi_throttle0 attach returned 6
powernow0: <PowerNow! K8> on cpu0
cpu1: <ACPI CPU> on acpi0
powernow1: <PowerNow! K8> on cpu1
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
vgapci0: <VGA-compatible display> port 0xc000-0xc0ff mem 0xfc000000-0xfdffffff,0xfe9f0000-0xfe9fffff,0xfe800000-0xfe8fffff irq 18 at device 5.0 on pci1
pci1: <multimedia> at device 5.2 (no driver attached)
pcib2: <ACPI PCI-PCI bridge> at device 7.0 on pci0
pci2: <ACPI PCI bus> on pcib2
re0: <RealTek 8168/8111B PCIe Gigabit Ethernet> port 0xd800-0xd8ff mem 0xfeaff000-0xfeafffff irq 19 at device 0.0 on pci2
re0: Using 2 MSI messages
miibus0: <MII bus> on re0
rgephy0: <RTL8169S/8110S/8211B media interface> PHY 1 on miibus0
rgephy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
re0: Ethernet address: 00:1d:92:b6:ce:92
re0: [FILTER]
re0: [FILTER]
atapci0: <ATI ATA controller> port 0xb000-0xb007,0xa000-0xa003,0x9000-0x9007,0x8000-0x8003,0x7000-0x700f mem 0xfe7ff800-0xfe7ffbff irq 22 at device 18.0 on pci0
atapci0: [ITHREAD]
ata2: <ATA channel 0> on atapci0
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci0
ata3: [ITHREAD]
ohci0: <OHCI (generic) USB controller> mem 0xfe7fe000-0xfe7fefff irq 16 at device 19.0 on pci0
ohci0: [ITHREAD]
usb0: OHCI version 1.0, legacy support
usb0: SMM does not respond, resetting
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: <ATI OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 2 ports with 2 removable, self powered
ohci1: <OHCI (generic) USB controller> mem 0xfe7fd000-0xfe7fdfff irq 17 at device 19.1 on pci0
ohci1: [ITHREAD]
usb1: OHCI version 1.0, legacy support
usb1: SMM does not respond, resetting
usb1: <OHCI (generic) USB controller> on ohci1
usb1: USB revision 1.0
uhub1: <ATI OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1
uhub1: 2 ports with 2 removable, self powered
ohci2: <OHCI (generic) USB controller> mem 0xfe7fc000-0xfe7fcfff irq 18 at device 19.2 on pci0
ohci2: [ITHREAD]
usb2: OHCI version 1.0, legacy support
usb2: SMM does not respond, resetting
usb2: <OHCI (generic) USB controller> on ohci2
usb2: USB revision 1.0
uhub2: <ATI OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb2
uhub2: 2 ports with 2 removable, self powered
ohci3: <OHCI (generic) USB controller> mem 0xfe7fb000-0xfe7fbfff irq 17 at device 19.3 on pci0
ohci3: [ITHREAD]
usb3: OHCI version 1.0, legacy support
usb3: SMM does not respond, resetting
usb3: <OHCI (generic) USB controller> on ohci3
usb3: USB revision 1.0
uhub3: <ATI OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb3
uhub3: 2 ports with 2 removable, self powered
ohci4: <OHCI (generic) USB controller> mem 0xfe7fa000-0xfe7fafff irq 18 at device 19.4 on pci0
ohci4: [ITHREAD]
usb4: OHCI version 1.0, legacy support
usb4: SMM does not respond, resetting
usb4: <OHCI (generic) USB controller> on ohci4
usb4: USB revision 1.0
uhub4: <ATI OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb4
uhub4: 2 ports with 2 removable, self powered
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xfe7ff000-0xfe7ff0ff irq 19 at device 19.5 on pci0
ehci0: [ITHREAD]
usb5: EHCI version 1.0
usb5: companion controllers, 2 ports each: usb0 usb1 usb2 usb3 usb4
usb5: <EHCI (generic) USB 2.0 controller> on ehci0
usb5: USB revision 2.0
uhub5: <ATI EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb5
uhub5: 10 ports with 10 removable, self powered
pci0: <serial bus, SMBus> at device 20.0 (no driver attached)
atapci1: <ATI IXP600 UDMA133 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xff00-0xff0f at device 20.1 on pci0
ata0: <ATA channel 0> on atapci1
ata0: [ITHREAD]
isab0: <PCI-ISA bridge> at device 20.3 on pci0
isa0: <ISA bus> on isab0
pcib3: <ACPI PCI-PCI bridge> at device 20.4 on pci0
pci3: <ACPI PCI bus> on pcib3
acpi_button0: <Power Button> on acpi0
sio0: configured irq 3 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0: configured irq 3 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 flags 0x10 on acpi0
sio0: type 16550A
sio0: [FILTER]
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
orm0: <ISA Option ROM> at iomem 0xcd800-0xce7ff on isa0
ppc0: cannot reserve I/O port range
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
WARNING: ZFS is considered to be an experimental feature in FreeBSD.
Timecounters tick every 1.000 msec
hptrr: no controller detected.
ZFS filesystem version 6
ZFS storage pool version 6
ad4: 476940MB <SAMSUNG HD501LJ CR100-12> at ata2-master UDMA33
ad6: 476940MB <SAMSUNG HD501LJ CR100-12> at ata3-master UDMA33
SMP: AP CPU #1 Launched!
Trying to mount root from zfs:tank
re0: link state changed to UP
cryptosoft0: <software crypto> on motherboard

Oliver PETER, email: oliver at peter.de.com, ICQ# 113969174
"I like to con people. And I like to insult people.
 If you combine con & insult, you get consult!"  -- Dogbert

More information about the freebsd-questions mailing list