1<?xml version="1.0"?>
2
3<valgrindoutput>
4
5<protocolversion>4</protocolversion>
6<protocoltool>drd</protocoltool>
7
8<preamble>
9  <line>...</line>
10  <line>...</line>
11  <line>...</line>
12  <line>...</line>
13</preamble>
14
15<pid>...</pid>
16<ppid>...</ppid>
17<tool>drd</tool>
18
19<args>
20  <vargv>...</vargv>
21  <argv>
22    <exe>./../../helgrind/tests/bar_bad</exe>
23  </argv>
24</args>
25
26<status>
27  <state>RUNNING</state>
28  <time>...</time>
29</status>
30
31
32initialise a barrier with zero count
33<error>
34  <unique>0x........</unique>
35  <tid>...</tid>
36  <kind>BarrierErr</kind>
37  <what>pthread_barrier_init: 'count' argument is zero: barrier 0x........</what>
38  <stack>
39    <frame>
40      <ip>0x........</ip>
41      <obj>...</obj>
42      <fn>pthread_barrier_init</fn>
43      <dir>...</dir>
44      <file>drd_pthread_intercepts.c</file>
45      <line>...</line>
46    </frame>
47    <frame>
48      <ip>0x........</ip>
49      <obj>...</obj>
50      <fn>main</fn>
51      <dir>...</dir>
52      <file>bar_bad.c</file>
53      <line>...</line>
54    </frame>
55  </stack>
56</error>
57
58
59initialise a barrier twice
60<error>
61  <unique>0x........</unique>
62  <tid>...</tid>
63  <kind>BarrierErr</kind>
64  <what>Barrier reinitialization: barrier 0x........</what>
65  <stack>
66    <frame>
67      <ip>0x........</ip>
68      <obj>...</obj>
69      <fn>pthread_barrier_init</fn>
70      <dir>...</dir>
71      <file>drd_pthread_intercepts.c</file>
72      <line>...</line>
73    </frame>
74    <frame>
75      <ip>0x........</ip>
76      <obj>...</obj>
77      <fn>main</fn>
78      <dir>...</dir>
79      <file>bar_bad.c</file>
80      <line>...</line>
81    </frame>
82  </stack>
83  <first_observed_at>
84    <what>barrier</what>
85    <address>0x........</address>
86  <stack>
87    <frame>
88      <ip>0x........</ip>
89      <obj>...</obj>
90      <fn>pthread_barrier_init</fn>
91      <dir>...</dir>
92      <file>drd_pthread_intercepts.c</file>
93      <line>...</line>
94    </frame>
95    <frame>
96      <ip>0x........</ip>
97      <obj>...</obj>
98      <fn>main</fn>
99      <dir>...</dir>
100      <file>bar_bad.c</file>
101      <line>...</line>
102    </frame>
103  </stack>
104  </first_observed_at>
105</error>
106
107
108initialise a barrier which has threads waiting on it
109<error>
110  <unique>0x........</unique>
111  <tid>...</tid>
112  <kind>BarrierErr</kind>
113  <what>Barrier reinitialization: barrier 0x........</what>
114  <stack>
115    <frame>
116      <ip>0x........</ip>
117      <obj>...</obj>
118      <fn>pthread_barrier_init</fn>
119      <dir>...</dir>
120      <file>drd_pthread_intercepts.c</file>
121      <line>...</line>
122    </frame>
123    <frame>
124      <ip>0x........</ip>
125      <obj>...</obj>
126      <fn>main</fn>
127      <dir>...</dir>
128      <file>bar_bad.c</file>
129      <line>...</line>
130    </frame>
131  </stack>
132  <first_observed_at>
133    <what>barrier</what>
134    <address>0x........</address>
135  <stack>
136    <frame>
137      <ip>0x........</ip>
138      <obj>...</obj>
139      <fn>pthread_barrier_init</fn>
140      <dir>...</dir>
141      <file>drd_pthread_intercepts.c</file>
142      <line>...</line>
143    </frame>
144    <frame>
145      <ip>0x........</ip>
146      <obj>...</obj>
147      <fn>main</fn>
148      <dir>...</dir>
149      <file>bar_bad.c</file>
150      <line>...</line>
151    </frame>
152  </stack>
153  </first_observed_at>
154</error>
155
156
157destroy a barrier that has waiting threads
158<error>
159  <unique>0x........</unique>
160  <tid>...</tid>
161  <kind>BarrierErr</kind>
162  <what>Destruction of a barrier with active waiters: barrier 0x........</what>
163  <stack>
164    <frame>
165      <ip>0x........</ip>
166      <obj>...</obj>
167      <fn>pthread_barrier_destroy</fn>
168      <dir>...</dir>
169      <file>drd_pthread_intercepts.c</file>
170      <line>...</line>
171    </frame>
172    <frame>
173      <ip>0x........</ip>
174      <obj>...</obj>
175      <fn>main</fn>
176      <dir>...</dir>
177      <file>bar_bad.c</file>
178      <line>...</line>
179    </frame>
180  </stack>
181  <first_observed_at>
182    <what>barrier</what>
183    <address>0x........</address>
184  <stack>
185    <frame>
186      <ip>0x........</ip>
187      <obj>...</obj>
188      <fn>pthread_barrier_init</fn>
189      <dir>...</dir>
190      <file>drd_pthread_intercepts.c</file>
191      <line>...</line>
192    </frame>
193    <frame>
194      <ip>0x........</ip>
195      <obj>...</obj>
196      <fn>main</fn>
197      <dir>...</dir>
198      <file>bar_bad.c</file>
199      <line>...</line>
200    </frame>
201  </stack>
202  </first_observed_at>
203</error>
204
205
206destroy a barrier that was never initialised
207<error>
208  <unique>0x........</unique>
209  <tid>...</tid>
210  <kind>GenericErr</kind>
211  <what>Not a barrier</what>
212  <stack>
213    <frame>
214      <ip>0x........</ip>
215      <obj>...</obj>
216      <fn>pthread_barrier_destroy</fn>
217      <dir>...</dir>
218      <file>drd_pthread_intercepts.c</file>
219      <line>...</line>
220    </frame>
221    <frame>
222      <ip>0x........</ip>
223      <obj>...</obj>
224      <fn>main</fn>
225      <dir>...</dir>
226      <file>bar_bad.c</file>
227      <line>...</line>
228    </frame>
229  </stack>
230</error>
231
232<error>
233  <unique>0x........</unique>
234  <tid>...</tid>
235  <kind>BarrierErr</kind>
236  <what>Destruction of barrier that is being waited upon: barrier 0x........</what>
237  <stack>
238    <frame>
239      <ip>0x........</ip>
240      <obj>...</obj>
241      <fn>free</fn>
242      <dir>...</dir>
243      <file>vg_replace_malloc.c</file>
244      <line>...</line>
245    </frame>
246    <frame>
247      <ip>0x........</ip>
248      <obj>...</obj>
249      <fn>main</fn>
250      <dir>...</dir>
251      <file>bar_bad.c</file>
252      <line>...</line>
253    </frame>
254  </stack>
255  <first_observed_at>
256    <what>barrier</what>
257    <address>0x........</address>
258  <stack>
259    <frame>
260      <ip>0x........</ip>
261      <obj>...</obj>
262      <fn>pthread_barrier_init</fn>
263      <dir>...</dir>
264      <file>drd_pthread_intercepts.c</file>
265      <line>...</line>
266    </frame>
267    <frame>
268      <ip>0x........</ip>
269      <obj>...</obj>
270      <fn>main</fn>
271      <dir>...</dir>
272      <file>bar_bad.c</file>
273      <line>...</line>
274    </frame>
275  </stack>
276  </first_observed_at>
277</error>
278
279
280<status>
281  <state>FINISHED</state>
282  <time>...</time>
283</status>
284
285<errorcounts>
286  <pair>
287    <count>...</count>
288    <unique>0x........</unique>
289  </pair>
290  <pair>
291    <count>...</count>
292    <unique>0x........</unique>
293  </pair>
294  <pair>
295    <count>...</count>
296    <unique>0x........</unique>
297  </pair>
298  <pair>
299    <count>...</count>
300    <unique>0x........</unique>
301  </pair>
302  <pair>
303    <count>...</count>
304    <unique>0x........</unique>
305  </pair>
306  <pair>
307    <count>...</count>
308    <unique>0x........</unique>
309  </pair>
310</errorcounts>
311
312<suppcounts>...</suppcounts>
313
314</valgrindoutput>
315
316