Montag, 9. November 2009

Things you don't want to see when creating a filesystem...

Wo wir schon beim Thema sind. Habe eben ein altes kernel-log auf meinem nas gefunden:
BUG: unable to handle kernel NULL pointer dereference at 00000004
IP: [] mempool_free+0xe/0x97
*pde = 00000000 
Oops: 0000 [#1] PREEMPT 
Modules linked in: xfs raid456 async_xor async_memcpy async_tx xor md_mod dock container video output wmi ohci_hcd nfsd auth_rpcgss exportfs ac battery ipv6 nfs lockd nfs_acl sunrpc loop parport_pc parport floppy pcspkr rtc i2c_i801 i2c_core rng_core button intel_agp agpgart evdev ext3 jbd mbcache cbc dm_crypt crypto_blkcipher dm_mirror dm_snapshot dm_mod ide_generic ide_cd_mod cdrom ide_disk sd_mod usb_storage dc395x 3c59x mii scsi_mod piix ide_core ehci_hcd uhci_hcd usbcore thermal processor fan

Pid: 27646, comm: md0_raid5 Not tainted (2.6.25.1 #3)
EIP: 0060:[] EFLAGS: 00010286 CPU: 0
EIP is at mempool_free+0xe/0x97
EAX: cf5f15a0 EBX: 00000000 ECX: c15f7990 EDX: 00000000
ESI: 00000000 EDI: cf5f15a0 EBP: 00000000 ESP: cf77be20
 DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
Process md0_raid5 (pid: 27646, ti=cf77a000 task=cf484b00 task.ti=cf77a000)
Stack: ...
Call Trace:
 [] return_io+0x2b/0x33 [raid456]
 [] handle_stripe5+0x488/0xdf9 [raid456]
[...]

Der Bug war übrigens reproduzierbar, wenn man versuchte auf einem gerade im Aufbau befindlichen Raid5 einen LUKS-Container anzulegen und darin dann das Filesystem zu erzeugen.

Things you don't want to see when checking a filesystem...

Out of memory: kill process 3641 (xfs_check) score 20034 or a child
Killed process 3642 (xfs_db)
# xfs_check /dev/sda1
Segmentation fault.
*aargh* 1 GB RAM (davon >700MB frei) sollten meiner Meinung nach für ein fsck auf xfs reichen. Und egal wie kaputt das Dateisystem ist, von einem Superblock mit invaliden Daten sollte es keinen Segfault geben.