DynamoRIO / DynamoRIO/dynamorio
client output goes to application output file
- Dominant language
- C
- Stars
- 3.2k
- Forks
- 629
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 30
Description
Try running this Python program:
```
import os
os.system('/bin/sh -c "echo hello" >temp.out')
```
with -c libopcodes.so. Overall this results in 3 outputs from dropcodes... but one of them goes in temp.out:
```
$ cat temp.out
hello
Top 15 opcode execution counts in 64-bit AMD64 mode:
3079 : jnbe
...
```
This is cut down from a much larger build script which was failing when run with the opcodes client - one build step was writing a file read by another step, and the file was being polluted by opcodes output. Reproduced on x86_64 and AArch64.
Contributor guide
Research direction
Start by running the provided Python reproduction with `-c libopcodes.so` on a supported architecture and compare the application output with the opcodes client output. Trace where the client's output stream is selected; done means the `hello` file contains only the shell command's output while the opcode counts go to the intended client output.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100