Messages in this thread | | | Date | Wed, 26 May 1999 10:34:00 +0200 | From | (Lennart Buytenhek) | Subject | errors/oopses when turning off a swap file |
| |
Hi all!
I've had some problems while turning off one of my swap files when running a rather heavily swapping computation. I dont know whether it's reproducable. Down below is an excerpt of my syslog and some additional info. Anyone ideas on what this is, patches for {making it go away,doing additional error reporting} or hints on what I should watch for?
I know for sure that I'm not running out of swap because I'm turning a swap file off. It's probably got something to do with emptying the swap file or something, but I'm not very deep into the MM/VM stuff, so I can only guess.
Is this a bug? Is this 'bug' known? Or shouldn't I be turning off a part of my swap while swapping?
Thanks in advance
Lennert Buytenhek <buytenh@dsv.nl>
(I don't read this list (other than through kt.opensrc.org), so please CC me. And dont expect a real quick response. A week might be like it.)
data: - uniprocessor PPro 200 with 32 mb - kernel is 2.2.7/2.2.9/2.3.2-devfs (rgooch's /dev fs patches) - gcc is 2.7.2.3 (egcs 1.1.2 with or without -march=pentiumpro, -mcpu=pentiumpro does the same thing) - tries_base is 1024, tries_min is 32, swap_cluster is 512 - three swap files: - /swap 16 megs - /swap2 16 megs - /dosc/swap 64 megs, on a DOS (fat16) partition on a separate disk - average swap usage is ~25megs - running 'dyntree', a computation with a working set which grows to ~50 megs after a minute or 5 (it's a dynamic algorithm for computing an optimal binary search tree for a few thousand nodes. but I think any heavy stuff will do)
I just wanted to give my box a hard time, I don't _need_ this computation for anything.
Here are a few problem scenarios:
2.2.7 ===== VC2: [root@indigo vm]# /sbin/swapon /swap [root@indigo vm]# /sbin/swapon /swap2 [root@indigo vm]# /sbin/swapon /dosc/swap
VC1: [lbuyten@indigo vm]# ./dyntree &
VC2: [root@indigo vm]# /sbin/swapoff /swap [root@indigo vm]# /sbin/swapoff /swap2 [root@indigo vm]# /sbin/swapoff /dosc/swap [root@indigo vm]# /sbin/swapon /swap -> Oops [root@indigo vm]# /sbin/swapon /swap2 -> Oops [root@indigo vm]# /sbin/swapon /dosc/swap -> No problem
[root@indigo vm]# cat /proc/swaps -> Oops
2.3.2-devfs (somewhat more detailed, horror follows) ===========
VC1: [lbuyten@indigo tree]# ./dyntree &
VC2: [root@indigo vm]# cat kswapd 1024 32 512
[root@indigo vm]# /sbin/swapoff /swap try_to_unuse: entry 00034104 count=1 rw_swap_page: Trying to read unallocated swap (00034104) swap_count at 34104: entry 00034104, unused page! swap_free: swap-space map bad (entry 00034104)
[root@indigo vm]# /sbin/swapoff /swap2 try_to_unuse: entry 00029202 count=1 rw_swap_page: Trying to read unallocated swap (00029202) swap_count at 29202: entry 00029202, unused page! swap_free: swap-space map bad (entry 00029202) try_to_unuse: entry 0002b602 count=1 rw_swap_page: Trying to read unallocated swap (0002b602) swap_count at 2b602: entry 0002b602, unused page! swap_free: swap-space map bad (entry 0002b602)
[root@indigo vm]# /sbin/swapon /swap [root@indigo vm]# /sbin/swapon /swap2
[root@indigo vm]# /sbin/swapoff /dosc/swap swap_duplicate at 6d302: entry 0006d302, unused page swap_duplicate at 6d502: entry 0006d502, unused page swap_duplicate at 6d802: entry 0006d802, unused page swap_duplicate at 6d902: entry 0006d902, unused page swap_duplicate at 6da02: entry 0006da02, unused page swap_duplicate at 6dc02: entry 0006dc02, unused page swap_duplicate at 6de02: entry 0006de02, unused page swap_duplicate at 6df02: entry 0006df02, unused page try_to_unuse: entry 00070102 count=1 rw_swap_page: Trying to read unallocated swap (00070102) swap_count at 70102: entry 00070102, unused page! swap_free: swap-space map bad (entry 00070102)
[root@indigo vm]# /sbin/swapon /dosc/swap
[root@indigo vm]# /sbin/swapoff /dosc/swap try_to_unuse: entry 00048800 count=1 rw_swap_page: Trying to read unallocated swap (00048800) swap_count at 48800: entry 00048800, unused page! swap_free: swap-space map bad (entry 00048800) try_to_unuse: entry 0005b000 count=1 rw_swap_page: Trying to read unallocated swap (0005b000) swap_count at 5b000: entry 0005b000, unused page! swap_free: swap-space map bad (entry 0005b000) try_to_unuse: entry 0007f000 count=1 rw_swap_page: Trying to read unallocated swap (0007f000) swap_count at 7f000: entry 0007f000, unused page! swap_free: swap-space map bad (entry 0007f000) try_to_unuse: entry 00082000 count=1 rw_swap_page: Trying to read unallocated swap (00082000) swap_count at 82000: entry 00082000, unused page! swap_free: swap-space map bad (entry 00082000) try_to_unuse: entry 00084100 count=1 rw_swap_page: Trying to read unallocated swap (00084100) swap_count at 84100: entry 00084100, unused page! swap_free: swap-space map bad (entry 00084100) try_to_unuse: entry 0008b000 count=1 rw_swap_page: Trying to read unallocated swap (0008b000) swap_count at 8b000: entry 0008b000, unused page! swap_free: swap-space map bad (entry 0008b000)
[root@indigo vm]# /sbin/swapon /dosc/swap Unable to handle kernel NULL pointer dereference at virtual address 00000008 current->tss.cr3 = 011db000, *pde = 00000000 Oops: 0000 CPU: 0 EIP: 0010:[<c0124281>] <====== sys_swapon is at c0123fb4 EFLAGS: 00010202 eax: 00000000 ebx: c02d6ff4 ecx: 00000003 edx: 00000001 esi: c139f8e0 edi: c139f8e0 ebp: 00000000 esp: c0f59f20 ds: 0018 es: 0018 ss: 0018 Process swapon (pid: 1226, process nr: 31, stackpage=c0f59000) Stack: 08048d29 bffffce0 c02d4364 c0094690 c18a4cc0 c011b504 c011b581 c00521ec 008e3025 c02d6ff4 fffffff0 c028d4a0 00000000 008e3025 00000000 00001000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Call Trace: [<c011b504>] [<c011b581>] [<c0109044>] Code: 8b 40 08 39 47 08 0f 84 6b 04 00 00 42 39 ca 72 de 31 d2 b8
[root@indigo vm]# cat /proc/swaps Unable to handle kernel NULL pointer dereference at virtual address 00000000 current->tss.cr3 = 011db000, *pde = 00000000 Oops: 0000 CPU: 0 EIP: 0010:[<c0123f40>] <====== get_swaparea_info is at c0123e80 EFLAGS: 00010297 eax: 00000001 ebx: 0000004a ecx: 00000000 edx: 00000000 esi: c084d000 edi: c02d6ff4 ebp: 00000000 esp: c0f59f24 ds: 0018 es: 0018 ss: 0018 Process cat (pid: 1229, process nr: 31, stackpage=c0f59000) Stack: c02720dc 00000400 00000001 00000000 c084d000 c015210e c168c000 0000001d c168c000 c015237e c168c000 0000001d c0f59f8c 00000000 00000400 c133b3e0 0804af10 0804af10 00000400 0000001d 00000001 c028fd60 00000000 c0f58000 Call Trace: [<c015210e>] [<c015237e>] [<c0125ab2>] [<c0109044>] Code: 0f b7 44 55 00 85 c0 74 08 3d 00 80 00 00 74 01 41 42 39 54
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |