This seemed to start happening sometime after RC1. I tried 8-STABLE and
it's happening there too right now. I think whatever caused this was
MFC'd. I've also reproduced this on completely different hardware
running a single disk ZFS pool.
I'm getting this output in dmesg after these hangs I keep seeing.
uma_zalloc_arg: zone "pfrktable" with the following non-sleepable locks
held:
exclusive sleep mutex pf task mtx (pf task mtx) r = 0
(0xffffffff8199af20) locked @
/tank/svn/sys/modules/pf/../../contrib/pf/net/pf_ioctl.c:1589
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
kdb_backtrace() at kdb_backtrace+0x37
_witness_debugger() at _witness_debugger+0x2e
witness_warn() at witness_warn+0x2c4
uma_zalloc_arg() at uma_zalloc_arg+0x335
pfr_create_ktable() at pfr_create_ktable+0xd8
pfr_ina_define() at pfr_ina_define+0x12b
pfioctl() at pfioctl+0x1c5a
devfs_ioctl_f() at devfs_ioctl_f+0x7a
kern_ioctl() at kern_ioctl+0xcd
sys_ioctl() at sys_ioctl+0xfd
amd64_syscall() at amd64_syscall+0x3ac
Xfast_syscall() at Xfast_syscall+0xf7
--- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x800da711c, rsp =
0x7fffffff9d28, rbp = 0x7fffffffa1f0 ---
uma_zalloc_arg: zone "pfrktable" with the following non-sleepable locks
held:
exclusive sleep mutex pf task mtx (pf task mtx) r = 0
(0xffffffff8199af20) locked @
/tank/svn/sys/modules/pf/../../contrib/pf/net/pf_ioctl.c:1589
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
kdb_backtrace() at kdb_backtrace+0x37
_witness_debugger() at _witness_debugger+0x2e
witness_warn() at witness_warn+0x2c4
uma_zalloc_arg() at uma_zalloc_arg+0x335
pfr_create_ktable() at pfr_create_ktable+0xd8
pfr_ina_define() at pfr_ina_define+0x179
pfioctl() at pfioctl+0x1c5a
devfs_ioctl_f() at devfs_ioctl_f+0x7a
kern_ioctl() at kern_ioctl+0xcd
sys_ioctl() at sys_ioctl+0xfd
amd64_syscall() at amd64_syscall+0x3ac
Xfast_syscall() at Xfast_syscall+0xf7
--- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x800da711c, rsp =
0x7fffffff9d28, rbp = 0x7fffffffa1f0 ---
uma_zalloc_arg: zone "pfrkentry" with the following non-sleepable locks
held:
exclusive sleep mutex pf task mtx (pf task mtx) r = 0
(0xffffffff8199af20) locked @
/tank/svn/sys/modules/pf/../../contrib/pf/net/pf_table.c:75
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
kdb_backtrace() at kdb_backtrace+0x37
_witness_debugger() at _witness_debugger+0x2e
witness_warn() at witness_warn+0x2c4
uma_zalloc_arg() at uma_zalloc_arg+0x335
pfr_create_kentry() at pfr_create_kentry+0x73
pfr_ina_define() at pfr_ina_define+0x2ef
pfioctl() at pfioctl+0x1c5a
devfs_ioctl_f() at devfs_ioctl_f+0x7a
kern_ioctl() at kern_ioctl+0xcd
sys_ioctl() at sys_ioctl+0xfd
amd64_syscall() at amd64_syscall+0x3ac
Xfast_syscall() at Xfast_syscall+0xf7
--- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x800da711c, rsp =
0x7fffffff9d28, rbp = 0x7fffffffa1f0 ---
uma_zalloc_arg: zone "pfrkentry" with the following non-sleepable locks
held:
exclusive sleep mutex pf task mtx (pf task mtx) r = 0
(0xffffffff8199af20) locked @
/tank/svn/sys/modules/pf/../../contrib/pf/net/pf_table.c:75
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
kdb_backtrace() at kdb_backtrace+0x37
_witness_debugger() at _witness_debugger+0x2e
witness_warn() at witness_warn+0x2c4
uma_zalloc_arg() at uma_zalloc_arg+0x335
pfr_create_kentry() at pfr_create_kentry+0x73
pfr_ina_define() at pfr_ina_define+0x2ef
pfioctl() at pfioctl+0x1c5a
devfs_ioctl_f() at devfs_ioctl_f+0x7a
kern_ioctl() at kern_ioctl+0xcd
sys_ioctl() at sys_ioctl+0xfd
amd64_syscall() at amd64_syscall+0x3ac
Xfast_syscall() at Xfast_syscall+0xf7
--- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x800da711c, rsp =
0x7fffffff9d28, rbp = 0x7fffffffa1f0 ---
uma_zalloc_arg: zone "pfrkentry" with the following non-sleepable locks
held:
exclusive sleep mutex pf task mtx (pf task mtx) r = 0
(0xffffffff8199af20) locked @
/tank/svn/sys/modules/pf/../../contrib/pf/net/pf_table.c:75
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
kdb_backtrace() at kdb_backtrace+0x37
_witness_debugger() at _witness_debugger+0x2e
witness_warn() at witness_warn+0x2c4
uma_zalloc_arg() at uma_zalloc_arg+0x335
pfr_create_kentry() at pfr_create_kentry+0x73
pfr_ina_define() at pfr_ina_define+0x2ef
pfioctl() at pfioctl+0x1c5a
devfs_ioctl_f() at devfs_ioctl_f+0x7a
kern_ioctl() at kern_ioctl+0xcd
sys_ioctl() at sys_ioctl+0xfd
amd64_syscall() at amd64_syscall+0x3ac
Xfast_syscall() at Xfast_syscall+0xf7
--- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x800da711c, rsp =
0x7fffffff9d28, rbp = 0x7fffffffa1f0 ---
uma_zalloc_arg: zone "pfrkentry" with the following non-sleepable locks
held:
exclusive sleep mutex pf task mtx (pf task mtx) r = 0
(0xffffffff8199af20) locked @
/tank/svn/sys/modules/pf/../../contrib/pf/net/pf_table.c:75
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
kdb_backtrace() at kdb_backtrace+0x37
_witness_debugger() at _witness_debugger+0x2e
witness_warn() at witness_warn+0x2c4
uma_zalloc_arg() at uma_zalloc_arg+0x335
pfr_create_kentry() at pfr_create_kentry+0x73
pfr_ina_define() at pfr_ina_define+0x2ef
pfioctl() at pfioctl+0x1c5a
devfs_ioctl_f() at devfs_ioctl_f+0x7a
kern_ioctl() at kern_ioctl+0xcd
sys_ioctl() at sys_ioctl+0xfd
amd64_syscall() at amd64_syscall+0x3ac
Xfast_syscall() at Xfast_syscall+0xf7
--- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x800da711c, rsp =
0x7fffffff9d28, rbp = 0x7fffffffa1f0 ---
uma_zalloc_arg: zone "pfrkentry" with the following non-sleepable locks
held:
exclusive sleep mutex pf task mtx (pf task mtx) r = 0
(0xffffffff8199af20) locked @
/tank/svn/sys/modules/pf/../../contrib/pf/net/pf_table.c:75
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
kdb_backtrace() at kdb_backtrace+0x37
_witness_debugger() at _witness_debugger+0x2e
witness_warn() at witness_warn+0x2c4
uma_zalloc_arg() at uma_zalloc_arg+0x335
pfr_create_kentry() at pfr_create_kentry+0x73
pfr_ina_define() at pfr_ina_define+0x2ef
pfioctl() at pfioctl+0x1c5a
devfs_ioctl_f() at devfs_ioctl_f+0x7a
kern_ioctl() at kern_ioctl+0xcd
sys_ioctl() at sys_ioctl+0xfd
amd64_syscall() at amd64_syscall+0x3ac
Xfast_syscall() at Xfast_syscall+0xf7
--- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x800da711c, rsp =
0x7fffffff9d28, rbp = 0x7fffffffa1f0 ---
uma_zalloc_arg: zone "pfrktable" with the following non-sleepable locks
held:
exclusive sleep mutex pf task mtx (pf task mtx) r = 0
(0xffffffff8199af20) locked @
/tank/svn/sys/modules/pf/../../contrib/pf/net/pf_ioctl.c:1589
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
kdb_backtrace() at kdb_backtrace+0x37
_witness_debugger() at _witness_debugger+0x2e
witness_warn() at witness_warn+0x2c4
uma_zalloc_arg() at uma_zalloc_arg+0x335
pfr_create_ktable() at pfr_create_ktable+0xd8
pfr_ina_define() at pfr_ina_define+0x12b
pfioctl() at pfioctl+0x1c5a
devfs_ioctl_f() at devfs_ioctl_f+0x7a
kern_ioctl() at kern_ioctl+0xcd
sys_ioctl() at sys_ioctl+0xfd
amd64_syscall() at amd64_syscall+0x3ac
Xfast_syscall() at Xfast_syscall+0xf7
--- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x800da711c, rsp =
0x7fffffff9d28, rbp = 0x7fffffffa1f0 ---
uma_zalloc_arg: zone "pfrktable" with the following non-sleepable locks
held:
exclusive sleep mutex pf task mtx (pf task mtx) r = 0
(0xffffffff8199af20) locked @
/tank/svn/sys/modules/pf/../../contrib/pf/net/pf_ioctl.c:1589
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
kdb_backtrace() at kdb_backtrace+0x37
_witness_debugger() at _witness_debugger+0x2e
witness_warn() at witness_warn+0x2c4
uma_zalloc_arg() at uma_zalloc_arg+0x335
pfr_create_ktable() at pfr_create_ktable+0xd8
pfr_ina_define() at pfr_ina_define+0x179
pfioctl() at pfioctl+0x1c5a
devfs_ioctl_f() at devfs_ioctl_f+0x7a
kern_ioctl() at kern_ioctl+0xcd
sys_ioctl() at sys_ioctl+0xfd
amd64_syscall() at amd64_syscall+0x3ac
Xfast_syscall() at Xfast_syscall+0xf7
--- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x800da711c, rsp =
0x7fffffff9d28, rbp = 0x7fffffffa1f0 ---
_______________________________________________
freebsd...@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-curre...@freebsd.org"
Confirmed mine is set to 0.
Please note that all these messages are about pf.
--
Andriy Gapon
Unfortunately the procstat command is probably of no use because I can't interact with the console or ssh for the periods of time when it is hanging (sometimes in excess of a minute). Zpool scrubs come up clean and I never see any errors reported. I've been running this hardware for 2 years and v28 for quite some time. It doesn't seem like it started happening until I upgraded to a build past RC1. I don't know where to find RC1 media and I don't know the svn revision of RC1 so I haven't tried.
Regards,
Mark
The kernel backtrace you provided indicates a problem in pf(4), not ZFS.
What piece am I missing?
--
| Jeremy Chadwick jdc at parodius.com |
| Parodius Networking http://www.parodius.com/ |
| UNIX Systems Administrator Mountain View, CA, US |
| Making life hard for others since 1977. PGP 4BD6C0CB |
Regards,
Mark
as to the output you have posted this seems to be a pf problem. Could
you try the same situation with with pf(4) disabled? If you are not able
to reproduce this hang with pf(4) disabled, it would be very nice to
have a PR submitted.
--
Martin Matuska
FreeBSD committer
http://blog.vx.sk
Mark, those backtrace are not related to ZFS, but to PF. Not sure if
they are at all related to your hangs. Most cases where ZFS I/O seems to
hang are hardware problems, where I/O requests are not completed.
'procstat -kk -a' output might be useful once the hang happens.
> uma_zalloc_arg: zone "pfrktable" with the following non-sleepable locks
> held:
> exclusive sleep mutex pf task mtx (pf task mtx) r = 0
> (0xffffffff8199af20) locked @
> /tank/svn/sys/modules/pf/../../contrib/pf/net/pf_ioctl.c:1589
> KDB: stack backtrace:
> db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
> kdb_backtrace() at kdb_backtrace+0x37
> _witness_debugger() at _witness_debugger+0x2e
> witness_warn() at witness_warn+0x2c4
> uma_zalloc_arg() at uma_zalloc_arg+0x335
> pfr_create_ktable() at pfr_create_ktable+0xd8
> pfr_ina_define() at pfr_ina_define+0x12b
> pfioctl() at pfioctl+0x1c5a
> devfs_ioctl_f() at devfs_ioctl_f+0x7a
> kern_ioctl() at kern_ioctl+0xcd
> sys_ioctl() at sys_ioctl+0xfd
> amd64_syscall() at amd64_syscall+0x3ac
> Xfast_syscall() at Xfast_syscall+0xf7
> --- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x800da711c, rsp =
> 0x7fffffff9d28, rbp = 0x7fffffffa1f0 ---
--
Pawel Jakub Dawidek http://www.wheelsystems.com
FreeBSD committer http://www.FreeBSD.org
Am I Evil? Yes, I Am! http://yomoli.com
I've emailed bz@ related to this.
I'm also not sure if they could be related to his hangs, but it seems
that if uma_zalloc() decides to sleep with the mutex held, something
may break and a broken uma_zalloc() would impact NFS.
rick