<?xml version="1.0"?> <valgrindoutput> <protocolversion>4</protocolversion> <protocoltool>drd</protocoltool> <preamble> <line>...</line> <line>...</line> <line>...</line> <line>...</line> </preamble> <pid>...</pid> <ppid>...</ppid> <tool>drd</tool> <args> <vargv>...</vargv> <argv> <exe>./../../helgrind/tests/bar_bad</exe> </argv> </args> <status> <state>RUNNING</state> <time>...</time> </status> initialise a barrier with zero count <error> <unique>0x........</unique> <tid>...</tid> <kind>BarrierErr</kind> <what>pthread_barrier_init: 'count' argument is zero: barrier 0x........</what> <stack> <frame> <ip>0x........</ip> <obj>...</obj> <fn>pthread_barrier_init</fn> <dir>...</dir> <file>drd_pthread_intercepts.c</file> <line>...</line> </frame> <frame> <ip>0x........</ip> <obj>...</obj> <fn>main</fn> <dir>...</dir> <file>bar_bad.c</file> <line>...</line> </frame> </stack> </error> initialise a barrier twice <error> <unique>0x........</unique> <tid>...</tid> <kind>BarrierErr</kind> <what>Barrier reinitialization: barrier 0x........</what> <stack> <frame> <ip>0x........</ip> <obj>...</obj> <fn>pthread_barrier_init</fn> <dir>...</dir> <file>drd_pthread_intercepts.c</file> <line>...</line> </frame> <frame> <ip>0x........</ip> <obj>...</obj> <fn>main</fn> <dir>...</dir> <file>bar_bad.c</file> <line>...</line> </frame> </stack> <first_observed_at> <what>barrier</what> <address>0x........</address> <stack> <frame> <ip>0x........</ip> <obj>...</obj> <fn>pthread_barrier_init</fn> <dir>...</dir> <file>drd_pthread_intercepts.c</file> <line>...</line> </frame> <frame> <ip>0x........</ip> <obj>...</obj> <fn>main</fn> <dir>...</dir> <file>bar_bad.c</file> <line>...</line> </frame> </stack> </first_observed_at> </error> initialise a barrier which has threads waiting on it <error> <unique>0x........</unique> <tid>...</tid> <kind>BarrierErr</kind> <what>Barrier reinitialization: barrier 0x........</what> <stack> <frame> <ip>0x........</ip> <obj>...</obj> <fn>pthread_barrier_init</fn> <dir>...</dir> <file>drd_pthread_intercepts.c</file> <line>...</line> </frame> <frame> <ip>0x........</ip> <obj>...</obj> <fn>main</fn> <dir>...</dir> <file>bar_bad.c</file> <line>...</line> </frame> </stack> <first_observed_at> <what>barrier</what> <address>0x........</address> <stack> <frame> <ip>0x........</ip> <obj>...</obj> <fn>pthread_barrier_init</fn> <dir>...</dir> <file>drd_pthread_intercepts.c</file> <line>...</line> </frame> <frame> <ip>0x........</ip> <obj>...</obj> <fn>main</fn> <dir>...</dir> <file>bar_bad.c</file> <line>...</line> </frame> </stack> </first_observed_at> </error> destroy a barrier that has waiting threads <error> <unique>0x........</unique> <tid>...</tid> <kind>BarrierErr</kind> <what>Destruction of a barrier with active waiters: barrier 0x........</what> <stack> <frame> <ip>0x........</ip> <obj>...</obj> <fn>pthread_barrier_destroy</fn> <dir>...</dir> <file>drd_pthread_intercepts.c</file> <line>...</line> </frame> <frame> <ip>0x........</ip> <obj>...</obj> <fn>main</fn> <dir>...</dir> <file>bar_bad.c</file> <line>...</line> </frame> </stack> <first_observed_at> <what>barrier</what> <address>0x........</address> <stack> <frame> <ip>0x........</ip> <obj>...</obj> <fn>pthread_barrier_init</fn> <dir>...</dir> <file>drd_pthread_intercepts.c</file> <line>...</line> </frame> <frame> <ip>0x........</ip> <obj>...</obj> <fn>main</fn> <dir>...</dir> <file>bar_bad.c</file> <line>...</line> </frame> </stack> </first_observed_at> </error> destroy a barrier that was never initialised <error> <unique>0x........</unique> <tid>...</tid> <kind>GenericErr</kind> <what>Not a barrier</what> <stack> <frame> <ip>0x........</ip> <obj>...</obj> <fn>pthread_barrier_destroy</fn> <dir>...</dir> <file>drd_pthread_intercepts.c</file> <line>...</line> </frame> <frame> <ip>0x........</ip> <obj>...</obj> <fn>main</fn> <dir>...</dir> <file>bar_bad.c</file> <line>...</line> </frame> </stack> </error> <error> <unique>0x........</unique> <tid>...</tid> <kind>BarrierErr</kind> <what>Destruction of barrier that is being waited upon: barrier 0x........</what> <stack> <frame> <ip>0x........</ip> <obj>...</obj> <fn>free</fn> <dir>...</dir> <file>vg_replace_malloc.c</file> <line>...</line> </frame> <frame> <ip>0x........</ip> <obj>...</obj> <fn>main</fn> <dir>...</dir> <file>bar_bad.c</file> <line>...</line> </frame> </stack> <first_observed_at> <what>barrier</what> <address>0x........</address> <stack> <frame> <ip>0x........</ip> <obj>...</obj> <fn>pthread_barrier_init</fn> <dir>...</dir> <file>drd_pthread_intercepts.c</file> <line>...</line> </frame> <frame> <ip>0x........</ip> <obj>...</obj> <fn>main</fn> <dir>...</dir> <file>bar_bad.c</file> <line>...</line> </frame> </stack> </first_observed_at> </error> <status> <state>FINISHED</state> <time>...</time> </status> <errorcounts> <pair> <count>...</count> <unique>0x........</unique> </pair> <pair> <count>...</count> <unique>0x........</unique> </pair> <pair> <count>...</count> <unique>0x........</unique> </pair> <pair> <count>...</count> <unique>0x........</unique> </pair> <pair> <count>...</count> <unique>0x........</unique> </pair> <pair> <count>...</count> <unique>0x........</unique> </pair> </errorcounts> <suppcounts>...</suppcounts> </valgrindoutput>