Experimental TARGET_ARCH armv6hf crashes on my RPi afer some time
Weiß, Jürgen
weiss at uni-mainz.de
Wed Mar 26 21:26:45 UTC 2014
The messages 'sleep: nanosleep: Invalid argument' come from the
sleep command. When compiled without optimization, the
sleep command seems to work. So this seems to be an error
in the clang optimizer.
Regards
Juergen
> -----Original Message-----
> From: owner-freebsd-arm at freebsd.org [mailto:owner-freebsd-arm at freebsd.org] On Behalf Of
> Ralf Wenk
> Sent: Tuesday, March 25, 2014 1:31 PM
> To: arm at freebsd.org
> Subject: Experimental TARGET_ARCH armv6hf crashes on my RPi afer some time
>
> Hi,
>
> I tried the new experimental TARGET_ARCH armv6hf on my raspberry pi.
> World and kernel are build with
> make -j 8 -C $SRCROOT MALLOC_PRODUCTION=yes buildworld
> make -j 8 -C $SRCROOT KERNCONF=$KERNCONF WITH_FDT=yes buildkernel
> and installed over a normal armv6 kernel and world. The release used was
> FreeBSD 11.0-CURRENT #0 r263667M.
>
> Within an hour since boot the system panics with an undefined floating point
> instruction in supervisor mode.
> This happened during a shutdown - but not on every shutdown - and during
> normal system activity. On every shutdown there is a
> sleep: nanosleep: Invalid argument
> message printed in the console.
>
> I do not file a bug report because of the experimental state of armv6hf.
>
> Gathered information from two panics:
> panic: undefined floating point instruction in supervisor mode
> KDB: enter: panic
> [ thread pid 509 tid 100056 ]
> Stopped at $d: ldrb r15, [r15, r15, ror r15]!
> db> bt
> Tracing pid 509 tid 100056 td 0xc2675320
> db_trace_self() at db_trace_self
> pc = 0xc04a38a0 lr = 0xc0136184 (db_stack_trace+0xf4)
> sp = 0xdd794668 fp = 0xdd794680
> r10 = 0xc05c29f0
> db_stack_trace() at db_stack_trace+0xf4
> pc = 0xc0136184 lr = 0xc0135b3c (db_command+0x270)
> sp = 0xdd794688 fp = 0xdd794728
> r4 = 0x00000000 r5 = 0x00000000
> r6 = 0x00000000
> db_command() at db_command+0x270
> pc = 0xc0135b3c lr = 0xc01358a0 (db_command_loop+0x60)
> sp = 0xdd794730 fp = 0xdd794740
> r4 = 0xc04e1377 r5 = 0xc04f5222
> r6 = 0xc05c29dc r7 = 0xdd794928
> r8 = 0xc05b92f0 r9 = 0xc05b92f4
> r10 = 0xc0577c30
> db_command_loop() at db_command_loop+0x60
> pc = 0xc01358a0 lr = 0xc013831c (db_trap+0xd8)
> sp = 0xdd794748 fp = 0xdd794868
> r4 = 0x00000000 r5 = 0xc05c29e8
> r6 = 0xc05b9320
> db_trap() at db_trap+0xd8
> pc = 0xc013831c lr = 0xc02c2274 (kdb_trap+0xcc)
> sp = 0xdd794870 fp = 0xdd794890
> r4 = 0x00000000 r5 = 0x00000001
> r6 = 0xc05b9320 r7 = 0xdd794928
> kdb_trap() at kdb_trap+0xcc
> pc = 0xc02c2274 lr = 0xc04b8eb0 (undefinedinstruction+0x2f8)
> sp = 0xdd794898 fp = 0xdd794920
> r4 = 0x00000000 r5 = 0x00000000
> r6 = 0xc04b8b08 r7 = 0xe7ffffff
> r8 = 0xc2675320 r9 = 0xc02c1b34
> r10 = 0xdd794928
> undefinedinstruction() at undefinedinstruction+0x2f8
> pc = 0xc04b8eb0 lr = 0xc04a5410 (exception_exit)
> sp = 0xdd794928 fp = 0xdd794980
> r4 = 0xc04f527c r5 = 0xc050fe47
> r6 = 0xc05c4460 r7 = 0xc05ab848
> r8 = 0xdd7949b4 r9 = 0xc2675320
> r10 = 0xc05ab7d0
> exception_exit() at exception_exit
> pc = 0xc04a5410 lr = 0xc02c1b28 (kdb_enter+0x40)
> sp = 0xdd794978 fp = 0xdd794980
> r0 = 0xc05b9304 r1 = 0x00000000
> r2 = 0x00000001 r3 = 0x00000001
> r4 = 0xc04f527c r5 = 0xc050fe47
> r6 = 0xc05c4460 r7 = 0xc05ab848
> r8 = 0xdd7949b4 r9 = 0xc2675320
> r10 = 0xc05ab7d0 r12 = 0x00000000
> $a() at $a
> pc = 0xc02c1b38 lr = 0xc0285b54 (panic+0xc4)
> sp = 0xdd794988 fp = 0xdd7949a8
> r4 = 0x00000100
> panic() at panic+0xc4
> pc = 0xc0285b54 lr = 0xc04b991c ($d)
> sp = 0xdd7949c0 fp = 0xdd7949c0
> r4 = 0x00000000 r5 = 0xc05c2890
> r6 = 0xc04b985c r7 = 0xeca00b20
> r8 = 0xc2675320 r9 = 0xc04b9940
> r10 = 0xdd794a58
> $d() at $d
> pc = 0xc04b991c lr = 0xc04b8cac (undefinedinstruction+0xf4)
> sp = 0xdd7949c8 fp = 0xdd794a50
> undefinedinstruction() at undefinedinstruction+0xf4
> pc = 0xc04b8cac lr = 0xc04a5410 (exception_exit)
> sp = 0xdd794a58 fp = 0xdd794ad0
> r4 = 0xc2884640 r5 = 0xc2675320
> r6 = 0xc05c4640 r7 = 0xc05c7ec0
> r8 = 0x8791dcd3 r9 = 0xdd758eb8
> r10 = 0xc059e9e0
> exception_exit() at exception_exit
> pc = 0xc04a5410 lr = 0xc04b6c80 (cpu_switch+0x60)
> sp = 0xdd794aa8 fp = 0xdd794ad0
> r0 = 0xdd794ef0 r1 = 0x00000001
> r2 = 0xdd794eb8 r3 = 0x00000000
> r4 = 0xc2884640 r5 = 0xc2675320
> r6 = 0xc05c4640 r7 = 0xc05c7ec0
> r8 = 0x8791dcd3 r9 = 0xdd758eb8
> r10 = 0xc059e9e0 r12 = 0xc0000780
> vfp_store() at vfp_store+0x14
> pc = 0xc04b9940 lr = 0xc04b6c80 (cpu_switch+0x60)
> sp = 0xdd794aa8 fp = 0xdd794ad0
> Unwind failure (no registers changed)
> db>
> db> show proc 509
> Process 509 (devd) at 0xc25c4640:
> state: NORMAL
> uid: 0 gids: 0
> parent: pid 1 at 0xc2431640
> ABI: FreeBSD ELF32
> arguments: /sbin/devd
> threads: 1
> 100056 Run CPU 255 devd
> db>
> db> show thread 100056
> Thread 100056 at 0xc2675320:
> proc (pid 509): 0xc25c4640
> name: devd
> stack: 0xdd757000-0xdd758fff
> flags: 0x1000004 pflags: 0
> state: RUNNING (CPU 255)
> priority: 140
> container lock: sched lock (0xc05c4640)
> db>
>
>
> system shutdown time has arrived
> sleep: nanosleep: Invalid argument
> panic: undefined floating point instruction in supervisor mode
> KDB: enter: panic
> [ thread pid 11 tid 100005 ]
> Stopped at $d: ldrb r15, [r15, r15, ror r15]!
> db> bt
> Tracing pid 11 tid 100005 td 0xc2433960
> db_trace_self() at db_trace_self
> pc = 0xc04a38a0 lr = 0xc0136184 (db_stack_trace+0xf4)
> sp = 0xdd749360 fp = 0xdd749378
> r10 = 0xc05c29f0
> db_stack_trace() at db_stack_trace+0xf4
> pc = 0xc0136184 lr = 0xc0135b3c (db_command+0x270)
> sp = 0xdd749380 fp = 0xdd749420
> r4 = 0x00000000 r5 = 0x00000000
> r6 = 0x00000000
> db_command() at db_command+0x270
> pc = 0xc0135b3c lr = 0xc01358a0 (db_command_loop+0x60)
> sp = 0xdd749428 fp = 0xdd749438
> r4 = 0xc04e1377 r5 = 0xc04f5222
> r6 = 0xc05c29dc r7 = 0xdd749620
> r8 = 0xc05b92f0 r9 = 0xc05b92f4
> r10 = 0xc0577c30
> db_command_loop() at db_command_loop+0x60
> pc = 0xc01358a0 lr = 0xc013831c (db_trap+0xd8)
> sp = 0xdd749440 fp = 0xdd749560
> r4 = 0x00000000 r5 = 0xc05c29e8
> r6 = 0xc05b9320
> db_trap() at db_trap+0xd8
> pc = 0xc013831c lr = 0xc02c2274 (kdb_trap+0xcc)
> sp = 0xdd749568 fp = 0xdd749588
> r4 = 0x00000000 r5 = 0x00000001
> r6 = 0xc05b9320 r7 = 0xdd749620
> kdb_trap() at kdb_trap+0xcc
> pc = 0xc02c2274 lr = 0xc04b8eb0 (undefinedinstruction+0x2f8)
> sp = 0xdd749590 fp = 0xdd749618
> r4 = 0x00000000 r5 = 0x00000000
> r6 = 0xc04b8b08 r7 = 0xe7ffffff
> r8 = 0xc2433960 r9 = 0xc02c1b34
> r10 = 0xdd749620
> undefinedinstruction() at undefinedinstruction+0x2f8
> pc = 0xc04b8eb0 lr = 0xc04a5410 (exception_exit)
> sp = 0xdd749620 fp = 0xdd749678
> r4 = 0xc04f527c r5 = 0xc050fe47
> r6 = 0xc05c4460 r7 = 0xc05ab848
> r8 = 0xdd7496ac r9 = 0xc2433960
> r10 = 0xc05ab7d0
> exception_exit() at exception_exit
> pc = 0xc04a5410 lr = 0xc02c1b28 (kdb_enter+0x40)
> sp = 0xdd749670 fp = 0xdd749678
> r0 = 0xc05b9304 r1 = 0x00000000
> r2 = 0x00000001 r3 = 0x00000001
> r4 = 0xc04f527c r5 = 0xc050fe47
> r6 = 0xc05c4460 r7 = 0xc05ab848
> r8 = 0xdd7496ac r9 = 0xc2433960
> r10 = 0xc05ab7d0 r12 = 0x00000000
> $a() at $a
> pc = 0xc02c1b38 lr = 0xc0285b54 (panic+0xc4)
> sp = 0xdd749680 fp = 0xdd7496a0
> r4 = 0x00000100
> panic() at panic+0xc4
> pc = 0xc0285b54 lr = 0xc04b991c ($d)
> sp = 0xdd7496b8 fp = 0xdd7496b8
> r4 = 0x00000000 r5 = 0xc05c2890
> r6 = 0xc04b985c r7 = 0xeca00b20
> r8 = 0xc2433960 r9 = 0xc04b9940
> r10 = 0xdd749750
> $d() at $d
> pc = 0xc04b991c lr = 0xc04b8cac (undefinedinstruction+0xf4)
> sp = 0xdd7496c0 fp = 0xdd749748
> undefinedinstruction() at undefinedinstruction+0xf4
> pc = 0xc04b8cac lr = 0xc04a5410 (exception_exit)
> sp = 0xdd749750 fp = 0xdd7497c8
> r4 = 0xc25a8000 r5 = 0xc2433960
> r6 = 0xc05c4640 r7 = 0xc05c7ec0
> r8 = 0x5aee06ac r9 = 0xdb3abeb8
> r10 = 0xc059e9e0
> exception_exit() at exception_exit
> pc = 0xc04a5410 lr = 0xc04b6c80 (cpu_switch+0x60)
> sp = 0xdd7497a0 fp = 0xdd7497c8
> r0 = 0xdd749ef0 r1 = 0x00000001
> r2 = 0xdd749eb8 r3 = 0x00000000
> r4 = 0xc25a8000 r5 = 0xc2433960
> r6 = 0xc05c4640 r7 = 0xc05c7ec0
> r8 = 0x5aee06ac r9 = 0xdb3abeb8
> r10 = 0xc059e9e0 r12 = 0xc0000708
> vfp_store() at vfp_store+0x14
> pc = 0xc04b9940 lr = 0xc04b6c80 (cpu_switch+0x60)
> sp = 0xdd7497a0 fp = 0xdd7497c8
> Unwind failure (no registers changed)
> db> show proc 11
> Process 11 (intr) at 0xc2431000:
> state: NORMAL
> uid: 0 gids: 0
> parent: pid 0 at 0xc05c3658
> ABI: null
> threads: 24
> 100034 I [intr17: dwcotg0]
> 100033 I [swi0: uart]
> 100032 I [intr70: sdhci_bcm0]
> 100031 I [intr1: mbox0]
> 100030 I [intr35: bcm_dma0]
> 100029 I [intr34: bcm_dma0]
> 100028 I [intr33: bcm_dma0]
> 100027 I [intr32: bcm_dma0]
> 100026 I [intr31: bcm_dma0]
> 100025 I [intr30: bcm_dma0]
> 100024 I [intr29: bcm_dma0]
> 100023 I [intr28: bcm_dma0]
> 100022 I [intr27: bcm_dma0]
> 100021 I [intr26: bcm_dma0]
> 100020 I [intr25: bcm_dma0]
> 100019 I [intr24: bcm_dma0]
> 100018 I [intr62: spi0]
> 100017 I [intr61: iichb0+]
> 100015 I [swi6: Giant taskq]
> 100014 I [swi6: task queue]
> 100010 I [swi5: fast taskq]
> 100005 Run CPU 255 [swi4: clock (0)]
> 100004 I [swi3: vm]
> 100003 I [swi1: netisr 0]
> db> sh thread 100005
> Thread 100005 at 0xc2433960:
> proc (pid 11): 0xc2431000
> name: swi4: clock (0)
> stack: 0xdb3aa000-0xdb3abfff
> flags: 0x1000004 pflags: 0x200400
> state: RUNNING (CPU 255)
> priority: 40
> container lock: sched lock (0xc05c4640)
> db>
>
>
> Ralf
>
> _______________________________________________
> freebsd-arm at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
More information about the freebsd-arm
mailing list