Solaris systems running KU 150400-02 or lower may panic with: type=31 rp=2a100f96f20 addr=28 mmu_fsr=0 occurred in module "zfs" due to a NULL pointer dereference
Last updated on JULY 29, 2016
Applies to:Solaris Operating System - Version 10 1/13 U11 and later
Information in this document applies to any platform.
Only ZFS pools with L2ARC (cache) devices are susceptible to this issue.
1. The system will panic with the following string and stack:
type=31 rp=2a100f96f20 addr=28 mmu_fsr=0 occurred in module "zfs" due to a NULL pointer dereference
zfs:arc_hash_replace+0x30 ( )
zfs:arc_kill_buf+0x120 ( )
zfs:arc_evict_buf+0x1d0 ( )
zfs:arc_evict_bytes+0x70 ( )
zfs:arc_get_data_block+0xc4 ( )
zfs:arc_read+0x4d4 ( )
zfs:dsl_read+0x44 ( )
zfs:dbuf_prefetch+0x140 ( )
zfs:dmu_prefetch+0x11c ( )
zfs:metaslab_prefetch+0x80 ( )
zfs:metaslab_sync_reassess+0xe4 ( )
zfs:vdev_sync_done ( )
zfs:spa_sync+0x71c ( )
zfs:txg_sync_thread+0x1b8 ( )
unix:thread_start+4 ( )
2. The ZFS pool associated with the panic must have a separate Layer 2 Adaptive Replacement Cache (L2ARC) device.
To determine if a pool has a separate L2ARC device, execute the following command. A L2ARC device will be displayed as "cache", as seen in the example below:
# /usr/sbin/zpool status <pool> ... NAME STATE READ WRITE CKSUM <pool> ONLINE 0 0 0 c2t10d0 ONLINE 0 0 0 cache c2t11d0 ONLINE 0 0 0
In this example the pool has one cache device c2t11d0 and is therefore susceptible to the issue.
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms