Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bcc: 0.9.0 -> 0.10.0 #62912

Merged
merged 1 commit into from Jun 11, 2019
Merged

bcc: 0.9.0 -> 0.10.0 #62912

merged 1 commit into from Jun 11, 2019

Conversation

ivan
Copy link
Member

@ivan ivan commented Jun 9, 2019

Motivation for this change

This upgrade makes bcc execsnoop work on the latest 4.19 kernel.

bcc execsnoop 0.9.0 + Linux 4.19.48: instant kernel panic + reboot; don't test this in production (#62865)

bcc execsnoop 0.9.0 + Linux 4.19.49:

# execsnoop                                                     

PCOMM            PID    PPID   RET ARGS
Traceback (most recent call last):
  File "_ctypes/callbacks.c", line 232, in 'calling callback function'
  File "/nix/store/zisijlanfkrw95dkbwcfb2hgi34fkqf5-bcc-0.9.0/lib/python3.7/site-packages/bcc/table.py", line 676, in raw_cb_
    callback(cpu, data, size)
  File "/nix/store/zisijlanfkrw95dkbwcfb2hgi34fkqf5-bcc-0.9.0/share/bcc/tools/.execsnoop-wrapped", line 199, in print_event
    event = b["events"].event(data)
  File "/nix/store/zisijlanfkrw95dkbwcfb2hgi34fkqf5-bcc-0.9.0/lib/python3.7/site-packages/bcc/table.py", line 654, in event
    self._event_class = self._get_event_class()
  File "/nix/store/zisijlanfkrw95dkbwcfb2hgi34fkqf5-bcc-0.9.0/lib/python3.7/site-packages/bcc/table.py", line 625, in _get_event_class
    m = re.match(r"(.*)#(.*)", field)
  File "/nix/store/4w1rxv6wfkv728jzmm6pqq3jsqd4yvi7-python3-3.7.3/lib/python3.7/re.py", line 173, in match
    return _compile(pattern, flags).match(string)
TypeError: cannot use a string pattern on a bytes-like object

bcc execsnoop 0.10.0 + Linux 4.19.49:

# execsnoop
PCOMM            PID    PPID   RET ARGS
[lots of good output]
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

I haven't tested the other binaries.

cc maintainers @ragnard @Mic92 @thoughtpolice

@ivan
Copy link
Member Author

ivan commented Jun 9, 2019

@GrahamcOfBorg build linuxPackages.bcc linuxPackages.bpftrace linuxPackages_4_14.bcc linuxPackages_4_14.bpftrace linuxPackages_4_19.bcc linuxPackages_4_19.bpftrace linuxPackages_4_4.bcc linuxPackages_4_4.bpftrace linuxPackages_4_9.bcc linuxPackages_4_9.bpftrace linuxPackages_5_0.bcc linuxPackages_5_0.bpftrace linuxPackages_5_1.bcc linuxPackages_5_1.bpftrace linuxPackages_hardened.bcc linuxPackages_hardened.bpftrace

@thoughtpolice
Copy link
Member

aarch64 is breaking here, hence the borg failure -- but x86_64-linux is fine, so I suggest we go ahead and pull this in (from the looks of Hydra, it was already busted on aarch64 anyway)

@thoughtpolice thoughtpolice merged commit 16a1a4c into NixOS:master Jun 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants