DynamoRIO / DynamoRIO/dynamorio

CRASH: offline drcachesim/opcode_count crahed on the test application.

Open
#5,735 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

`$BLD_DRI/bin64/drrun -t drcachesim -offline $BLD_DRI/suite/tests/bin/pthreads.pthreads_fork_FLAKY`
`$BLD_DRI/bin64/drrun -c $BLD_DRI/api/bin/libopcode_count.so $BLD_DRI/suite/tests/bin/pthreads.pthreads_fork_FLAKY`

I've tried different tools and caught that opcode_count is crashed in the same way too but opcodes ($BLD_DRI/api/bin/libopcodes.so) are ok.
I wrote 2 small tools: one is ok and the 2nd is crashed
OK
```
#include "dr_api.h"
#include "drmgr.h"
#include "drx.h"

static void
event_exit(void)
{
drx_exit();
drmgr_exit();
}

DR_EXPORT void
dr_client_main(client_id_t id, int argc, const char *argv[])
{
if (!drmgr_init())
DR_ASSERT(false);
drx_init();

dr_register_exit_event(event_exit);
}
```

FAIL
```
#include "dr_api.h"
#include "drmgr.h"
#include "drx.h"
#include "droption.h"

static void
event_exit(void)
{
drx_exit();
drmgr_exit();
}

DR_EXPORT void
dr_client_main(client_id_t id, int argc, const char *argv[])
{
if (!droption_parser_t::parse_argv(DROPTION_SCOPE_CLIENT, argc, argv, NULL, NULL))
DR_ASSERT(false);

if (!drmgr_init())
DR_ASSERT(false);
drx_init();

dr_register_exit_event(event_exit);
}
```

`$BLD_DRI/bin64/drrun -c $BLD_DRI/api/bin/libFAIL.so -- $BLD_DRI/suite/tests/bin/pthreads.pthreads_fork_FLAKY`
error output
```
child process
child process

child 3537560 exited non-zero: ff00
signalled: 0, signal: 0, exited: 1, exit: 255

child 3537556 exited non-zero: ff00
signalled: 0, signal: 0, exited: 1, exit: 255
all done
```
Could you look at that? Maybe you know what could be wrong here.
Thanks, Kirill

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.