Skip to content
This repository was archived by the owner on May 16, 2025. It is now read-only.
This repository was archived by the owner on May 16, 2025. It is now read-only.

Linux Profile Error - KeyError: 'DW_AT_data_member_location' #828

@mthbrown

Description

@mthbrown

Hi,

I'm currently trying to run Volatility 2 on a custom profile for Ubuntu 22.04. I successfully created the profile by running:

git clone --depth=1 https://github.com/volatilityfoundation/volatility.git
cd volatility/tools/linux
echo 'MODULE_LICENSE("GPL");' >> module.c # to get around the error mentioned here https://github.com/volatilityfoundation/volatility/issues/812
make
zip ubuntu22.04.zip volatility/tools/linux/module.dwarf /boot/System.map-`uname -r`
  adding: volatility/tools/linux/module.dwarf (deflated 91%)
  adding: boot/System.map-5.15.0-33-generic (deflated 80%)

and I can see the profile when I run:

# python vol.py --info | less

Profiles
--------
Linuxubuntu22_04x64   - A Profile for Linux ubuntu22.04 x64
VistaSP0x64           - A Profile for Windows Vista SP0 x64

However, when I try to use the profile, it fails with this error:

# python2 vol.py --plugins=/root/profiles --profile=Linuxubuntu22_04x64 -f /Linux64.mem linux_pslist
Volatility Foundation Volatility Framework 2.6.1
Traceback (most recent call last):
  File "vol.py", line 192, in <module>
    main()
  File "vol.py", line 183, in main
    command.execute()
  File "/root/volatility/volatility/plugins/linux/common.py", line 67, in execute
    commands.Command.execute(self, *args, **kwargs)
  File "/root/volatility/volatility/commands.py", line 116, in execute
    if not self.is_valid_profile(profs[self._config.PROFILE]()):
  File "/root/volatility/volatility/plugins/overlays/linux/linux.py", line 218, in __init__
    obj.Profile.__init__(self, *args, **kwargs)
  File "/root/volatility/volatility/obj.py", line 862, in __init__
    self.reset()
  File "/root/volatility/volatility/plugins/overlays/linux/linux.py", line 232, in reset
    self.load_vtypes()
  File "/root/volatility/volatility/plugins/overlays/linux/linux.py", line 269, in load_vtypes
    vtypesvar = dwarf.DWARFParser(dwarfdata).finalize()
  File "/root/volatility/volatility/dwarf.py", line 72, in __init__
    self.feed_line(line)
  File "/root/volatility/volatility/dwarf.py", line 163, in feed_line
    self.process_statement(**parsed) #pylint: disable-msg=W0142
  File "/root/volatility/volatility/dwarf.py", line 267, in process_statement
    d = data['DW_AT_data_member_location']
KeyError: 'DW_AT_data_member_location'

and for the binary version as well:

# ./volatility_2.6_lin64_standalone --plugins=/root/profiles --profile=Linuxubuntu22_04x64 -f /Linux64.mem linux_pslist
Volatility Foundation Volatility Framework 2.6
Traceback (most recent call last):
  File "vol.py", line 192, in <module>
  File "vol.py", line 183, in main
  File "volatility/plugins/linux/common.py", line 64, in execute
  File "volatility/commands.py", line 116, in execute
  File "volatility/plugins/overlays/linux/linux.py", line 216, in __init__
  File "volatility/obj.py", line 862, in __init__
  File "volatility/plugins/overlays/linux/linux.py", line 227, in reset
  File "volatility/plugins/overlays/linux/linux.py", line 264, in load_vtypes
  File "volatility/dwarf.py", line 71, in __init__
  File "volatility/dwarf.py", line 162, in feed_line
  File "volatility/dwarf.py", line 255, in process_statement
KeyError: 'DW_AT_data_member_location'
Failed to execute script vol

I ran into this error for memory captures from both LiME (including with and without the timeout=0 option as mentioned here and AVML. I attached the profile - ubuntu22.04.zip.

Any ideas? Thanks.

UPDATE I was able to successfully run the equivalent command on Volatility 3 by creating a custom Symbols Table that I attached
vmlinux-5.15.0-33-generic.json.gz but I would rather run it on Volatility 2 due to the extra plugins available on Volatility 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions