Current-Users archive

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

Panic on evbarm triggered by dumpfs



Hi all!

Today I made fresh install of evbarm from current sources. I am able to
trigger panics after I use dumpfs command. I am able to use the system
otherwise, boot into multiuser and I am able to read root file system to
/dev/null simulating superblock sized reads (8k) so reading the SD card
looks fine.

evbarm# dd if=/dev/rld0a of=/dev/null bs=8k
227367+1 records in
227367+1 records out
1862597632 bytes transferred in 643.602 secs (2894020 bytes/sec)

I created partition table, disklabel and filesystem on NetBSD 6.1/amd64.
This is how it looks on evbarm:

evbarm# disklabel ld0
...
6 partitions:
#        size    offset     fstype [fsize bsize cpg/sgs]
 a:   3637886     32130     4.2BSD   2048 16384     0  # (Cyl.     15*-   1791)
 b:    262144   3670016       swap                     # (Cyl.   1792 -   1919)
 c:   3932160         0     unused      0     0        # (Cyl.      0 -   1919)
 d:   3932160         0     unused      0     0        # (Cyl.      0 -   1919)
 e:     32067        63    unknown                     # (Cyl.      0*-     15*)

pc# newfs -O 2 /dev/rsd0a
/dev/rsd0a: 1776.3MB (3637884 sectors) block size 16384, fragment size 2048
        using 10 cylinder groups of 177.64MB, 11369 blks, 22080 inodes.
super-block backups (for fsck_ffs -b #) at:
160, 363968, 727776, 1091584, 1455392, 1819200, 2183008, 2546816, 2910624, 
3274432,

Now, let me trigger panic in single user mode.

evbarm# shutdown -p now
... reboot and enter single user mode shell prompt ...
Enter pathname of shell or RETURN for /bin/sh: 
Terminal type is vt100.                                                 
We recommend that you create a non-root account and use su(1) for root access.
# dumpfs -s /dev/rld0a
dumpfs: /dev/rld0a: could not find superblock, skipped
# dumpfs -s /dev/rld0a
dumpfs: /dev/rld0a: could not find superblock, skipped
# shutdown -p now
Shutdown NOW!
shutdown: [pid 11]
# panic: pool_get: pvepl: page empty
Stopped in pid 12.1 (sh) at     netbsd:cpu_Debugger+0x4:        bx      r14
db> bt                                                                     
0xcbab9d84: netbsd:vpanic+0x10
0xcbab9d9c: netbsd:printf_nolog
0xcbab9dd4: netbsd:pool_get+0x304
0xcbab9e30: netbsd:pmap_enter+0x748
0xcbab9f54: netbsd:uvm_fault_internal+0xa58
0xcbab9fac: netbsd:prefetch_abort_handler+0x148

Interesting is that I'm able to trigger this reliably by resetting the
system, entering single user mode, issuing "dumpfs -s /dev/rld0a"
once or twice and then "shutdown -p now".

On the other hand, I am able to issue these commands when SD card
is in USB dongle connected to PC.

pc# scan_ffs /dev/rsd0d
Disk: STORAGE DEVICE  fictitious
Total sectors on disk: 3932160

FFSv2 at 32130 size 3637884, last mounted on /
^C
pc# dumpfs -s /dev/rsd0a | head
file system: /dev/rsd0a
format  FFSv2
endian  little-endian
location 65536  (-b 128)
magic   19540119        time    Tue Jan 14 20:41:21 2014
superblock location     65536   id      [ 52d57477 69a9a8b3 ]
cylgrp  dynamic inodes  FFSv2   sblock  FFSv2   fslevel 5
nbfree  102175  ndir    1333    nifree  213714  nffree  175
ncg     10      size    909471  blocks  881670
bsize   16384   shift   14      mask    0xffffc000


evbarm# scan_ffs /dev/rld0c
Disk: STORAGE DEVICE  fictitious
Total sectors on disk: 3932160

FFSv2 at 32130 size 3637884, last mounted on /
^C

And, if I dump some of file system using dd, into the file in /tmp I am able
to read it with dumpfs... only dumpfs on device node seems to trigger panic.

evbarm# dumpfs -s -F /tmp/a.dat|head
file system: /tmp/a.dat
format  FFSv2
endian  little-endian
location 65536  (-b 128)
magic   19540119        time    Tue Jan 14 18:47:16 2014
superblock location     65536   id      [ 52d57477 69a9a8b3 ]
cylgrp  dynamic inodes  FFSv2   sblock  FFSv2   fslevel 5
nbfree  101213  ndir    1333    nifree  213712  nffree  174
ncg     10      size    909471  blocks  881670
bsize   16384   shift   14      mask    0xffffc000

What do I do wrong? Can I debug this further somehow...

Best regards
Petri Laakso


Home | Main Index | Thread Index | Old Index