DynamoRIO / DynamoRIO/drmemory
ASSERT handlecheck.c:245: false (fail to find the process in the handle list)
- Dominant language
- C
- Stars
- 2.7k
- Forks
- 290
- PR merge metrics
- No merged PRs in 30d
Description
_From [bruen...@google.com](https://code.google.com/u/109494838902877177630/) on April 04, 2014 23:21:13_
Running cs2bugMinGW on Vista x64, at the end we hit:
ASSERT FAILURE (thread 2456): D:\derek\drmemory\git\src\drmemory\handlecheck.c:245: false (fail to find the process in the handle list)
Hard to repro: took 21 iters for 2nd time, so this is nondet.
pid=2704
I had added some diagnostics to the loop:
Comparing pid=2704 to 372
Comparing pid=2704 to 0
Comparing pid=2704 to 0
Comparing pid=2704 to 0
Comparing pid=2704 to 0
..
Comparing pid=2704 to 0
Comparing pid=2704 to 0
Comparing pid=2704 to 0
I also got it in the debugger:
0:000> dv
h_sys_end = 0x20757234
count = 0xcccccccc
h_our = 0xcccccccc
proc_h_cnt = 0x3a
pid = 0xa90
our_list = 0x00000000
h_start = 0x00000000
h_sys = 0x20757234
num_matched_pid = 0
i = 0xcccccccc
sys_list = 0x20721020
our_list_size = 0xcccccccc
sys_list_size = 0x80000
0:000> dt sys_list
Local var @ 0x1eb0ebac Type _SYSTEM_HANDLE_INFORMATION*
0x20721020
+0x000 Count : 0x3621
+0x004 Handle : [1] _SYSTEM_HANDLE_ENTRY
0:000> dd 20721020
20721020 00003621 00000174 0d640209 0303f590
20721030 001f0003 00000000 00000000 00000000
20721040 00000000 00000000 00000000 00000000
20721050 00000000 00000000 00000000 00000000
20721060 00000000 00000000 00000000 00000000
20721070 00000000 00000000 00000000 00000000
20721080 00000000 00000000 00000000 00000000
20721090 00000000 00000000 00000000 00000000
So the syscall gave us back a list with everything zeroed except the first
entry?!?
Needs more investigation. For now, for the 1.7.0 release, I may relax the
assert to avoid users hitting it if they run debug build.
We should also investigate other OS flavors: we haven't really been testing debug build on all of them.
_Original issue: http://code.google.com/p/drmemory/issues/detail?id=1511_
Contributor guide
Assessment
This issue has not been assessed yet.