[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#389994: marked as done (initramfs-tools: NFS timeout on first mount causes looping.)



Your message dated Thu, 5 Oct 2006 15:47:25 +0200
with message-id <20061005134725.GA29970@nancy>
and subject line Bug#389994: Found the bug, patch attached
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: initramfs-tools
Version: 0.80
Severity: normal

I'm still getting the timeouts on root mount refered to in bug 359926.
With this version of initramfs-tools the retry fails without really
retrying and it enters a loop. After 180s it times out and drops to a
panic shell. IP is configured since I can ping the client. On the server
I see this in syslog:

Sep 28 17:58:01 hal dhcpd: DHCPDISCOVER from 00:40:63:cc:0f:d0 via eth0
Sep 28 17:58:01 hal dhcpd: DHCPOFFER on 192.168.0.8 to00:40:63:cc:0f:d
Sep 28 17:58:03 hal dhcpd: DHCPREQUEST for 192.168.0.8(192.168.0.4) fr
Sep 28 17:58:03 hal dhcpd: DHCPACK on 192.168.0.8 to 00:40:63:cc:0f:d0 
Sep 28 17:58:03 hal atftpd[4096]: Serving pxelinux.0 to 192.168.0.8:207
Sep 28 17:58:03 hal atftpd[4096]: Serving pxelinux.0 to 192.168.0.8:207
Sep 28 17:58:03 hal atftpd[4096]: Serving pxelinux.cfg/01-00-40-63-cc-0
Sep 28 17:58:03 hal atftpd[4096]: Serving pxelinux.cfg/orac.menu to 192
Sep 28 17:58:08 hal atftpd[4096]: Serving vmlinuz to 192.168.0.8:57091 
Sep 28 17:58:11 hal atftpd[4096]: Serving initrd.img to 192.168.0.8:570
Sep 28 17:58:29 hal dhcpd: DHCPDISCOVER from 00:40:63:cc:0f:d0 via eth0
Sep 28 17:58:29 hal dhcpd: DHCPOFFER on 192.168.0.8 to 00:40:63:cc:0f:d
Sep 28 17:58:29 hal dhcpd: DHCPREQUEST for 192.168.0.8 (192.168.0.4) fr
Sep 28 17:58:29 hal dhcpd: DHCPACK on 192.168.0.8 to 00:40:63:cc:0f:d0
Sep 28 17:58:30 hal dhcpd: DHCPREQUEST for 192.168.0.8 (192.168.0.4) fr
Sep 28 17:58:30 hal dhcpd: DHCPACK on 192.168.0.8 to 00:40:63:cc:0f:d0
Sep 28 17:58:30 hal mountd[4554]: authenticated mount request from orac
Sep 28 17:58:56 hal dhcpd: DHCPDISCOVER from 00:40:63:cc:0f:d0 via eth0
Sep 28 17:58:56 hal dhcpd: DHCPOFFER on 192.168.0.8 to 00:40:63:cc:0f:d
Sep 28 17:58:56 hal dhcpd: DHCPREQUEST for 192.168.0.8 (192.168.0.4) fr
Sep 28 17:58:56 hal dhcpd: DHCPACK on 192.168.0.8 to 00:40:63:cc:0f:d0 
Sep 28 17:58:57 hal dhcpd: DHCPREQUEST for 192.168.0.8 (192.168.0.4) fr
Sep 28 17:58:57 hal dhcpd: DHCPACK on 192.168.0.8 to 00:40:63:cc:0f:d0 
Sep 28 17:58:58 hal dhcpd: DHCPDISCOVER from 00:40:63:cc:0f:d0 via eth0
Sep 28 17:58:58 hal dhcpd: DHCPOFFER on 192.168.0.8 to 00:40:63:cc:0f:d
Sep 28 17:58:58 hal dhcpd: DHCPREQUEST for 192.168.0.8 (192.168.0.4) fr
Sep 28 17:58:58 hal dhcpd: DHCPACK on 192.168.0.8 to 00:40:63:cc:0f:d0
Sep 28 17:58:59 hal dhcpd: DHCPREQUEST for 192.168.0.8 (192.168.0.4) fr
Sep 28 17:58:59 hal dhcpd: DHCPACK on 192.168.0.8 to 00:40:63:cc:0f:d0

First off the boot rom does DHCP and gets pxelinux.0 from TFTP, that
then gets the config files and after a timeout boots the default vmlinuz
and initrd.img. The kernel then runs and eventually the first DHCP from
scripts/nfs runs, That works and an nfsmount is run. The first nfsmount
results in the mountd message (with no delay) but that first nfsmount
does time out and then 26 secods later scripts/nfs goes back to running
ipconfig. scripts/nfs seems to get screwed up here since the nfsmount
does not get retried. The DISCOVER...ACK sequence repeats every 1 second
until the 180 second timeout and then I guess it ends up it a shell
prompt since it won't find init.

The previous version of initramfs-tools worked better than this, at
least the second nfsmount would be tried and would usually succeed.

I don't know the cause of this. I have NFSROOT=auto from
/etc/initramfs-tools/initramfs.conf but I think that only has effect on
the first pass through scripts/nfs:

        # get nfs root from dhcp
        if [ "x${NFSROOT}" = "xauto" ]; then
                NFSROOT=${ROOTSERVER}:${ROOTPATH}
        # nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]
        elif [ -n "${NFSROOT}" ]; then
                # nfs options are an optional arg
                if [ "${NFSROOT#*,}" != "${NFSROOT}" ]; then
                        NFSOPTS="-o ${NFSROOT#*,}"
                fi
                NFSROOT=${NFSROOT%%,*}
                if [ "${NFSROOT#:*}" = "$NFSROOT" ]; then
                        NFSROOT=${ROOTSERVER}:${NFSROOT}
                fi
        fi

The first time through this NFSROOT will start at "auto" but will end
up as "192.168.0.4:/" or whatever ipconfig puts in ROOTSERVER,ROOTPATH.
The second time through NFSROOT will be "x.x.x.x:/xxx" and it won't be
changed. I think if ipconfig screws up the first time the retries will
not correct it but will keep on trying to nfs mount with bad options.

At least that's my guess as to what's happening. It might be better to
split the ipconfig stage from the nfsmount stage and have both sit in a
loop until they each succeed. At least then the ipconfig would work.
I've never had ipconfig fail. It's not likely to either with PXE since the
only way the initrd arrives is with the boot rom running DHCP and fetching
pxelinux.0. So with PXE the DHCPD and TFTPD have both been woken up
and tested before initramfs-tools does anything.

-- Package-specific info:
-- /proc/cmdline on the server
root=LABEL=root

-- /proc/cmdline on the clients
boot=nfs 3

-- /proc/filesystems
	cramfs
	ext3

-- lsmod
Module                  Size  Used by
unionfs                64896  0 
savage                 28416  1 
drm                    61556  2 savage
nfsd                  196644  17 
exportfs                5504  1 nfsd
ipv6                  222304  42 
p4_clockmod             5476  0 
speedstep_lib           4548  1 p4_clockmod
freq_table              4544  1 p4_clockmod
dm_snapshot            16032  0 
dm_mirror              18928  0 
dm_mod                 50424  2 dm_snapshot,dm_mirror
cpufreq_userspace       4160  1 
vt1211                 19512  0 
hwmon_vid               2624  1 vt1211
i2c_isa                 4896  1 vt1211
mousedev               10788  1 
eth1394                18052  0 
snd_via82xx            25912  0 
gameport               14344  1 snd_via82xx
snd_ac97_codec         82720  1 snd_via82xx
snd_ac97_bus            2368  1 snd_ac97_codec
snd_mpu401_uart         7520  1 snd_via82xx
snd_pcm_oss            35968  0 
snd_pcm                74532  3 snd_via82xx,snd_ac97_codec,snd_pcm_oss
snd_page_alloc          9512  2 snd_via82xx,snd_pcm
snd_mixer_oss          15872  1 snd_pcm_oss
snd_seq_dummy           3812  0 
snd_seq_oss            28640  0 
cx88_dvb               12356  12 
cx88_vp3054_i2c         4288  1 cx88_dvb
mt352                   5956  1 cx88_dvb
or51132                 9252  1 cx88_dvb
video_buf_dvb           6308  1 cx88_dvb
dvb_core               69512  1 video_buf_dvb
nxt200x                12036  1 cx88_dvb
zl10353                 4932  1 cx88_dvb
cx24123                12168  1 cx88_dvb
lgdt330x                7292  1 cx88_dvb
cx22702                 5892  1 cx88_dvb
dvb_pll                12388  4 cx88_dvb,or51132,nxt200x,cx22702
cx88_blackbird         18332  0 
cx8802                 11428  2 cx88_dvb,cx88_blackbird
firmware_class          9696  3 or51132,nxt200x,cx88_blackbird
snd_seq_midi            8128  0 
snd_rawmidi            22560  2 snd_mpu401_uart,snd_seq_midi
snd_seq_midi_event      6976  2 snd_seq_oss,snd_seq_midi
snd_seq                46224  6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
snd_timer              20836  2 snd_pcm,snd_seq
snd_seq_device          7756  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
shpchp                 34272  0 
snd                    48100  11 snd_via82xx,snd_ac97_codec,snd_mpu401_uart,snd_pcm_oss,snd_pcm,snd_mixer_oss,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
cx8800                 29740  1 cx88_blackbird
cx88xx                 57732  4 cx88_dvb,cx88_blackbird,cx8802,cx8800
pci_hotplug            27196  1 shpchp
serio_raw               6596  0 
ir_common              27012  1 cx88xx
ohci1394               30448  0 
ieee1394               86584  2 eth1394,ohci1394
soundcore               9216  1 snd
i2c_algo_bit            8328  2 cx88_vp3054_i2c,cx88xx
via_agp                 9632  1 
ide_cd                 35680  0 
cdrom                  32448  1 ide_cd
via_ircc               23092  0 
video_buf              22820  6 cx88_dvb,video_buf_dvb,cx88_blackbird,cx8802,cx8800,cx88xx
tveeprom               13808  1 cx88xx
v4l2_common            14080  2 cx88_blackbird,cx8800
compat_ioctl32          1440  1 cx8800
v4l1_compat            12004  1 cx8800
btcx_risc               4744  3 cx8802,cx8800,cx88xx
videodev                8928  3 cx88_blackbird,cx8800,cx88xx
agpgart                29864  2 drm,via_agp
psmouse                34600  0 
evdev                   9088  3 
irda                  162364  1 via_ircc
crc_ccitt               2208  1 irda
i2c_viapro              8148  0 
i2c_core               19552  14 vt1211,i2c_isa,cx88_dvb,mt352,or51132,nxt200x,zl10353,cx24123,lgdt330x,cx22702,cx88xx,i2c_algo_bit,tveeprom,i2c_viapro
rtc                    12340  0 
pcspkr                  3040  0 
8250_pnp                8704  0 
thermal                12904  0 
processor              25512  1 thermal
fan                     4516  0 
button                  6544  0 
via_rhine              22248  0 
mii                     5312  1 via_rhine
ide_disk               15072  6 
via82cxxx               8292  0 [permanent]
ide_core              111016  3 ide_cd,ide_disk,via82cxxx
usbhid                 36704  0 
uhci_hcd               20424  0 
ehci_hcd               28040  0 
usbcore               111616  4 usbhid,uhci_hcd,ehci_hcd
nfs                   194636  0 
lockd                  53256  3 nfsd,nfs
nfs_acl                 3552  2 nfsd,nfs
sunrpc                137884  13 nfsd,nfs,lockd,nfs_acl
ext3                  118568  3 
jbd                    50292  1 ext3
mbcache                 8324  1 ext3

-- kernel-img.conf
link_in_boot = yes
do_symlinks = yes
relative_links = yes
do_bootloader = no
do_bootfloppy = no
do_initrd = yes
silent_modules = yes
#postinst_hook = /sbin/update-grub
#postrm_hook   = /sbin/update-grub


-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-2-686
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)

Versions of packages initramfs-tools depends on:
ii  busybox                       1:1.1.3-3  Tiny utilities for small and embed
ii  cpio                          2.6-17     GNU cpio -- a program to manage ar
ii  klibc-utils                   1.4.27-1   small statically-linked utilities 
ii  module-init-tools             3.2.2-3    tools for managing Linux kernel mo
ii  udev                          0.100-1    /dev/ and hotplug management daemo

initramfs-tools recommends no packages.

-- no debconf information


--- End Message ---
--- Begin Message ---
Version: 0.81

On Mon, 02 Oct 2006, Tim Phipps wrote:

> The :* is the wrong way around so if $NFSROOT=192.168.0.4:/ the :*
> pattern won't match (NFSROOT doesn't start with :) and so NFSROOT gets
> turned into 192.168.0.4:192.168.0.4:/ which fails to mount. Changing the
> pattern to *: works as (would %:*).
> 
> Cheers,
> Tim.

indeed,
mark it closed or the serious bug will hinder further initramfs-tools
propagation. seems like found/notfound combinations are not enough
for bts kicking.

-- 
maks

--- End Message ---

Reply to: