amd64/122888: zfs hang w/ prefetch on, zil off while running transmission-daemon

James Snyder jbsnyder at gmail.com
Fri Apr 18 13:30:01 UTC 2008


>Number:         122888
>Category:       amd64
>Synopsis:       zfs hang w/ prefetch on, zil off while running transmission-daemon
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-amd64
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Apr 18 13:30:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     James Snyder
>Release:        FreeBSD 7.0-RELEASE
>Organization:
>Environment:
FreeBSD erlanger.local 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Feb 24 10:35:36 UTC 2008     root at driscoll.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64
>Description:
Start and run transmission-daemon with a torrent active for somewhere between a few hours and a day.  transmission-daemon will eventually hang in zfs:lo state (not sure if the state name is longer, I've just had top running when the hangs take place).  I've had this happen both on zfs on root, and with zfs just providing /usr.

It seems to only happen when the zil is disabled and prefetch is left enabled.

loader.conf:
zfs_load="YES"
vfs.root.mountfrom="zfs:tank/root"
vm.kmem_size_max="1073741824"
vm.kmem_size="1073741824"
vfs.zfs.zil_disable=1
>How-To-Repeat:
loader.conf:
zfs_load="YES"
vfs.root.mountfrom="zfs:tank/root"
vm.kmem_size_max="1073741824"
vm.kmem_size="1073741824"
vfs.zfs.zil_disable=1

- install transmission-daemon from ports, run transmission-daemon (it will daemonize, automatically backgrounding. I ran it as a regular user.)
- grab a torrent, such as KNOPPIX (http://torrent.unix-ag.uni-kl.de/)
- transmission-remote -a <torrentfile> (add the torrent)
- transmission-remote -s all  (start all the torrents)

wait hours to a day or so with whatever you want logging things running and active since anything that hits disk after the hang will get hung as well
>Fix:
Workaround seems to be to disable prefetch.

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-amd64 mailing list