FS#36115 - kernel 3.9.9-1 drops 'randomly' in emergency shell with RAID 1 and syslinux

Attached to Project: Arch Linux
Opened by Xan (xan) - Friday, 12 July 2013, 09:46 GMT
Last edited by Dave Reisner (falconindy) - Friday, 12 July 2013, 11:12 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To No-one
Architecture x86_64
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:

* I install archlinux on software RAID 1.
* I detect that sometimes yes, sometimes no, the kernel send me to emergency shell (see screenshot and transcription).
* The drives that belongs to RAID are clean. I can't check whole RAID drive, because in emergency shell, it does not appear.
* I test with mdadm or mdadm_udev only in HOOKS (in mkinitcpio.conf), but the result is worst (always emergency shell).

Additional info:
* package version(s): kernel 3.9.9-1
* config and/or log files etc.

==/etc/mdadm.conf ==

DEVICE /dev/sdb*
DEVICE /dev/sdc*
ARRAY /dev/md127 metadata=0.90 UUID=85db9bf0-dab2-4476-9fef-86d3d6f31336 devices=/dev/sdb1,/dev/sdc1
ARRAY /dev/md126 metadata=0.90 UUID=674cffc8-6c38-4d28-b6eb-eca5cfb33d90 devices=/dev/sdb2,/dev/sdc2
ARRAY /dev/md3 metadata=0.90 UUID=1c8b1d00-19fa-469d-b279-02ccdebf41d7 devices=/dev/sdb4,/dev/sdc4
#/dev/md3: UUID="1c8b1d00-19fa-469d-b279-02ccdebf41d7" TYPE="ext4"
#/dev/md127: UUID="85db9bf0-dab2-4476-9fef-86d3d6f31336" TYPE="ext4"
#/dev/md126: UUID="674cffc8-6c38-4d28-b6eb-eca5cfb33d90" TYPE="ext4"

== /etc/mkinitcpio.conf ==
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES="piix ide_disk reiserfs"
MODULES="ext4 raid1 raid456 nouveau"

# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image. This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=""

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way. This is useful for config files.
FILES=""

# HOOKS
# This is the most important setting in this file. The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
## This setup specifies all modules in the MODULES setting above.
## No raid, lvm2, or encrypted root is needed.
# HOOKS="base"
#
## This setup will autodetect all modules for your system and should
## work as a sane default
# HOOKS="base udev autodetect block filesystems"
#
## This setup will generate a 'full' image which supports most systems.
## No autodetection is done.
# HOOKS="base udev block filesystems"
#
## This setup assembles a pata mdadm array with an encrypted root FS.
## Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
# HOOKS="base udev block mdadm encrypt filesystems"
#
## This setup loads an lvm2 volume group on a usb device.
# HOOKS="base udev block lvm2 filesystems"
#
## NOTE: If you have /usr on a separate partition, you MUST include the
# usr, fsck and shutdown hooks.
HOOKS="base udev autodetect modconf block mdadm mdadm_udev filesystems keyboard fsck shutdown"
# has mdadm_udev and mdadm

# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=""

== /boot/syslinux/syslinux.cfg ==
# Config file for Syslinux -
# /boot/syslinux/syslinux.cfg
#
# Comboot modules:
# * menu.c32 - provides a text menu
# * vesamenu.c32 - provides a graphical menu
# * chain.c32 - chainload MBRs, partition boot sectors, Windows bootloaders
# * hdt.c32 - hardware detection tool
# * reboot.c32 - reboots the system
# * poweroff.com - shutdown the system
#
# To Use: Copy the respective files from /usr/lib/syslinux to /boot/syslinux.
# If /usr and /boot are on the same file system, symlink the files instead
# of copying them.
#
# If you do not use a menu, a 'boot:' prompt will be shown and the system
# will boot automatically after 5 seconds.
#
# Please review the wiki: https://wiki.archlinux.org/index.php/Syslinux
# The wiki provides further configuration examples

DEFAULT arch
PROMPT 0 # Set to 1 if you always want to display the boot: prompt
TIMEOUT 50
# You can create syslinux keymaps with the keytab-lilo tool
#KBDMAP de.ktl

# Menu Configuration
# Either menu.c32 or vesamenu32.c32 must be copied to /boot/syslinux
UI menu.c32
#UI vesamenu.c32

# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
MENU TITLE Arch Linux
#MENU BACKGROUND splash.png
MENU COLOR border 30;44 #40ffffff #a0000000 std
MENU COLOR title 1;36;44 #9033ccff #a0000000 std
MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all
MENU COLOR unsel 37;44 #50ffffff #a0000000 std
MENU COLOR help 37;40 #c0ffffff #a0000000 std
MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std
MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std
MENU COLOR msg07 37;40 #90ffffff #a0000000 std
MENU COLOR tabmsg 31;40 #30ffffff #00000000 std

# boot sections follow
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
#-*

LABEL arch
MENU LABEL Arch Linux
LINUX ../vmlinuz-linux
APPEND root=/dev/md127 ro md=126,/dev/sdb2,/dev/sdc2 md=127,/dev/sdb1,/dev/sdc1 md=3,/dev/sdb4,/dev/sdc4 vga=773
INITRD ../initramfs-linux.img

LABEL archfallback
MENU LABEL Arch Linux Fallback
LINUX ../vmlinuz-linux
APPEND root=/dev/md127 ro md=126,/dev/sdb2,/dev/sdc2 md=127,/dev/sdb1,/dev/sdc1 md=3,/dev/sdb4,/dev/sdc4
INITRD ../initramfs-linux-fallback.img

#LABEL windows
# MENU LABEL Windows
# COM32 chain.c32
# APPEND hd0 1

LABEL hdt
MENU LABEL HDT (Hardware Detection Tool)
COM32 hdt.c32

LABEL reboot
MENU LABEL Reboot
COM32 reboot.c32

LABEL off
MENU LABEL Power Off
COMBOOT poweroff.com

== fstab ==
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
# /dev/md127
UUID=85db9bf0-dab2-4476-9fef-86d3d6f31336 / ext4 rw,relatime,data=ordered 0 1

# /dev/md126
UUID=674cffc8-6c38-4d28-b6eb-eca5cfb33d90 /boot ext4 rw,relatime,data=ordered 0 2

# /dev/sdc3
UUID=1733bc16-f5cf-44fd-8a1b-df0a7b8936cf none swap defaults 0 0

# /dev/sdb3
UUID=3c14f039-ce9a-4447-8b58-288609ebf6ad none swap defaults,pri=-2 0 0

# /dev/md3
UUID=1c8b1d00-19fa-469d-b279-02ccdebf41d7 /compartit ext4 rw,relatime,data=ordered 0 3

== transcription of screenshot ==
:: running early hook [udev]
[ 0.910759] nouveau E[ DRM] Pointer to flat panel table invalid
:: running hook [udev]
:: Triggering uevents...
:: running hook [mdadm]
Waiting 10 seconds for device /dev/md127 ...
:: performing fsck on '/dev/md127'
fsck.ext2: Invalid argument while trying to open /dev/md127
/dev/md127:
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>

ERROR: fsck failed on '/dev/md127'
:: mounting '/dev/md127' on real root
[ 1.906277] EXT4-fs (md127): unable to read superblock
[ 1.906351] EXT4-fs (md127): unable to read superblock
[ 1.906411] EXT4-fs (md127): unable to read superblock
mount: wrong fs type, bad option, bad superblock on /dev/md127,
missing codepage or helper program, or other error

In some cases useful info is found in syslog - try dmesg | tail or so.
You are now being dropped into an emergency shell.
sh: can't access tty: job control turned off
[rootfs /]#

Steps to reproduce:

Boot the system.


Related: https://bbs.archlinux.org/viewtopic.php?id=160230
This task depends upon

Closed by  Dave Reisner (falconindy)
Friday, 12 July 2013, 11:12 GMT
Reason for closing:  Not a bug
Additional comments about closing:  Your config is completely fubar. Please get rid of the duplicate mdadm hook and the md= kernel cmdline config.

Loading...