• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0"?>
2
3<valgrindoutput>
4
5<protocolversion>4</protocolversion>
6<protocoltool>helgrind</protocoltool>
7
8<preamble>
9  <line>Helgrind, a thread error detector</line>
10  <line>Copyright (C) XXXX-YYYY, and GNU GPL'd, by OpenWorks LLP et al.</line>
11  <line>Using Valgrind-X.Y.X and LibVEX; rerun with -h for copyright info</line>
12  <line>Command: ./tc06_two_races</line>
13</preamble>
14
15<pid>...</pid>
16<ppid>...</ppid>
17<tool>helgrind</tool>
18
19<args>
20  <vargv>
21    <exe>...</exe>
22    <arg>--command-line-only=yes</arg>
23    <arg>--memcheck:leak-check=no</arg>
24    <arg>--tool=helgrind</arg>
25    <arg>--read-var-info=yes</arg>
26    <arg>--xml=yes</arg>
27    <arg>--xml-fd=2</arg>
28    <arg>--log-file=/dev/null</arg>
29  </vargv>
30  <argv>
31    <exe>...</exe>
32  </argv>
33</args>
34
35<status>
36  <state>RUNNING</state>
37  <time>...</time>
38</status>
39
40<announcethread>
41  <hthreadid>1</hthreadid>
42  <isrootthread></isrootthread>
43</announcethread>
44
45<announcethread>
46  <hthreadid>2</hthreadid>
47  <stack>
48    <frame>...</frame>
49    <frame>
50      <ip>0x........</ip>
51      <obj>...</obj>
52      <fn>pthread_create</fn>
53      <dir>...</dir>
54      <file>hg_intercepts.c</file>
55      <line>...</line>
56    </frame>
57    <frame>
58      <ip>0x........</ip>
59      <obj>...</obj>
60      <fn>main</fn>
61      <dir>...</dir>
62      <file>tc06_two_races.c</file>
63      <line>26</line>
64    </frame>
65  </stack>
66</announcethread>
67
68<error>
69  <unique>...</unique>
70  <tid>...</tid>
71  <kind>Race</kind>
72  <xwhat>
73    <text>Possible data race during read of size 4 at 0x........ by thread #x</text>
74    <hthreadid>1</hthreadid>
75  </xwhat>
76  <stack>
77    <frame>
78      <ip>0x........</ip>
79      <obj>...</obj>
80      <fn>main</fn>
81      <dir>...</dir>
82      <file>tc06_two_races.c</file>
83      <line>31</line>
84    </frame>
85  </stack>
86  <xauxwhat>
87    <text>This conflicts with a previous write of size 4 by thread #x</text>
88    <hthreadid>2</hthreadid>
89  </xauxwhat>
90  <stack>
91    <frame>
92      <ip>0x........</ip>
93      <obj>...</obj>
94      <fn>child_fn</fn>
95      <dir>...</dir>
96      <file>tc06_two_races.c</file>
97      <line>14</line>
98    </frame>
99    <frame>
100      <ip>0x........</ip>
101      <obj>...</obj>
102      <fn>mythread_wrapper</fn>
103      <dir>...</dir>
104      <file>hg_intercepts.c</file>
105      <line>...</line>
106    </frame>
107    <frame>...</frame>
108  </stack>
109  <auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
110  <xauxwhat><text>declared at tc06_two_races.c:9</text> <file>tc06_two_races.c</file> <line>9</line> </xauxwhat>
111</error>
112
113<error>
114  <unique>...</unique>
115  <tid>...</tid>
116  <kind>Race</kind>
117  <xwhat>
118    <text>Possible data race during write of size 4 at 0x........ by thread #x</text>
119    <hthreadid>1</hthreadid>
120  </xwhat>
121  <stack>
122    <frame>
123      <ip>0x........</ip>
124      <obj>...</obj>
125      <fn>main</fn>
126      <dir>...</dir>
127      <file>tc06_two_races.c</file>
128      <line>31</line>
129    </frame>
130  </stack>
131  <xauxwhat>
132    <text>This conflicts with a previous write of size 4 by thread #x</text>
133    <hthreadid>2</hthreadid>
134  </xauxwhat>
135  <stack>
136    <frame>
137      <ip>0x........</ip>
138      <obj>...</obj>
139      <fn>child_fn</fn>
140      <dir>...</dir>
141      <file>tc06_two_races.c</file>
142      <line>14</line>
143    </frame>
144    <frame>
145      <ip>0x........</ip>
146      <obj>...</obj>
147      <fn>mythread_wrapper</fn>
148      <dir>...</dir>
149      <file>hg_intercepts.c</file>
150      <line>...</line>
151    </frame>
152    <frame>...</frame>
153  </stack>
154  <auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
155  <xauxwhat><text>declared at tc06_two_races.c:9</text> <file>tc06_two_races.c</file> <line>9</line> </xauxwhat>
156</error>
157
158<error>
159  <unique>...</unique>
160  <tid>...</tid>
161  <kind>Race</kind>
162  <xwhat>
163    <text>Possible data race during read of size 4 at 0x........ by thread #x</text>
164    <hthreadid>1</hthreadid>
165  </xwhat>
166  <stack>
167    <frame>
168      <ip>0x........</ip>
169      <obj>...</obj>
170      <fn>main</fn>
171      <dir>...</dir>
172      <file>tc06_two_races.c</file>
173      <line>35</line>
174    </frame>
175  </stack>
176  <xauxwhat>
177    <text>This conflicts with a previous write of size 4 by thread #x</text>
178    <hthreadid>2</hthreadid>
179  </xauxwhat>
180  <stack>
181    <frame>
182      <ip>0x........</ip>
183      <obj>...</obj>
184      <fn>child_fn</fn>
185      <dir>...</dir>
186      <file>tc06_two_races.c</file>
187      <line>18</line>
188    </frame>
189    <frame>
190      <ip>0x........</ip>
191      <obj>...</obj>
192      <fn>mythread_wrapper</fn>
193      <dir>...</dir>
194      <file>hg_intercepts.c</file>
195      <line>...</line>
196    </frame>
197    <frame>...</frame>
198  </stack>
199  <auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
200  <xauxwhat><text>declared at tc06_two_races.c:9</text> <file>tc06_two_races.c</file> <line>9</line> </xauxwhat>
201</error>
202
203<error>
204  <unique>...</unique>
205  <tid>...</tid>
206  <kind>Race</kind>
207  <xwhat>
208    <text>Possible data race during write of size 4 at 0x........ by thread #x</text>
209    <hthreadid>1</hthreadid>
210  </xwhat>
211  <stack>
212    <frame>
213      <ip>0x........</ip>
214      <obj>...</obj>
215      <fn>main</fn>
216      <dir>...</dir>
217      <file>tc06_two_races.c</file>
218      <line>35</line>
219    </frame>
220  </stack>
221  <xauxwhat>
222    <text>This conflicts with a previous write of size 4 by thread #x</text>
223    <hthreadid>2</hthreadid>
224  </xauxwhat>
225  <stack>
226    <frame>
227      <ip>0x........</ip>
228      <obj>...</obj>
229      <fn>child_fn</fn>
230      <dir>...</dir>
231      <file>tc06_two_races.c</file>
232      <line>18</line>
233    </frame>
234    <frame>
235      <ip>0x........</ip>
236      <obj>...</obj>
237      <fn>mythread_wrapper</fn>
238      <dir>...</dir>
239      <file>hg_intercepts.c</file>
240      <line>...</line>
241    </frame>
242    <frame>...</frame>
243  </stack>
244  <auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
245  <xauxwhat><text>declared at tc06_two_races.c:9</text> <file>tc06_two_races.c</file> <line>9</line> </xauxwhat>
246</error>
247
248
249<status>
250  <state>FINISHED</state>
251  <time>...</time>
252</status>
253
254<errorcounts>...</errorcounts>
255
256<suppcounts>...</suppcounts>
257
258</valgrindoutput>
259
260