NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/55388: current on aarch64 Odroid C2: tar -xzf src.tar.gz crashes NetBSD multiple ways
>Number: 55388
>Category: kern
>Synopsis: current on aarch64 Odroid C2: tar -xzf src.tar.gz crashes NetBSD multiple ways
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Jun 15 08:15:00 +0000 2020
>Originator: Mark Millard
>Release: current
>Organization:
>Environment:
NetBSD NBSDODC2 9.99.64 NetBSD 9.99.64 (GENERIC64) #0: Wed Jun 3 07:06:18 UTC 2020 mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/evbarm/compile/GENERIC64 evbarm aarch64
>Description:
The detailed failure tended to vary but someplace in vcache_reclaim
always seemed to be involved in the call chain. 2 crash backtraces
are reported below.
# tar -xzf src.tar.gz -C /usr
[ 809055.7412856] panic: Trap: Data Abort (EL1): Translation Fault L0 with read access for e456e6619dd79e2a: pc ffffc00000476e48: opcode f940029c: ldr x28, [x20]
[ 809055.7512870] cpu2: Begin traceback...
[ 809055.7512870] trace fp ffffc00042bcf7b0
[ 809055.7612880] fp ffffc00042bcf7d0 vpanic() at ffffc000004b2324 netbsd:vpanic+0x15c
[ 809055.7612880] fp ffffc00042bcf840 panic() at ffffc000004b241c netbsd:panic+0x44
[ 809055.7712931] fp ffffc00042bcf8d0 data_abort_handler() at ffffc0000008c2ec netbsd:data_abort_handler+0x4dc
[ 809055.7812920] tf ffffc00042bcf950 el1_trap() at ffffc00000088bd8 netbsd:el1_trap
[ 809055.7912930] ---- trapframe 0xffffc00042bcf950 (304 bytes) ----
[ 809055.7912930] pc=ffffc00000476e48, spsr=0000000060000005
[ 809055.8012925] esr=0000000096000004, far=e456e6619dd79e2a
[ 809055.8012925] x0=0000000000000001, x1=00000000000000c4
[ 809055.8112929] x2=00000000000000c4, x3=0000000000000000
[ 809055.8212920] x4=ffffc000000815ec, x5=0000000000000000
[ 809055.8212920] x6=0000000000000006, x7=000000000000000a
[ 809055.8312921] x8=0000000000000004, x9=ffffc00042bcfdb8
[ 809055.8312921] x10=ffffc00042bcfdb8, x11=0000000000000000
[ 809055.8412930] x12=000000007ccf4000, x13=0000000000000018
[ 809055.8512946] x14=0000000000006000, x15=ffffffffffffffe8
[ 809055.8512946] x16=0000000000000000, x17=0000000000000000
[ 809055.8612947] x18=0000000000001000, x19=ffff00007fdea580
[ 809055.8612947] x20=e456e6619dd79e2a, x21=ffffffffffffffe4
[ 809055.8712943] x22=0000000000000000, x23=ffff00007fdea580
[ 809055.8812963] x24=0000000000000008, x25=0000000000000000
[ 809055.8812963] x26=0000000000000001, x27=ffff00007f12f000
[ 809055.8912956] x28=ffff00006751c000, fp=x29=ffffc00042bcfc80
[ 809055.8912956] lr=x30=ffffc00000476df4, sp=ffffc00042bcfc80
[ 809055.9012962] ------------------------------------------------
[ 809055.9112976] fp ffffc00042bcfc80 rw_enter() at ffffc00000476e48 netbsd:rw_enter+0x88
[ 809055.9212996] fp ffffc00042bcfd30 vcache_reclaim() at ffffc00000514ae8 netbsd:vcache_reclaim+0x98
[ 809055.9212996] fp ffffc00042bcfdf0 vrecycle() at ffffc00000516714 netbsd:vrecycle+0x13c
[ 809055.9313029] fp ffffc00042bcfe30 vdrain_thread() at ffffc00000517118 netbsd:vdrain_thread+0x518
address 0x100 is invalid
address 0xe8 is invalid
[ 809055.9413058] cpu2: End traceback...
[ 809055.9513026] dump to dev 92,9 not possible
[ 809060.9515521] rebooting...
Trying again after the reboot got:
# tar -xf src.tar.gz -C /usr
[ 2906.7962893] panic: kernel diagnostic assertion "RB_SENTINEL_P(standin_son) || RB_RED_P(standin_son)" failed: file "/home/source/ab/HEAD/src/sys/lib/libkern/../../../common/lib/libc/gen/rb.c", line 582
[ 2906.8062904] cpu3: Begin traceback...
[ 2906.8162905] trace fp ffffc00042bcfaf0
[ 2906.8162905] fp ffffc00042bcfb10 vpanic() at ffffc000004b2324 netbsd:vpanic+0x15c
[ 2906.8262906] fp ffffc00042bcfb80 kern_assert() at ffffc000007d054c netbsd:kern_assert+0x5c
[ 2906.8362924] fp ffffc00042bcfc10 rb_tree_remove_node() at ffffc000007cfe84 netbsd:rb_tree_remove_node+0x454
[ 2906.8462917] fp ffffc00042bcfc90 cache_remove() at ffffc000004fb654 netbsd:cache_remove+0x124
[ 2906.8562921] fp ffffc00042bcfcd0 cache_purge1() at ffffc000004fe1f4 netbsd:cache_purge1+0x1cc
[ 2906.8662922] fp ffffc00042bcfd30 vcache_reclaim() at ffffc00000514b34 netbsd:vcache_reclaim+0xe4
[ 2906.8662922] fp ffffc00042bcfdf0 vrecycle() at ffffc00000516714 netbsd:vrecycle+0x13c
[ 2906.8762927] fp ffffc00042bcfe30 vdrain_thread() at ffffc00000517118 netbsd:vdrain_thread+0x518
address 0x100 is invalid
address 0xe8 is invalid
[ 2906.8862939] cpu3: End traceback...
[ 2906.8962945] dump to dev 92,9 not possible
[ 2911.8965471] rebooting...
In both examples, it worked on extracting the tar for a long time
before getting the eventual error.
FYI:
# uname -ap
NetBSD NBSDODC2 9.99.64 NetBSD 9.99.64 (GENERIC64) #0: Wed Jun 3 07:06:18 UTC 2020 mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/evbarm/compile/GENERIC64 evbarm aarch64
# df -m
Filesystem 1M-blocks Used Avail %Cap Mounted on
/dev/ld1a 117296 10346 101085 9% /
/dev/ld1e 79 28 51 35% /boot
kernfs 0 0 0 100% /kern
ptyfs 0 0 0 100% /dev/pts
procfs 0 0 0 100% /proc
tmpfs 503 0 503 0% /var/shm
/dev/ld1 is the (removable) eMMC.
Not that it contributes, but I did have a swap file
set up for the above, but not for the below.
By contrast . . .
Under 9.0_STABLE, the analogous tar -xzf commands for the sources
for 9.0_STABLE completed just fine.
# uname -ap
NetBSD arm64 9.0_STABLE NetBSD 9.0_STABLE (GENERIC64) #0: Thu Jun 11 11:04:11 UTC 2020 mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/evbarm/compile/GENERIC64 evbarm aarch64
This suggests that the problem is specific to current.
I did all this activity as root. I am new to NetBSD.
>How-To-Repeat:
I'd not done much beyond dd'ing the image from armbsd.org, booting it,
and list a name in /etc/rc.conf and set up a swap file before downloading
(ftp) a src.tar.gz (days later) and then trying to expand it. Also
downloaded was xsrc.tar.gz --and one for pkgsrc as well.
Given src.tar.gz is already present, all it took to get
the error was (in each case):
# tar -xzf src.tar.gz -C /usr
and waiting for it.
>Fix:
Home |
Main Index |
Thread Index |
Old Index