pps_ioctl panic
O'Connor, Daniel
darius at dons.net.au
Tue Apr 28 07:13:36 UTC 2015
Hi all,
I'm trying to get gpsd + PPS working on a Beaglebone Black but when I start gpsd I get the panic at the bottom of the email.
I've run ntpd to the same device with PPS without problems.
I haven't had a more detailed look yet though.
root at beaglebone:~ # gpsd -n /dev/cuau1
root at beaglebone:~ # gpSleeping on "ppsfch" with the following non-sleepable locks held:
exclusive sleep mutex ttymtx (ttymtx) r = 0 (0xc2ae9e04) locked @ /src/FreeBSD-HEAD/sys/kern/tty.c:178
KDB: stack backtrace:
lock order reversal: (sleepable after non-sleepable)
1st 0xc2ae9e04 ttymtx (ttymtx) @ /src/FreeBSD-HEAD/sys/kern/tty.c:178
2nd 0xc0746da0 kernel linker (kernel linker) @ /src/FreeBSD-HEAD/sys/kern/kern_linker.c:552
KDB: stack backtrace:
db_trace_self() at db_trace_self
pc = 0xc05dcffc lr = 0xc0233f00 (db_trace_self_wrapper+0x30)
sp = 0xde6ec7a8 fp = 0xde6ec8c0
r10 = 0xc0634d9e
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
pc = 0xc0233f00 lr = 0xc03d351c (witness_checkorder+0xf0c)
sp = 0xde6ec8c8 fp = 0xde6ec910
r4 = 0xc064194a r5 = 0xc0746da0
r6 = 0xc064154d r7 = 0xc0634d9e
witness_checkorder() at witness_checkorder+0xf0c
pc = 0xc03d351c lr = 0xc037dacc (_sx_xlock+0x80)
sp = 0xde6ec918 fp = 0xde6ec948
r4 = 0x00000228 r5 = 0xc064154d
r6 = 0xc0746db0 r7 = 0xc0746da0
r8 = 0x00000000 r9 = 0xc0673e43
r10 = 0xc0787af4
_sx_xlock() at _sx_xlock+0x80
pc = 0xc037dacc lr = 0xc0353574 (linker_file_foreach+0x34)
sp = 0xde6ec950 fp = 0xde6ec968
r4 = 0xc0746d80 r5 = 0xde6ec970
r6 = 0xc05f2644 r7 = 0xc05dcffc
r8 = 0xc0746da0 r10 = 0xc0787af4
linker_file_foreach() at linker_file_foreach+0x34
pc = 0xc0353574 lr = 0xc05f2260 (unwind_stack_one+0x5c)
sp = 0xde6ec970 fp = 0xde6ec998
r4 = 0xde6ec9d8 r5 = 0xde6ec970
r6 = 0x00000000 r7 = 0xc05dcffc
r8 = 0xc06f53a8 r10 = 0xc0787af4
unwind_stack_one() at unwind_stack_one+0x5c
pc = 0xc05f2260 lr = 0xc05dce94 (db_stack_trace_cmd+0x38)
sp = 0xde6ec9a0 fp = 0xde6ec9d0
r4 = 0xde6ec9d8 r5 = 0xc0656339
r6 = 0x00000000 r7 = 0xc0645e89
r8 = 0x00000000 r9 = 0xc0673e43
r10 = 0xc0787af4
db_stack_trace_cmd() at db_stack_trace_cmd+0x38
pc = 0xc05dce94 lr = 0xc05dd02c (db_trace_self+0x30)
sp = 0xde6ec9d8 fp = 0xde6eca30
r4 = 0x00000000 r5 = 0xde6eca3c
r6 = 0x00000000 r7 = 0x00000001
r8 = 0x00000000 r9 = 0xffffffff
r10 = 0xc0787af4
db_trace_self() at db_trace_self+0x30
pc = 0xc05dd02c lr = 0xc0233f00 (db_trace_self_wrapper+0x30)
sp = 0xde6eca38 fp = 0xde6ecb50
r10 = 0xc0787af4
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
pc = 0xc0233f00 lr = 0xc03d4930 (witness_warn+0x49c)
sp = 0xde6ecb58 fp = 0xde6ecba0
r4 = 0x00000001 r5 = 0xc06504a4
r6 = 0x00000000 r7 = 0x00000001
witness_warn() at witness_warn+0x49c
pc = 0xc03d4930 lr = 0xc037f148 (_sleep+0x68)
sp = 0xde6ecbb0 fp = 0xde6ecc08
r4 = 0x00000000 r5 = 0xc2fc56f0
r6 = 0x00000001 r7 = 0xc06472ac
r8 = 0xc2ae9cb0 r9 = 0x00000100
r10 = 0xc2fef660
_sleep() at _sleep+0x68
pc = 0xc037f148 lr = 0xc0386e88 (pps_ioctl+0x380)
sp = 0xde6ecc10 fp = 0xde6ecc58
r4 = 0xde6ecd28 r5 = 0xc2ae9cb0
r6 = 0x00000065 r7 = 0xc0483106
r8 = 0x00000000 r9 = 0x00000000
r10 = 0x00000000
pps_ioctl() at pps_ioctl+0x380
pc = 0xc0386e88 lr = 0xc03e5738 (tty_ioctl+0x8c)
sp = 0xde6ecc60 fp = 0xde6ecc78
r4 = 0xc2ae9e00 r5 = 0x00000007
r6 = 0xc026c630 r7 = 0xc0483106
r8 = 0xc2fef660 r9 = 0xde6ecd28
r10 = 0x00000000
tty_ioctl() at tty_ioctl+0x8c
pc = 0xc03e5738 lr = 0xc03e7ab0 (ttydev_ioctl+0x298)
sp = 0xde6ecc80 fp = 0xde6ecca0
r4 = 0xc2ae9e00 r5 = 0xc2ae9400
r6 = 0xc2d9be40 r7 = 0xc0483106
r8 = 0x00000007 r9 = 0xde6ecd28
ttydev_ioctl() at ttydev_ioctl+0x298
pc = 0xc03e7ab0 lr = 0xc02a65bc (devfs_ioctl_f+0x150)
sp = 0xde6ecca8 fp = 0xde6eccd0
r4 = 0xc30c1300 r5 = 0xc03e7818
r6 = 0xc2d9be40 r7 = 0xc0483106
r8 = 0xde6ecd28 r9 = 0xc2fef660
devfs_ioctl_f() at devfs_ioctl_f+0x150
pc = 0xc02a65bc lr = 0xc03d7c78 (kern_ioctl+0x210)
sp = 0xde6eccd8 fp = 0xde6ecd18
r4 = 0xc2fef660 r5 = 0xc0483106
r6 = 0x00000005 r7 = 0xc02a646c
r8 = 0xde6ecd28 r9 = 0xc30ef000
r10 = 0x00000000
kern_ioctl() at kern_ioctl+0x210
pc = 0xc03d7c78 lr = 0xc03d79e0 (sys_ioctl+0xd0)
sp = 0xde6ecd20 fp = 0xde6ecdc8
r4 = 0x00000048 r5 = 0xde6ecde4
r6 = 0xc0483106 r7 = 0x00000000
r8 = 0xde6ecd28 r9 = 0xc2fef660
r10 = 0x40000000
sys_ioctl() at sys_ioctl+0xd0
pc = 0xc03d79e0 lr = 0xc05f0dd4 (swi_handler+0x2e4)
sp = 0xde6ecdd0 fp = 0xde6ece48
r4 = 0xc2fef660 r5 = 0x00000000
r6 = 0xc07be110 r7 = 0x00000000
r8 = 0xde6ecddc r9 = 0xc2fc56f0
r10 = 0x0001dc68
swi_handler() at swi_handler+0x2e4
pc = 0xc05f0dd4 lr = 0xc05de618 (swi_exit)
sp = 0xde6ece50 fp = 0xbf3fefc0
r4 = 0x20803600 r5 = 0x00000001
r6 = 0x200a5ab8 r7 = 0x00000036
r8 = 0x00000000 r9 = 0x00000023
r10 = 0x0001dc68
swi_exit() at swi_exit
pc = 0xc05de618 lr = 0xc05de618 (swi_exit)
sp = 0xde6ece50 fp = 0xbf3fefc0
db_trace_self() at db_trace_self
pc = 0xc05dcffc lr = 0xc0233f00 (db_trace_self_wrapper+0x30)
sp = 0xde6eca38 fp = 0xde6ecb50
r10 = 0xc0787af4
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
pc = 0xc0233f00 lr = 0xc03d4930 (witness_warn+0x49c)
sp = 0xde6ecb58 fp = 0xde6ecba0
r4 = 0x00000001 r5 = 0xc06504a4
r6 = 0x00000000 r7 = 0x00000001
witness_warn() at witness_warn+0x49c
pc = 0xc03d4930 lr = 0xc037f148 (_sleep+0x68)
sp = 0xde6ecbb0 fp = 0xde6ecc08
r4 = 0x00000000 r5 = 0xc2fc56f0
r6 = 0x00000001 r7 = 0xc06472ac
r8 = 0xc2ae9cb0 r9 = 0x00000100
r10 = 0xc2fef660
_sleep() at _sleep+0x68
pc = 0xc037f148 lr = 0xc0386e88 (pps_ioctl+0x380)
sp = 0xde6ecc10 fp = 0xde6ecc58
r4 = 0xde6ecd28 r5 = 0xc2ae9cb0
r6 = 0x00000065 r7 = 0xc0483106
r8 = 0x00000000 r9 = 0x00000000
r10 = 0x00000000
pps_ioctl() at pps_ioctl+0x380
pc = 0xc0386e88 lr = 0xc03e5738 (tty_ioctl+0x8c)
sp = 0xde6ecc60 fp = 0xde6ecc78
r4 = 0xc2ae9e00 r5 = 0x00000007
r6 = 0xc026c630 r7 = 0xc0483106
r8 = 0xc2fef660 r9 = 0xde6ecd28
r10 = 0x00000000
tty_ioctl() at tty_ioctl+0x8c
pc = 0xc03e5738 lr = 0xc03e7ab0 (ttydev_ioctl+0x298)
sp = 0xde6ecc80 fp = 0xde6ecca0
r4 = 0xc2ae9e00 r5 = 0xc2ae9400
r6 = 0xc2d9be40 r7 = 0xc0483106
r8 = 0x00000007 r9 = 0xde6ecd28
ttydev_ioctl() at ttydev_ioctl+0x298
pc = 0xc03e7ab0 lr = 0xc02a65bc (devfs_ioctl_f+0x150)
sp = 0xde6ecca8 fp = 0xde6eccd0
r4 = 0xc30c1300 r5 = 0xc03e7818
r6 = 0xc2d9be40 r7 = 0xc0483106
r8 = 0xde6ecd28 r9 = 0xc2fef660
devfs_ioctl_f() at devfs_ioctl_f+0x150
pc = 0xc02a65bc lr = 0xc03d7c78 (kern_ioctl+0x210)
sp = 0xde6eccd8 fp = 0xde6ecd18
r4 = 0xc2fef660 r5 = 0xc0483106
r6 = 0x00000005 r7 = 0xc02a646c
r8 = 0xde6ecd28 r9 = 0xc30ef000
r10 = 0x00000000
kern_ioctl() at kern_ioctl+0x210
pc = 0xc03d7c78 lr = 0xc03d79e0 (sys_ioctl+0xd0)
sp = 0xde6ecd20 fp = 0xde6ecdc8
r4 = 0x00000048 r5 = 0xde6ecde4
r6 = 0xc0483106 r7 = 0x00000000
r8 = 0xde6ecd28 r9 = 0xc2fef660
r10 = 0x40000000
sys_ioctl() at sys_ioctl+0xd0
pc = 0xc03d79e0 lr = 0xc05f0dd4 (swi_handler+0x2e4)
sp = 0xde6ecdd0 fp = 0xde6ece48
r4 = 0xc2fef660 r5 = 0x00000000
r6 = 0xc07be110 r7 = 0x00000000
r8 = 0xde6ecddc r9 = 0xc2fc56f0
r10 = 0x0001dc68
swi_handler() at swi_handler+0x2e4
pc = 0xc05f0dd4 lr = 0xc05de618 (swi_exit)
sp = 0xde6ece50 fp = 0xbf3fefc0
r4 = 0x20803600 r5 = 0x00000001
r6 = 0x200a5ab8 r7 = 0x00000036
r8 = 0x00000000 r9 = 0x00000023
r10 = 0x0001dc68
swi_exit() at swi_exit
pc = 0xc05de618 lr = 0xc05de618 (swi_exit)
sp = 0xde6ece50 fp = 0xbf3fefc0
s caSleeping on "ppsfch" with the following non-sleepable locks held:
exclusive sleep mutex ttymtx (ttymtx) r = 0 (0xc2ae9e04) locked @ /src/FreeBSD-HEAD/sys/kern/tty.c:178
KDB: stack backtrace:
db_trace_self() at db_trace_self
pc = 0xc05dcffc lr = 0xc0233f00 (db_trace_self_wrapper+0x30)
sp = 0xde6eca38 fp = 0xde6ecb50
r10 = 0xc0787af4
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
pc = 0xc0233f00 lr = 0xc03d4930 (witness_warn+0x49c)
sp = 0xde6ecb58 fp = 0xde6ecba0
r4 = 0x00000001 r5 = 0xc06504a4
r6 = 0x00000000 r7 = 0x00000001
witness_warn() at witness_warn+0x49c
pc = 0xc03d4930 lr = 0xc037f148 (_sleep+0x68)
sp = 0xde6ecbb0 fp = 0xde6ecc08
r4 = 0x00000000 r5 = 0xc2fc56f0
r6 = 0x00000001 r7 = 0xc06472ac
r8 = 0xc2ae9cb0 r9 = 0x00000100
r10 = 0xc2fef660
_sleep() at _sleep+0x68
pc = 0xc037f148 lr = 0xc0386e88 (pps_ioctl+0x380)
sp = 0xde6ecc10 fp = 0xde6ecc58
r4 = 0xde6ecd28 r5 = 0xc2ae9cb0
r6 = 0x00000065 r7 = 0xc0483106
r8 = 0x00000000 r9 = 0x00000000
r10 = 0x00000000
pps_ioctl() at pps_ioctl+0x380
pc = 0xc0386e88 lr = 0xc03e5738 (tty_ioctl+0x8c)
sp = 0xde6ecc60 fp = 0xde6ecc78
r4 = 0xc2ae9e00 r5 = 0x00000007
r6 = 0xc026c630 r7 = 0xc0483106
r8 = 0xc2fef660 r9 = 0xde6ecd28
r10 = 0x00000000
tty_ioctl() at tty_ioctl+0x8c
pc = 0xc03e5738 lr = 0xc03e7ab0 (ttydev_ioctl+0x298)
sp = 0xde6ecc80 fp = 0xde6ecca0
r4 = 0xc2ae9e00 r5 = 0xc2ae9400
r6 = 0xc2d9be40 r7 = 0xc0483106
r8 = 0x00000007 r9 = 0xde6ecd28
ttydev_ioctl() at ttydev_ioctl+0x298
pc = 0xc03e7ab0 lr = 0xc02a65bc (devfs_ioctl_f+0x150)
sp = 0xde6ecca8 fp = 0xde6eccd0
r4 = 0xc30c1300 r5 = 0xc03e7818
r6 = 0xc2d9be40 r7 = 0xc0483106
r8 = 0xde6ecd28 r9 = 0xc2fef660
devfs_ioctl_f() at devfs_ioctl_f+0x150
pc = 0xc02a65bc lr = 0xc03d7c78 (kern_ioctl+0x210)
sp = 0xde6eccd8 fp = 0xde6ecd18
r4 = 0xc2fef660 r5 = 0xc0483106
r6 = 0x00000005 r7 = 0xc02a646c
r8 = 0xde6ecd28 r9 = 0xc30ef000
r10 = 0x00000000
kern_ioctl() at kern_ioctl+0x210
pc = 0xc03d7c78 lr = 0xc03d79e0 (sys_ioctl+0xd0)
sp = 0xde6ecd20 fp = 0xde6ecdc8
r4 = 0x00000048 r5 = 0xde6ecde4
r6 = 0xc0483106 r7 = 0x00000000
r8 = 0xde6ecd28 r9 = 0xc2fef660
r10 = 0x40000000
sys_ioctl() at sys_ioctl+0xd0
pc = 0xc03d79e0 lr = 0xc05f0dd4 (swi_handler+0x2e4)
sp = 0xde6ecdd0 fp = 0xde6ece48
r4 = 0xc2fef660 r5 = 0x00000000
r6 = 0xc07be110 r7 = 0x00000000
r8 = 0xde6ecddc r9 = 0xc2fc56f0
r10 = 0x0001dc68
swi_handler() at swi_handler+0x2e4
pc = 0xc05f0dd4 lr = 0xc05de618 (swi_exit)
sp = 0xde6ece50 fp = 0xbf3fefc0
r4 = 0x00000000 r5 = 0x00000000
r6 = 0x200a5ab8 r7 = 0x00000036
r8 = 0x00000000 r9 = 0x00000000
r10 = 0x0001dc68
swi_exit() at swi_exit
pc = 0xc05de618 lr = 0xc05de618 (swi_exit)
sp = 0xde6ece50 fp = 0xbf3fefc0
Sleeping on "ppsfch" with the following non-sleepable locks held:
exclusive sleep mutex ttymtx (ttymtx) r = 0 (0xc2ae9e04) locked @ /src/FreeBSD-HEAD/sys/kern/tty.c:178
KDB: stack backtrace:
db_trace_self() at db_trace_self
pc = 0xc05dcffc lr = 0xc0233f00 (db_trace_self_wrapper+0x30)
sp = 0xde6eca38 fp = 0xde6ecb50
r10 = 0xc0787af4
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
pc = 0xc0233f00 lr = 0xc03d4930 (witness_warn+0x49c)
sp = 0xde6ecb58 fp = 0xde6ecba0
r4 = 0x00000001 r5 = 0xc06504a4
r6 = 0x00000000 r7 = 0x00000001
witness_warn() at witness_warn+0x49c
pc = 0xc03d4930 lr = 0xc037f148 (_sleep+0x68)
sp = 0xde6ecbb0 fp = 0xde6ecc08
r4 = 0x00000000 r5 = 0xc2fc56f0
r6 = 0x00000001 r7 = 0xc06472ac
r8 = 0xc2ae9cb0 r9 = 0x00000100
r10 = 0xc2fef660
_sleep() at _sleep+0x68
pc = 0xc037f148 lr = 0xc0386e88 (pps_ioctl+0x380)
sp = 0xde6ecc10 fp = 0xde6ecc58
r4 = 0xde6ecd28 r5 = 0xc2ae9cb0
r6 = 0x00000065 r7 = 0xc0483106
r8 = 0x00000000 r9 = 0x00000000
r10 = 0x00000000
pps_ioctl() at pps_ioctl+0x380
pc = 0xc0386e88 lr = 0xc03e5738 (tty_ioctl+0x8c)
sp = 0xde6ecc60 fp = 0xde6ecc78
r4 = 0xc2ae9e00 r5 = 0x00000007
r6 = 0xc026c630 r7 = 0xc0483106
r8 = 0xc2fef660 r9 = 0xde6ecd28
r10 = 0x00000000
tty_ioctl() at tty_ioctl+0x8c
pc = 0xc03e5738 lr = 0xc03e7ab0 (ttydev_ioctl+0x298)
sp = 0xde6ecc80 fp = 0xde6ecca0
r4 = 0xc2ae9e00 r5 = 0xc2ae9400
r6 = 0xc2d9be40 r7 = 0xc0483106
r8 = 0x00000007 r9 = 0xde6ecd28
ttydev_ioctl() at ttydev_ioctl+0x298
pc = 0xc03e7ab0 lr = 0xc02a65bc (devfs_ioctl_f+0x150)
sp = 0xde6ecca8 fp = 0xde6eccd0
r4 = 0xc30c1300 r5 = 0xc03e7818
r6 = 0xc2d9be40 r7 = 0xc0483106
r8 = 0xde6ecd28 r9 = 0xc2fef660
devfs_ioctl_f() at devfs_ioctl_f+0x150
pc = 0xc02a65bc lr = 0xc03d7c78 (kern_ioctl+0x210)
sp = 0xde6eccd8 fp = 0xde6ecd18
r4 = 0xc2fef660 r5 = 0xc0483106
r6 = 0x00000005 r7 = 0xc02a646c
r8 = 0xde6ecd28 r9 = 0xc30ef000
r10 = 0x00000000
kern_ioctl() at kern_ioctl+0x210
pc = 0xc03d7c78 lr = 0xc03d79e0 (sys_ioctl+0xd0)
sp = 0xde6ecd20 fp = 0xde6ecdc8
r4 = 0x00000048 r5 = 0xde6ecde4
r6 = 0xc0483106 r7 = 0x00000000
r8 = 0xde6ecd28 r9 = 0xc2fef660
r10 = 0x40000000
sys_ioctl() at sys_ioctl+0xd0
pc = 0xc03d79e0 lr = 0xc05f0dd4 (swi_handler+0x2e4)
sp = 0xde6ecdd0 fp = 0xde6ece48
r4 = 0xc2fef660 r5 = 0x00000000
r6 = 0xc07be110 r7 = 0x00000000
r8 = 0xde6ecddc r9 = 0xc2fc56f0
r10 = 0x0001dc68
swi_handler() at swi_handler+0x2e4
pc = 0xc05f0dd4 lr = 0xc05de618 (swi_exit)
sp = 0xde6ece50 fp = 0xbf3fefc0
r4 = 0x00000000 r5 = 0x00000000
r6 = 0x200a5ab8 r7 = 0x00000036
r8 = 0x00000000 r9 = 0x00000000
r10 = 0x0001dc68
swi_exit() at swi_exit
pc = 0xc05de618 lr = 0xc05de618 (swi_exit)
sp = 0xde6ece50 fp = 0xbf3fefc0
Sleeping thread (tid 100089, pid 688) owns a non-sleepable lock
KDB: stack backtrace of thread 100089:
panic: acquiring blockable sleep lock with spinlock or critical section held (sx) kernel linker @ /src/FreeBSD-HEAD/sys/kern/kern_linker.c:552
KDB: enter: panic
[ thread pid 11 tid 100019 ]
Stopped at $d.7: ldrb r15, [r15, r15, ror r15]!
--
Daniel O'Connor
"The nice thing about standards is that there
are so many of them to choose from."
-- Andrew Tanenbaum
GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C
More information about the freebsd-arm
mailing list