On Wed, 21 Sep 2005, Charles Manning wrote: > Sergey > > Please try to keep your comments constructive. I'd like to... You can not imagine how angry I am... > On Wednesday 21 September 2005 08:51, Sergey Kubushyn wrote: > > On Tue, 20 Sep 2005, Timofei V. Bondarenko wrote: > > > > It does NOT. Now it crashes the kernel. When using it as a root FS > the very > > first ldconfig bombs out on rename. > sys_rename->vfs_rename->yaffs_rename > > and KABOOM!!! -- kernel's dead with sefgault and the filesystem is > trashed. > > Can you please provide a stack dump. That would be constructive. Here is the ksymoops output. 100% reproducible - mount that fs, copy any file to anywhere, make an "mv filename filename.old" and KABOOM! you're dead. On a next mount "filename" is missing, "filename.old" is in place i.e. it DOES rename files but each rename is accompanied with a kernel crash... === Cut === ksymoops 2.4.11 on i686 2.6.12-1.1398_FC4. Options used -v /tmp/vmlinux (specified) -K (specified) -L (specified) -O (specified) -m /tmp/System.map (specified) -t elf32-littlearm -a arm -I- AT91F_LowLevelInit(): Debug channel initialized 100BaseTX and Full Duplex arm.vadatech.com login: Unable to handle kernel NULL pointer dereference at virtual address 0000002c Internal error: Oops: 17 [#1] CPU: 0 pc : [] lr : [<00000001>] Not tainted sp : c1b8be98 ip : 60000013 fp : c1b8bec0 r10: c16ac4cc r9 : 00000001 r8 : c14d6000 r7 : c1532538 r6 : c1532538 r5 : c02153d4 r4 : c16ac334 r3 : c14d6070 r2 : 00000000 r1 : 00000007 r0 : c01e8af8 Flags: nZCv IRQs on FIQs on Mode SVC_32 Segment user Control: 317F Table: 216B4000 DAC: 00000015 Stack: (0xc1b8be98 to 0xc1b8c000) be80: 00000000 0000000a bea0: c16ac334 c16ac530 c16ac4cc c1532538 c1532538 c1b8bef4 c1b8bec4 c008a998 bec0: c00e0a18 c167c420 00000000 ffffffd9 c16ac334 c16ac4cc c16acdd4 c16acdd4 bee0: 00000000 c1be5000 c1b8bfa4 c1b8bef8 c008ac0c c008a4dc c16a5000 c16acdd4 bf00: c02c2780 a63a6f54 0000000d c16a5000 00000010 00000000 00000000 c0067f30 bf20: c0067888 c151a8f4 c16b4000 c1bb9d80 c1f75060 bed77a3c c1b8bf4c c16acdd4 bf40: c02c2780 d87eaff8 00000009 c1be5000 00000010 00000000 00000000 c1ecf2e0 bf60: c1bb9d80 c1b8bfac c1b8bf74 c00238d0 c00f85c0 00000000 bed77b04 bed77c22 bf80: bed77b0c bed77b04 00000026 c001cee4 c1b8a000 00000002 00000000 c1b8bfa8 bfa0: c001cd60 c008aab4 bed77c22 c00237a4 bed77c18 bed77c22 401cf71c 00000000 bfc0: bed77c22 bed77b0c bed77b04 00000000 bed77c22 00000000 00000002 00000000 bfe0: 401107f0 bed779dc 0001c5cc 401107f4 60000010 bed77c18 e3530002 1a000026 Backtrace: [] (yaffs_rename+0x0/0xfc) from [] (vfs_rename+0x4cc/0x5d8) [] (vfs_rename+0x0/0x5d8) from [] (sys_rename+0x168/0x1cc) [] (sys_rename+0x0/0x1cc) from [] (ret_fast_syscall+0x0/0x2c) Code: 13e00026 189daff0 e5942008 e3a01007 (e592302c) >>PC; c00e0ad8 <===== >>r5; c02153d4 >>r0; c01e8af8 <__func__.0+9b3c/1c154> Code; c00e0ac8 00000000 <_PC>: Code; c00e0ac8 0: 13e00026 mvnne r0, #38 ; 0x26 Code; c00e0acc 4: 189daff0 ldmneia sp, {r4, r5, r6, r7, r8, r9, sl, fp, sp, pc} Code; c00e0ad0 8: e5942008 ldr r2, [r4, #8] Code; c00e0ad4 c: e3a01007 mov r1, #7 ; 0x7 Code; c00e0ad8 10: e592302c ldr r3, [r2, #44] === Cut === This is the entire capture file (kernel messages might be of some help): === Cut === DataFlash loader 1.0 (Aug 29 2005 - 16:26:43) *--------------------------------------* DataFlash:AT45DB321 Nb pages: 8192 Page Size: 528 Size= 4325376 bytes Logical address: 0xC0000000 *--------------------------------------* 1: Download Dataflash [addr] 2: Read Dataflash [addr] 3: Start U-BOOT [C0008000 => 21F00000] *--------------------------------------* Enter: Load U-BOOT from dataflash to SDRAM Set PLLA to 180Mhz and Master clock to 60Mhz and start U-BOOT U-Boot 1.1.2(Vadatech Release) (Sep 19 2005 - 17:50:14) U-Boot code: 21F00000 -> 21F19D9C BSS: -> 21F1E728 RAM Configuration: Bank #0: 20000000 32 MB Flash: 0 kB NAND:Flash chip found: Manufacturer ID: 0x20, Chip ID: 0x36 (STMicro Nand512R3A) 1 flash chips found. Total nand_chip size: 64 MB 64 MB DataFlash:AT45DB321 Nb pages: 8192 Page Size: 528 Size= 4325376 bytes Logical address: 0xC0000000 Area 0: C0000000 to C0007FFF (RO) Area 1: C0008000 to C0027FFF (RO) Area 2: C0028000 to C002FFFF Area 3: C0030000 to C041FFFF In: serial Out: serial Err: serial PHY-ID1=2000, PHY-ID2=5c90 Status1 = 786d, Status = 115 100BaseTX and Full Duplex Hit any key to stop autoboot: 3 2 1 0 ## Booting image at 21000000 ... Image Name: Linux Kernel Image Image Type: ARM Linux Kernel Image (gzip compressed) Data Size: 1121959 Bytes = 1.1 MB Load Address: 20008000 Entry Point: 20008000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK Starting kernel ... Linux version 2.6.12-vadatech (root@nomad.vadatech.com) (gcc version 3.4.4) #1 Tue Sep 20 14:17:58 PDT 2005 CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T) CPU0: D VIVT write-back cache CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets Machine: VadaTech VT001 Memory policy: ECC disabled, Data cache writeback Built 1 zonelists Kernel command line: console=ttyS0,115200n8 mem=32M root=/dev/nfs nfsroot=192.168.20.1:/home/nfs/Vadatech/fs ip=192.168.20.21:192.168.20.1::::eth0 AT91: 128 gpio irqs in 4 banks PID hash table entries: 256 (order: 8, 4096 bytes) Console: colour dummy device 80x30 Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Memory: 32MB = 32MB total Memory: 29952KB available (1971K code, 373K data, 80K init) Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok NET: Registered protocol family 16 usbcore: registered new driver usbfs usbcore: registered new driver hub NetWinder Floating Point Emulator V0.97 (extended precision) audit: initializing netlink socket (disabled) audit(0.360:0): initialized inotify device minor=63 yaffs Sep 20 2005 14:15:24 Installing. Initializing Cryptographic API AT91 Real Time Clock driver. AT91 SPI driver loaded AT91 Watchdog Timer enabled (5 seconds) ttyS0 at MMIO 0xfefff200 (irq = 1) is a AT91_SERIAL ttyS1 at MMIO 0xfefc4000 (irq = 7) is a AT91_SERIAL io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered loop: loaded (max 8 devices) eth0: Link now 100-FullDuplex eth0: AT91 ethernet at 0xfefbc000 int=24 100-FullDuplex (00:04:9f:22:22:25) eth0: National Semiconductor DP83848 PHY at91_dataflash: AT45DB321B detected [spi0] (4325376 bytes) Creating 1 MTD partitions on "AT45DB321B.spi0": 0x00000000-0x00420000 : "The entire DataFlash" NAND device: Manufacturer ID: 0x20, Chip ID: 0x36 (ST Micro NAND 64MiB 1,8V 8-bit) Scanning device for bad blocks Creating 2 MTD partitions on "NAND 64MiB 1,8V 8-bit": 0x00000000-0x00c00000 : "Application Software" 0x00c00000-0x04000000 : "Root FS (Linux)" usbmon: debugs is not available at91rm9200-ohci at91rm9200-ohci: AT91RM9200 OHCI at91rm9200-ohci at91rm9200-ohci: new USB bus registered, assigned bus number 1 at91rm9200-ohci at91rm9200-ohci: irq 23, io base 0x00300000 usb usb1: Product: AT91RM9200 OHCI usb usb1: Manufacturer: Linux 2.6.12-vadatech ohci_hcd usb usb1: SerialNumber: at91rm9200 hub 1-0:1.0: USB hub found hub 1-0:1.0: 2 ports detected pegasus: v0.6.12 (2005/01/13), Pegasus/Pegasus II USB Ethernet driver usb 1-2: new full speed USB device using at91rm9200-ohci and address 2 usb 1-2: Product: USB To LAN Converter usb 1-2: Manufacturer: ADMtek usb 1-2: SerialNumber: 0001 pegasus 1-2:1.0: setup Pegasus II specific registers pegasus 1-2:1.0: eth1, ADMtek ADM8515 "Pegasus II" USB-2.0 Ethernet, 00:00:e8:00:02:2c usbcore: registered new driver pegasus usbcore: registered new driver usbnet mice: PS/2 mouse device common for all mice i2c /dev entries driver Found AT91 i2c NET: Registered protocol family 2 IP: routing cache hash table of 512 buckets, 4Kbytes TCP established hash table entries: 2048 (order: 2, 16384 bytes) TCP bind hash table entries: 2048 (order: 1, 8192 bytes) TCP: Hash tables configured (established 2048 bind 2048) NET: Registered protocol family 1 NET: Registered protocol family 17 NET: Registered protocol family 15 eth0: Link now 100-FullDuplex eth0: Link now 100-FullDuplex IP-Config: Guessing netmask 255.255.255.0 IP-Config: Complete: device=eth0, addr=192.168.20.21, mask=255.255.255.0, gw=255.255.255.255, host=192.168.20.21, domain=, nis-domain=(none), bootserver=192.168.20.1, rootserver=192.168.20.1, rootpath= Looking up port of RPC 100003/2 on 192.168.20.1 Looking up port of RPC 100005/1 on 192.168.20.1 VFS: Mounted root (nfs filesystem). Freeing init memory: 80K INIT: version 2.85 booting Welcome to Vadatech Core 1.0 Starting udev:[ OK ] Setting clock (utc): Wed Dec 31 16:00:53 PST 1997 [ OK ] Setting hostname arm.vadatech.com: [ OK ] Remounting root filesystem in read-write mode: [ OK ] Mounting local filesystems: [ OK ] Enabling swap space: [ OK ] INIT: Entering runlevel: 3 Entering non-interactive startup Bringing up loopback interface: [ OK ] Bringing up interface eth0: [ OK ] Bringing up interface eth1: [ OK ] Starting system logger: [ OK ] Starting kernel logger: [ OK ] Starting portmap: [ OK ] Mounting other filesystems: [ OK ] Starting sshd:[ OK ] Starting xinetd: [ OK ] Vadatech Core release 1 (Nostromo) Kernel 2.6.12-vadatech on an armv4tl arm.vadatech.com login: Unable to handle kernel NULL pointer dereference at virtual address 0000002c pgd = c16b4000 [0000002c] *pgd=2151a031, *pte=00000000, *ppte=00000000 Internal error: Oops: 17 [#1] Modules linked in: CPU: 0 PC is at yaffs_rename+0xd0/0xfc LR is at 0x1 pc : [] lr : [<00000001>] Not tainted sp : c1b8be98 ip : 60000013 fp : c1b8bec0 r10: c16ac4cc r9 : 00000001 r8 : c14d6000 r7 : c1532538 r6 : c1532538 r5 : c02153d4 r4 : c16ac334 r3 : c14d6070 r2 : 00000000 r1 : 00000007 r0 : c01e8af8 Flags: nZCv IRQs on FIQs on Mode SVC_32 Segment user Control: 317F Table: 216B4000 DAC: 00000015 Process mv (pid: 768, stack limit = 0xc1b8a194) Stack: (0xc1b8be98 to 0xc1b8c000) be80: 00000000 0000000a bea0: c16ac334 c16ac530 c16ac4cc c1532538 c1532538 c1b8bef4 c1b8bec4 c008a998 bec0: c00e0a18 c167c420 00000000 ffffffd9 c16ac334 c16ac4cc c16acdd4 c16acdd4 bee0: 00000000 c1be5000 c1b8bfa4 c1b8bef8 c008ac0c c008a4dc c16a5000 c16acdd4 bf00: c02c2780 a63a6f54 0000000d c16a5000 00000010 00000000 00000000 c0067f30 bf20: c0067888 c151a8f4 c16b4000 c1bb9d80 c1f75060 bed77a3c c1b8bf4c c16acdd4 bf40: c02c2780 d87eaff8 00000009 c1be5000 00000010 00000000 00000000 c1ecf2e0 bf60: c1bb9d80 c1b8bfac c1b8bf74 c00238d0 c00f85c0 00000000 bed77b04 bed77c22 bf80: bed77b0c bed77b04 00000026 c001cee4 c1b8a000 00000002 00000000 c1b8bfa8 bfa0: c001cd60 c008aab4 bed77c22 c00237a4 bed77c18 bed77c22 401cf71c 00000000 bfc0: bed77c22 bed77b0c bed77b04 00000000 bed77c22 00000000 00000002 00000000 bfe0: 401107f0 bed779dc 0001c5cc 401107f4 60000010 bed77c18 e3530002 1a000026 Backtrace: [] (yaffs_rename+0x0/0xfc) from [] (vfs_rename+0x4cc/0x5d8) [] (vfs_rename+0x0/0x5d8) from [] (sys_rename+0x168/0x1cc) [] (sys_rename+0x0/0x1cc) from [] (ret_fast_syscall+0x0/0x2c) Code: 13e00026 189daff0 e5942008 e3a01007 (e592302c) === Cut === > I don't see how the whole filesystem could be trashed. Easy. > > Next mount attempt results in syslog full of "kernel: yaffs tragedy: > > attempting to use non-directory as a directory in scan. Put in > lost+found." > > messages. > > Can you give more details on this? There is a pre-built root fs. Image is generated with mkyaffsimage. On a first boot it executes ldconfig, pwconv, chkconfig on several services and generates ssh keys on its first startup. Somewhere in the process it crashes and I have a totally botched fs that gives me those messages when I'm trying to mount it somewhere (this time I'm running NFS root.) --- ****************************************************************** * KSI@home KOI8 Net < > The impossible we do immediately. * * Las Vegas NV, USA < > Miracles require 24-hour notice. * ******************************************************************