Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

walk doesn't work on process targets #209

Open
ahrens opened this issue Apr 15, 2020 · 0 comments
Open

walk doesn't work on process targets #209

ahrens opened this issue Apr 15, 2020 · 0 comments
Labels
design bug Something isn't working due to the current design

Comments

@ahrens
Copy link
Contributor

ahrens commented Apr 15, 2020

Presence of the kmem_cache walker prevents walk from running at all on userland targets (e.g. ztest / libzpool).

sdb> spa ztest | vdev 0 | member vdev_queue.vq_class | array | member vqc_pending_list | walk
sdb encountered an internal error due to a bug. Here's the
information you need to file the bug:
----------------------------------------------------------
Target Info:
	ProgramFlags.IS_LIVE
	Platform(<Architecture.X86_64: 1>, <PlatformFlags.IS_LITTLE_ENDIAN|IS_64_BIT: 3>)

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/sdb/internal/repl.py", line 107, in eval_cmd
    for obj in invoke(self.target, [], input_):
  File "/usr/lib/python3/dist-packages/sdb/pipeline.py", line 166, in invoke
    yield from execute_pipeline(first_input, pipeline)
  File "/usr/lib/python3/dist-packages/sdb/pipeline.py", line 83, in execute_pipeline
    yield from massage_input_and_call(pipeline[-1], this_input)
  File "/usr/lib/python3/dist-packages/sdb/pipeline.py", line 43, in massage_input_and_call
    yield from cmd.call(objs)
  File "/usr/lib/python3/dist-packages/sdb/command.py", line 295, in call
    result, not issubclass(self.__class__, SingleInputCommand))
  File "/usr/lib/python3/dist-packages/sdb/command.py", line 256, in __invalid_memory_objects_check
    for obj in objs:
  File "/usr/lib/python3/dist-packages/sdb/command.py", line 564, in _call
    for type_, class_ in Walker.allWalkers.items()
  File "/usr/lib/python3/dist-packages/sdb/command.py", line 564, in <dictcomp>
    for type_, class_ in Walker.allWalkers.items()
  File "/usr/lib/python3/dist-packages/sdb/target.py", line 128, in type_canonicalize_name
    return type_canonical_name(prog.type(type_name))
LookupError: could not find 'struct kmem_cache'
@ahrens ahrens added the design bug Something isn't working due to the current design label Apr 15, 2020
@ahrens ahrens changed the title "[DATE] [BUG]" walk doesn't work on process targets Apr 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design bug Something isn't working due to the current design
Development

No branches or pull requests

1 participant