DynamoRIO / DynamoRIO/dynamorio
CRASH: offline drcachesim/opcode_count crahed on the test application.
- 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
Assessment
This issue has not been assessed yet.