Comment 1 for bug 1379874

Revision history for this message
Christian Boltz (cboltz) wrote :

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'