Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 143867

Summary: r8169 page allocation failure with gentoo-sources-2.6.17-r4
Product: Gentoo Linux Reporter: Andrei Slavoiu <ansla80>
Component: [OLD] Core systemAssignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers <kernel>
Status: RESOLVED CANTFIX    
Severity: normal    
Priority: High    
Version: 2006.0   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: .config
dmesg

Description Andrei Slavoiu 2006-08-14 03:21:30 UTC
I'm not not sure if it's related but at the same time the switch that I am connect to the rest of the company's network got stuck and had to be restarted.
This is the message from dmesg:
java: page allocation failure. order:0, mode:0x20
 <c0143170> __alloc_pages+0x1e0/0x2bd  <c015740d> kmem_getpages+0x30/0x93
 <c01580eb> cache_grow+0xb5/0x186  <c0158346> cache_alloc_refill+0x18a/0x1cc
 <c0158588> kmem_cache_alloc+0x62/0x64  <c0300ef2> __alloc_skb+0x33/0x105
 <c0279f28> rtl8169_alloc_rx_skb+0x2a/0xd0  <c027a079> rtl8169_rx_fill+0x51/0x61
 <c027ab8b> rtl8169_rx_interrupt+0x1c1/0x3c9  <c027ad93> pci_unmap_single+0x0/0x11
 <c027ae6b> rtl8169_interrupt+0xc6/0x14f  <c013cf5c> handle_IRQ_event+0x31/0x62
 <c013d015> __do_IRQ+0x88/0xef  <c0306998> process_backlog+0x86/0x10c
 <c0104f95> do_IRQ+0x19/0x24  <c01034e2> common_interrupt+0x1a/0x20
 <c012007b> wait_noreap_copyout+0x7/0xda  <c034a23e> unix_poll+0x36/0xd2
 <c02fd0b1> sock_poll+0xc/0xe  <c016e0eb> do_pollfd+0x88/0x95
 <c016e154> do_poll+0x5c/0x10d  <c016e39a> do_sys_poll+0x195/0x213
 <c0126ce3> signal_wake_up+0x1e/0x2c  <c0127581> __group_send_sig_info+0x69/0xaf
 <c0127715> group_send_sig_info+0x78/0x7a  <c013246b> hrtimer_run_queues+0x49/0xd9
 <c0125f2e> run_timer_softirq+0x39/0x19b  <c0142d6e> buffered_rmqueue+0xa2/0x147
 <c0142f76> get_page_from_freelist+0x9f/0xb9  <c016d459> __pollwait+0x0/0x5d
 <c0118590> default_wake_function+0x0/0xc  <c0300243> sk_reset_timer+0xc/0x16
 <c032f3b4> tcp_send_delayed_ack+0x128/0x12d  <c01185d1> __wake_up_common+0x35/0x55
 <c0118629> __wake_up+0x38/0x4e  <c01258e7> lock_timer_base+0x20/0x45
 <c01259a0> __mod_timer+0x94/0xb7  <c0300243> sk_reset_timer+0xc/0x16
 <c032f326> tcp_send_delayed_ack+0x9a/0x12d  <c032acec> tcp_rcv_established+0x3ec/0x6ec
 <c033267d> tcp_v4_do_rcv+0xc6/0xc8  <c0332d49> tcp_v4_rcv+0x6ca/0x7cc
 <c0318e76> ip_local_deliver+0x52/0x138  <c0319153> ip_rcv+0x1f7/0x438
 <c027a079> rtl8169_rx_fill+0x51/0x61  <c030690a> netif_receive_skb+0x1a0/0x1a8
 <c034a1ef> unix_ioctl+0xaf/0xc8  <c02fcf7f> sock_ioctl+0x114/0x203
 <c02fce6b> sock_ioctl+0x0/0x203  <c016cb16> do_ioctl+0x86/0x95
 <c016cca4> vfs_ioctl+0x5e/0x1c0  <c016e44d> sys_poll+0x35/0x57
 <c0102aaf> sysenter_past_esp+0x54/0x75
Mem-info:
DMA per-cpu:
cpu 0 hot: high 0, batch 1 used:0
cpu 0 cold: high 0, batch 1 used:0
cpu 1 hot: high 0, batch 1 used:0
cpu 1 cold: high 0, batch 1 used:0
DMA32 per-cpu: empty
Normal per-cpu:
cpu 0 hot: high 186, batch 31 used:30
cpu 0 cold: high 62, batch 15 used:54
cpu 1 hot: high 186, batch 31 used:172
cpu 1 cold: high 62, batch 15 used:46
HighMem per-cpu: empty
Free pages:        4868kB (0kB HighMem)
Active:189852 inactive:18171 dirty:2 writeback:1345 unstable:0 free:1217 slab:13036 mapped:178800 pagetables:1059
DMA free:3548kB min:68kB low:84kB high:100kB active:8108kB inactive:0kB present:16384kB pages_scanned:364 all_unreclaimable? no
lowmem_reserve[]: 0 0 880 880
DMA32 free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 880 880
Normal free:1320kB min:3756kB low:4692kB high:5632kB active:751300kB inactive:72684kB present:901120kB pages_scanned:2222 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
HighMem free:0kB min:128kB low:128kB high:128kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
DMA: 1*4kB 1*8kB 1*16kB 0*32kB 1*64kB 1*128kB 1*256kB 0*512kB 1*1024kB 1*2048kB 0*4096kB = 3548kB
DMA32: empty
Normal: 0*4kB 1*8kB 0*16kB 1*32kB 0*64kB 0*128kB 1*256kB 0*512kB 1*1024kB 0*2048kB 0*4096kB = 1320kB
HighMem: empty
Swap cache: add 63235, delete 50800, find 12795/15156, race 0+0
Free swap  = 1877228kB
Total swap = 2048248kB
Free swap:       1877228kB
229376 pages of RAM
0 pages of HIGHMEM
3041 reserved pages
145007 pages shared
12435 pages swap cached
2 pages dirty
1345 pages writeback
178800 pages mapped
13036 pages slab
1059 pages pagetables
Comment 1 Andrei Slavoiu 2006-08-14 03:22:03 UTC
Portage 2.1-r2 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.6-r4, 2.6.17-gentoo-r4 i686)
=================================================================
System uname: 2.6.17-gentoo-r4 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz
Gentoo Base System version 1.12.4
app-admin/eselect-compiler: [Not Present]
dev-lang/python:     2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -mfpmath=sse -pipe -ggdb"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -march=pentium4 -mfpmath=sse -pipe -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer parallel-fetch sandbox sfperms splitdebug strict"
GENTOO_MIRRORS="ftp://ftp.roedu.net/pub/mirrors/gentoo.org ftp://ftp.lug.ro/gentoo http://gentoo.romnet.org http://distfiles.gentoo.org"
LANG="ro_RO.UTF-8"
LC_ALL="ro_RO.UTF-8"
LDFLAGS="-Wl,-O1,--enable-new-dtags,--sort-common,-z,combreloc"
LINGUAS="ro eo en"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.ro.gentoo.org/gentoo-portage"
USE="x86 7zip X a52 aac aalib accessibility acl acpi akode alsa amr apache2 apm asf audiofile avi bash-completion berkdb bitmap-fonts bzip2 bzlib caps cddb cdparanoia clamav crypt css cups curl dga dlloader dmi doc dpms dri dv dvd dvdr dvdread eds emboss encode erandom examples exif expat fbcon ffmpeg flac foomaticdb fortran gcj gd gdbm gif glut gmp gnokii gnutls gphoto2 gpm graphviz hal idn imagemagick ipv6 isdnlog java javascript jpeg jpeg2k justify kde kdeenablefinal kdehiddenvisibility kerberos kig-scripting kipi kqemu lcms ldap libcaca libclamav libg++ libwww live lm_sensors lzo mad matroska mbrola mikmod mjpeg mmap mmx motif mp3 mp4 mpeg musepack musicbrainz mythtv ncurses network nls nodrm nowin nptl nptlonly offensive ofx ogg openal openexr opengl oss pam pcre pdf pdflib perl php physfs png postgres povray pppd python qt3 quicktime rdesktop readline reflection reiserfs rtc ruby samba sasl sdl session sms snmp speex spell spl sqlite sse sse2 ssl subversion svg symlink syslog sysvipc tcpd theora threads tidy tiff truetype truetype-fonts type1-fonts udev unicode usb videos visualization voice vorbis win32codecs wmf x264 xcomposite xine xml xmlrpc xorg xv xvid xvmc zeroconf zip zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux linguas_ro linguas_eo linguas_en userland_GNU video_cards_nv video_cards_nvidia"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Andrei Slavoiu 2006-08-14 03:23:45 UTC
Created attachment 94216 [details]
.config

my kernel config file, might be relevant.
Comment 3 Daniel Drake (RETIRED) gentoo-dev 2006-08-14 11:53:11 UTC
Is this reproducible at all? I think it may be related to unplugging the cable while the network connection is under load.

Please attach full dmesg output from the booted system (does not matter if the error has not occurred)
Comment 4 Andrei Slavoiu 2006-08-14 23:16:49 UTC
Created attachment 94293 [details]
dmesg

No, it's not reproducible. And yes, it happened under heavy load of both the network and CPU, but i'm not aware of the cable being disconnected.
Comment 5 Daniel Drake (RETIRED) gentoo-dev 2006-08-15 03:53:05 UTC
Restarting the switch is equivalent to unplugging the network cable for a couple of seconds. During this time the network driver buffers filled up and the system ran out of memory, so you got this failure.

Unfortunately there is not much we can do if this is not reproducible, and as your kernel is tainted by the closed-source nvidia driver most developers will not be willing to even look at it.

Also, not sure if you are aware, but not all of your RAM is being used. You probably have more than 896mb of RAM in the system but only 896mb is available to Linux. You must build highmem into your kernel to use the full amount. This is documented at http://www.gentoo.org/doc/en/kernel-config.xml
Enabling highmem would increase the amount of available memory which would probably help (to some extent) to avoid this bug.
Comment 6 Daniel Drake (RETIRED) gentoo-dev 2006-08-15 03:53:44 UTC
See this thread for another report
http://lkml.org/lkml/2006/8/10/305
Comment 7 Andrei Slavoiu 2006-08-15 04:10:12 UTC
(In reply to comment #5)
> Restarting the switch is equivalent to unplugging the network cable for a
> couple of seconds. During this time the network driver buffers filled up and
> the system ran out of memory, so you got this failure.
The switch was actually restarted several minutes later after we figured that this is what caused the lack of internet access to all the computers in the room, and when I mentioned it I was actually meaning that I'm not sure if my dying network driver sent a malformed package that caused the switch to get stuck... But I guess you are right, it could be the switch that got stuck first and caused the error on my computer.
> 
> Unfortunately there is not much we can do if this is not reproducible, and as
> your kernel is tainted by the closed-source nvidia driver most developers will
> not be willing to even look at it.
Yes, I'm aware of that, unfortunately I'm not making the purchase decisions here... And the nv driver is really slow.
> 
> Also, not sure if you are aware, but not all of your RAM is being used. You
> probably have more than 896mb of RAM in the system but only 896mb is available
> to Linux. You must build highmem into your kernel to use the full amount. 
Didn't notice this... I was using CONFIG_VMSPLIT_3G_OPT for full 1G low mem, but it looks like it was made to depend on EMBEDDED in newer kernels and got silently deactivated by make oldconfig.