I can no longer reproduce this crash for inherit (probably since r3261, which introduced get_interpreter_and_abstraction()), so the original bug is fixed in 2.10.1.
However, I found some new crashes using this log line:
- aa-logprof crashes when using (C)hild
- aa-logprof crashes when using (I)nherit and then (V)iev differences
- aa-logprof crashes when using (P)rofile and then (V)iev differences (also, no profile is created, and there's no message saying that)
This might be related to the profile name - the log has "/sbin/klogd", but the profile is named "klogd" and has a path attachment.
(C)hild profile:
Traceback (most recent call last):
File "aa-logprof", line 50, in <module>
apparmor.do_logprof_pass(logmark)
File "/home/cb/apparmor/HEAD-clean/utils/apparmor/aa.py", line 2208, in do_logprof_pass
handle_children('', '', root)
File "/home/cb/apparmor/HEAD-clean/utils/apparmor/aa.py", line 1515, in handle_children
filelist[file_name]['profiles'][profile][hat] = True
TypeError: unhashable type: 'collections.defaultdict'
(V)iew changes:
Traceback (most recent call last):
File "aa-logprof", line 50, in <module>
apparmor.do_logprof_pass(logmark)
File "/home/cb/apparmor/HEAD-clean/utils/apparmor/aa.py", line 2225, in do_logprof_pass
save_profiles()
File "/home/cb/apparmor/HEAD-clean/utils/apparmor/aa.py", line 2305, in save_profiles
newprofile = serialize_profile_from_old_profile(aa[which], which, '')
File "/home/cb/apparmor/HEAD-clean/utils/apparmor/aa.py", line 3778, in serialize_profile_from_old_profile
if write_prof_data[hat]['capability'].is_covered(cap, True, True):
AttributeError: 'collections.defaultdict' object has no attribute 'is_covered'
I can no longer reproduce this crash for inherit (probably since r3261, which introduced get_interpreter _and_abstractio n()), so the original bug is fixed in 2.10.1.
However, I found some new crashes using this log line:
- aa-logprof crashes when using (C)hild
- aa-logprof crashes when using (I)nherit and then (V)iev differences
- aa-logprof crashes when using (P)rofile and then (V)iev differences (also, no profile is created, and there's no message saying that)
This might be related to the profile name - the log has "/sbin/klogd", but the profile is named "klogd" and has a path attachment.
(C)hild profile:
Traceback (most recent call last): do_logprof_ pass(logmark) cb/apparmor/ HEAD-clean/ utils/apparmor/ aa.py", line 2208, in do_logprof_pass children( '', '', root) cb/apparmor/ HEAD-clean/ utils/apparmor/ aa.py", line 1515, in handle_children file_name] ['profiles' ][profile] [hat] = True defaultdict'
File "aa-logprof", line 50, in <module>
apparmor.
File "/home/
handle_
File "/home/
filelist[
TypeError: unhashable type: 'collections.
(V)iew changes:
Traceback (most recent call last): do_logprof_ pass(logmark) cb/apparmor/ HEAD-clean/ utils/apparmor/ aa.py", line 2225, in do_logprof_pass cb/apparmor/ HEAD-clean/ utils/apparmor/ aa.py", line 2305, in save_profiles profile_ from_old_ profile( aa[which] , which, '') cb/apparmor/ HEAD-clean/ utils/apparmor/ aa.py", line 3778, in serialize_ profile_ from_old_ profile data[hat] ['capability' ].is_covered( cap, True, True): defaultdict' object has no attribute 'is_covered'
File "aa-logprof", line 50, in <module>
apparmor.
File "/home/
save_profiles()
File "/home/
newprofile = serialize_
File "/home/
if write_prof_
AttributeError: 'collections.