You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
sdb> addr ARC_mru | member arcs_list[1] | multilist
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 85, 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 66, in massage_input_and_call
yield from cmd.call(objs)
File "/usr/lib/python3/dist-packages/sdb/command.py", line 291, in call
result, not issubclass(self.__class__, SingleInputCommand))
File "/usr/lib/python3/dist-packages/sdb/command.py", line 252, in __invalid_memory_objects_check
for obj in objs:
File "/usr/lib/python3/dist-packages/sdb/command.py", line 612, in _call
yield from self.walk(obj)
File "/usr/lib/python3/dist-packages/sdb/commands/spl/multilist.py", line 33, in walk
yield from sdb.execute_pipeline([sublist], [SPLList()])
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 66, in massage_input_and_call
yield from cmd.call(objs)
File "/usr/lib/python3/dist-packages/sdb/command.py", line 291, in call
result, not issubclass(self.__class__, SingleInputCommand))
File "/usr/lib/python3/dist-packages/sdb/command.py", line 252, in __invalid_memory_objects_check
for obj in objs:
File "/usr/lib/python3/dist-packages/sdb/command.py", line 612, in _call
yield from self.walk(obj)
File "/usr/lib/python3/dist-packages/sdb/commands/spl/spl_list.py", line 32, in walk
node = first_node.next
AttributeError: 'struct list_node' has no member 'next'
----------------------------------------------------------
Link: https://github.com/delphix/sdb/issues/new
Indeed, in libspl/libzfs, struct list_node does not have next: lib/libspl/include/sys/list_impl.h:
Seems like the root of the problem is the difference between libzpool and zfs.ko. Ideally, sdb would have target-specific functionality (i.e. user vs kernel). In the absence of that, we might want to change libspl's list_node to mirror the linux kernel's
The text was updated successfully, but these errors were encountered:
ahrens
changed the title
multilist / spl_list doesn't seem to work
multilist / spl_list doesn't work on libzpool
Mar 6, 2020
when debugging a ztest process:
Indeed, in libspl/libzfs,
struct list_node
does not havenext
:lib/libspl/include/sys/list_impl.h
:Seems like the root of the problem is the difference between
libzpool
andzfs.ko
. Ideally, sdb would have target-specific functionality (i.e. user vs kernel). In the absence of that, we might want to change libspl's list_node to mirror the linux kernel'sThe text was updated successfully, but these errors were encountered: