Oh where oh where can my arg5 be?
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- macos, rust
- Domain
- observability, operating-systems
Research direction
Start by reproducing the issue on an M1 macOS system with the port-process-return DTrace probe, then run the OPTE tests using cargo test --features usdt from the opte checkout. The work is done when a probe with six arguments reports the value passed in the arg5 position instead of NULL.
Written by the indexing model from the issue text.
Description
As I mentioned in #61, I'm seeing some issues around usdt while working on oxidecomputer/opte#145. I'm going to eschew the background and get straight to it.
Issue
EDIT: This is an M1 (ARM) mac.
On macOS I cannot seem to pass more than five arguments to a probe. As part of my change to OPTE (in the above link) I added an epoch argument to the port__process__return probe, now giving it a total of six arguments, pushing the res argument to arg5 position. After doing this the probe always fires with an arg5 of NULL.
$ sudo dtrace -Zn 'port-process-return { trace(arg5); }'
Password:
dtrace: description 'port-process-return ' matched 0 probes
CPU ID FUNCTION:NAME
5 14747 _ZN4opte6engine4port4Port25port_process_return_probe17hec39bcf71fd676a8E:port-process-return 0
2 14747 _ZN4opte6engine4port4Port25port_process_return_probe17hec39bcf71fd676a8E:port-process-return 0
4 14747 _ZN4opte6engine4port4Port25port_process_return_probe17hec39bcf71fd676a8E:port-process-return 0
9 14747 _ZN4opte6engine4port4Port25port_process_return_probe17hec39bcf71fd676a8E:port-process-return 0
6 14747 _ZN4opte6engine4port4Port25port_process_return_probe17hec39bcf71fd676a8E:port-process-return 0
7 14747 _ZN4opte6engine4port4Port25port_process_return_probe17hec39bcf71fd676a8E:port-process-return 0
8 14747 _ZN4opte6engine4port4Port25port_process_return_probe17hec39bcf71fd676a8E:port-process-return 0
8 14747 _ZN4opte6engine4port4Port25port_process_return_probe17hec39bcf71fd676a8E:port-process-return 0
7 14747 _ZN4opte6engine4port4Port25port_process_return_probe17hec39bcf71fd676a8E:port-process-return 0
8 14747 _ZN4opte6engine4port4Port25port_process_return_probe17hec39bcf71fd676a8E:port-process-return 0
8 14747 _ZN4opte6engine4port4Port25port_process_return_probe17hec39bcf71fd676a8E:port-process-return 0
6 14747 _ZN4opte6engine4port4Port25port_process_return_probe17hec39bcf71fd676a8E:port-process-return 0
6 14747 _ZN4opte6engine4port4Port25port_process_return_probe17hec39bcf71fd676a8E:port-process-return 0
Reproduce
- Clone the opte repo onto a macOS box and checkout the
opte-143-set-fw-rulesbranch. - In one window trace
arg5of theport-process-returnprobe.
$ sudo dtrace -Zn 'port-process-return { trace(arg5); }'
- In another window run the OPTE unit tests with the
usdtfeature.
$ cd opte
$ cargo test --features usdt
- Dominant language
- Rust
- Stars
- 145
- Forks
- 15
- Avg merge
- 14m
- Merged PRs (30d)
- 6
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from oxidecomputer/usdt
-
oxidecomputer/usdt#507 · 1 assignee ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
oxidecomputer/usdt#506 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
oxidecomputer/usdt#498 · 11 comments · 1 reaction ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
oxidecomputer/usdt#494 · 1 comment ·
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
oxidecomputer/usdt#490 · 6 comments ·
All issues in oxidecomputer/usdt
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100