DynamoRIO / dynamorio

Dynamic Instrumentation Tool Platform
Other
2.67k stars 561 forks source link

make linux signal handling more robust when interrupting lock holder #150

Open derekbruening opened 9 years ago

derekbruening commented 9 years ago

From derek.br...@gmail.com on May 28, 2009 18:56:39

this was PR 205795

typically due to the signal handler needing to query something that uses a lock: in_fcache, stats increment, etc. some of this was fixed long ago but in_fcache is still used in a few places w/o earlier heuristic lockless guards.

xref bugs where the culprit may be SIGALRMs interrupting DR in bad spots (will file as Issues eventually): xref PR 314391 xref PR 313561 xref PR 314081

also xref pc profiling issues w/ stats lock (PR 205860)

Original issue: http://code.google.com/p/dynamorio/issues/detail?id=150

derekbruening commented 9 years ago

From derek.br...@gmail.com on May 28, 2009 15:58:02

in r163 :

leaving open for further work

derekbruening commented 9 years ago

From cjm...@gmail.com on June 02, 2009 04:41:22

Hello, I have a question when calling the functions of instr_reads_memory(instr_t *instr) and instr_writes_memory. It seems that "pop eax" is a memory reading instruction, for the instr_reads_memory function reture TRUE when encourting that insturction, why? I need help, and I have no idea now.

derekbruening commented 9 years ago

From qin.zhao@gmail.com on June 02, 2009 07:13:38

Did I miss anything? It is perfectly reasonable that "pop eax" reads memory and instr_reads_memory function returns TRUE for that instruction.