Convert bytes to string for re in get_tracepoints() #2318
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When executing funccount with python3, the following error showed.
python3 funccount.py -D 't:block:*'
Traceback (most recent call last):
File "funccount.py", line 299, in
Tool().run()
File "funccount.py", line 261, in run
self.probe.load()
File "funccount.py", line 191, in load
bpf_text += self._generate_functions(trace_count_text)
File "funccount.py", line 143, in _generate_functions
tracepoints = BPF.get_tracepoints(self.pattern)
File "/usr/lib/python3.7/site-packages/bcc/init.py", line 772, in get_tracepoints
if re.match(tp_re, tp):
File "/usr/lib64/python3.7/re.py", line 173, in match
return _compile(pattern, flags).match(string)
TypeError: cannot use a bytes pattern on a string-like object
This commit convert 'tp_re' from bytes to string to avoid the crash.
Signed-off-by: Gary Lin [email protected]