Project

General

Profile

Actions

Bug #3465

closed

::walk ... | ::<dcmd> misinterprets input as symbol names

Added by Christopher Siden over 8 years ago. Updated over 8 years ago.

Status:
Resolved
Priority:
Normal
Category:
cmd - userland programs
Start date:
2013-01-11
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:

Description

From Matt Ahrens's original bug report at Delphix:

When doing "::walk thread | ::tsd ... " in userland, you get strange error
messages like:
mdb: thread ID -17397136 not found: unknown symbol name
and some threads tsd is not printed.

The problem is that walker output includes hex numbers like "e2" and "fd".  In
userland, there are also symbols with these names, so mdb looks up the address
of the symbol and passes it to the dcmd, just as if I had typed "fd::tsd".

The solution is to make walker output unambiguously a number, e.g "0xfd" rather
than "fd".  This is accomplished by making walk_step() use the "%#lr" format.
Actions

Also available in: Atom PDF