This issue is specific to 6.4.0 and is tracked as product defect SPL-118170. This issue will be fixed in an early 6.4.x maintenance release.
In the meantime, there is a simple work-around to prevent this error, which only affects one python script - info_gather.py , which splunk diag relies upon:
Download the patched info_gather.py from Splunk's box account
Use it to replace file $SPLUNK_HOME/lib/python2.7/site-packages/splunk/clilib/info_gather.py
You can now run splunk diag again without issues - no restart required!
For reference, here's the very small diff between the old file and the patched file:
$ diff -u /opt/splunk/lib/python2.7/site-packages/splunk/clilib/info_gather-6.4.0.py /opt/splunk/lib/python2.7/site-packages/splunk/clilib/info_gather.py
--- /opt/splunk/lib/python2.7/site-packages/splunk/clilib/info_gather-6.4.0.py 2016-03-25 20:05:02.000000000 -0700
+++ /opt/splunk/lib/python2.7/site-packages/splunk/clilib/info_gather.py 2016-04-18 14:36:39.700531894 -0700
@@ -3442,7 +3442,7 @@
combined_apps.update(slave_apps)
combined_apps.update(pooled_apps)
- for key in combined_apps:
+ for key in combined_apps.keys():
if key not in unique_app_set:
del combined_apps[key]
... View more