Project

General

Profile

Actions

Bug #8674

closed

mdb txg_list walker is not using CTF

Added by Robert Mustacchi about 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
mdb - modular debugger
Start date:
2017-09-21
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:
External Bug:

Description

Patrick Mooney was attempting to analyze a crash in thoth and discovered that the txg_list walker was not working:

> ffffd0df6df4f1c0::print -ta zilog_t zl_dmu_pool->dp_dirty_zilogs
ffffd0c57616f940 txg_list_t zl_dmu_pool->dp_dirty_zilogs = {
    ffffd0c57616f940 kmutex_t zl_dmu_pool->dp_dirty_zilogs.tl_lock = {
        ffffd0c57616f940 void *[1] _opaque = [ 0 ]
    }
    ffffd0c57616f948 size_t zl_dmu_pool->dp_dirty_zilogs.tl_offset = 0x2e8
    ffffd0c57616f950 spa_t *zl_dmu_pool->dp_dirty_zilogs.tl_spa =
0xffffd0c572466000
    ffffd0c57616f958 txg_node_t *[4] zl_dmu_pool->dp_dirty_zilogs.tl_head = [
0xffffd0df6df4f4a8, 0xffffd0da92d427e8, 0, 0 ]
}
> ffffd0c57616f940::walk txg_list
0xffffd0c572465d18
mdb: failed to read list element at 0x73656e6c92: no mapping for address

It appears with illumos#8063 verify that we do not attempt to access inactive txg, a field was added to txg_list_t which changed the offset of tl_head (since it's the last field) which is used in the txg_list mdb walker. The fix is to use the CTF data in the crash to read the data.

Actions

Also available in: Atom PDF