Messages in this thread | | | Date | Fri, 4 Jun 1999 21:34:02 +0200 (CEST) | From | Ralf Nyren <> | Subject | Kernel (2.2.9) crash after trying to mount a swap-device. |
| |
1. Kernel (2.2.9) crash after trying to mount a swap-device.
2. Well of course you shouldn't mount swap ;-) Still I think this problem worth a bug report since a failing mount attempt shouldn't crash the kernel. Trying to reproduce the problem I found out that if you try to mount the swap-device (may it be a partition or a file accessed through the loop-device), which of course fails, the swap goes unstable. When the system begin to use swap it more or less crashes.
3.
4. Linux version 2.2.9 (root@HADDOCK) (gcc version 2.7.2.3) #3 Fri May 21 15:49:35 CEST 1999
5.
6. Here follows a short description of how to trigger the bug and some kernel output. My swap is at /dev/hda1 (3:01).
# mount /dev/hda1 /mnt [MS-DOS FS Rel. 12,FAT 16,check=n,conv=b,uid=0,gid=0,umask=022] [me=0xff,cs=32385,#f=255,fs=65409,fl=8322945,ds=2130673920,de=65535,data=2130678111,se=65535,ts=-1,ls=65535,rc=0,fc=4294967295] Transaction block size = 512 VFS: Can't find a valid MSDOS filesystem on dev 03:01. # cat /dev/zero | memory-eater // Just run some program that uses a LOT of memory kernel: ll_rw_block: device 03:01: only 512-char blocks implemented (4096) kernel: ll_rw_block: device 03:01: only 512-char blocks implemented (4096) kernel: ll_rw_block: device 03:01: only 512-char blocks implemented (4096) kernel: ll_rw_block: device 03:01: only 512-char blocks implemented (4096) . . . .
If you are lucky you might be able to kill the process but the system is then very unstable.
7. 7.1. Linux HADDOCK 2.2.9 #3 Fri May 21 15:49:35 CEST 1999 i686 unknown Kernel modules 2.1.121 Gnu C 2.7.2.3 Binutils 2.9.1.0.19 Linux C Library 2.0.7 Dynamic linker ldd: version 1.9.10 Procps 1.2.9 Mount 2.9g Net-tools 2.01 Kbd 0.96 Sh-utils 1.16 Modules Loaded nls_iso8859-1 nls_cp437 vfat fat
7.2. processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 3 model name : Pentium II (Klamath) stepping : 4 cpu MHz : 232.347025 cache size : 512 KB fdiv_bug : no hlt_bug : no sep_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov mmx bogomips : 231.83
8. I've successfully reproduced this bug on another system (kernel 2.2.7) using a swap through the loop-device.
I've also noticed that if I turned off the swap after the mount and the turned it on again I could continue use the system for a while. Although then suddenly all processes went zombie and I had to reboot ;-)
Now, I'm not a kernel coder but I think the problem could be something close to this. When trying to mount the swap device the blocksize for accessing the device is set to 512, from "Transaction block size = 512". Although this value is not reset to the original (4096) and when the kernel needs swap again and want to access the device the blocksizes mismatch, "kernel: ll_rw_block: device 03:01: only 512-char blocks implemented (4096)".
Hope you got enough information about the problem.
Thanks /Ralf Nyrén
- 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/
| |