ksanchezcld / volatility

Automatically exported from code.google.com/p/volatility
GNU General Public License v2.0
1 stars 0 forks source link

Pickle/Cache error on Win7 modules and pslist command #86

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Hey guys, 

I'm getting the following errors with r851. Note: If I use --no-cache, the 
errors do not occur. 

$ python vol.py --profile=Win7SP0x86 -f win7vss.vmem modules

[snip]

\SystemRoot\System32\DRIVERS\srv2.sys              0x008864b000 0x04f000 
srv2.sys
\SystemRoot\System32\DRIVERS\srv.sys               0x008869a000 0x051000 srv.sys
\SystemRoot\system32\DRIVERS\asyncmac.sys          0x0088755000 0x009000 
asyncmac.sys
Traceback (most recent call last):
  File "vol.py", line 129, in <module>
    main()
  File "vol.py", line 120, in main
    command.execute()
  File "/Users/m/Desktop/Volatility-1.4_rc1_r844/volatility/commands.py", line 101, in execute
    func(outfd, data)
  File "/Users/m/Desktop/Volatility-1.4_rc1_r844/volatility/plugins/modules.py", line 33, in render_text
    for module in data:
  File "/Users/m/Desktop/Volatility-1.4_rc1_r844/volatility/cache.py", line 533, in generate
    self.dump(path, payload)
  File "/Users/m/Desktop/Volatility-1.4_rc1_r844/volatility/cache.py", line 538, in dump
    self.node.dump()
  File "/Users/m/Desktop/Volatility-1.4_rc1_r844/volatility/cache.py", line 295, in dump
    self.storage.dump(self.stem, self)
  File "/Users/m/Desktop/Volatility-1.4_rc1_r844/volatility/cache.py", line 467, in dump
    data = pickle.dumps(payload)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/copy_reg.py", line 70, in _reduce_ex
    raise TypeError, "can't pickle %s objects" % base.__name__
TypeError: can't pickle partial objects

$ python vol.py --profile=Win7SP0x86 -f win7vss.vmem pslist

[snip]

wsqmcons.exe           2576    492      1      3 2010-07-06 22:39:11       
SearchProtocol         2680   1464      8    231 2010-07-06 22:39:27       
VMwareResoluti         3064   1488      1     23 2010-07-06 22:40:27       
Traceback (most recent call last):
  File "vol.py", line 129, in <module>
    main()
  File "vol.py", line 120, in main
    command.execute()
  File "/Users/m/Desktop/Volatility-1.4_rc1_r844/volatility/commands.py", line 101, in execute
    func(outfd, data)
  File "/Users/m/Desktop/Volatility-1.4_rc1_r844/volatility/plugins/taskmods.py", line 180, in render_text
    for task in data:
  File "/Users/m/Desktop/Volatility-1.4_rc1_r844/volatility/cache.py", line 533, in generate
    self.dump(path, payload)
  File "/Users/m/Desktop/Volatility-1.4_rc1_r844/volatility/cache.py", line 538, in dump
    self.node.dump()
  File "/Users/m/Desktop/Volatility-1.4_rc1_r844/volatility/cache.py", line 295, in dump
    self.storage.dump(self.stem, self)
  File "/Users/m/Desktop/Volatility-1.4_rc1_r844/volatility/cache.py", line 467, in dump
    data = pickle.dumps(payload)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/copy_reg.py", line 70, in _reduce_ex
    raise TypeError, "can't pickle %s objects" % base.__name__
TypeError: can't pickle partial objects

Original issue reported on code.google.com by michael.hale@gmail.com on 28 Feb 2011 at 3:55

GoogleCodeExporter commented 9 years ago
This issue was closed by revision r852.

Original comment by mike.auty@gmail.com on 1 Mar 2011 at 12:02

GoogleCodeExporter commented 9 years ago
I wasn't able to recreate this, but we now catch TypeErrors as well as 
pickle.PicklingErrors (which I'd thought would catch all "can't pickle" errors, 
but obviously doesn't).  Hopefully that solves the problem, if not, please 
reopen this...  5:)

Original comment by mike.auty@gmail.com on 1 Mar 2011 at 12:03

GoogleCodeExporter commented 9 years ago
Updating to r582 fixes it on my side, so your fix worked. 

Original comment by michael.hale@gmail.com on 1 Mar 2011 at 12:11