DynamoRIO / DynamoRIO/dynamorio

DynamoRIO failed to run Go binary

Open
#2,199 2 comments 0 reactions 0 assignees View on GitHub
Bug-Hang good first issue help wanted OpSys-Linux
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

Simple Go program cannot run under DynamoRIO.
DynamoRIO ToT debug build
go version go1.7.5 Linux/amd64

```
trusty)zhaoqin@localhost:~/Workspace/Go/projects$ ../../DynamoRIO/builds/build_x64_dbg.git/bin64/drrun -debug -msgbox_mask 0x0 -loglevel 3 -- ./hello

```
There are 4 threads are created:
```
(trusty)zhaoqin@localhost:~/Workspace$ ls /proc/14276/task/
14276 14309 14313 14315
(trusty)zhaoqin@localhost:~/Workspace$ ls DynamoRIO/builds/build_x64_dbg.git/logs/hello.14276.00000000/
hello.0.14276.html log.0.14276.html log.1.14309.html log.2.14313.html log.3.14315.html
```
However, GDB shows only one thread.
The error message of "unreadable memory at 0x18" suggest it is more likely it is accessing the TLS segment. So DR may not handle the Go program TLS correctly.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.