2 p Runs the 'philosopher' test within the simulator
5 ! setenv GRAS_NO_WARN_EXPERIMENTAL=1
6 $ $SG_TEST_EXENV ./synchro_simulator${EXEEXT:=} ${srcdir:=.}/../../msg/small_platform.xml ${srcdir:=.}/synchro.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
7 > [ 0.000000] (1:philosopher@Tremblay) Spawn the 5 threads (10 lunches scheduled)
8 > [ 0.000000] (1:thread 0@Tremblay) Thread 0 gets hungry (lunch #0)
9 > [ 0.000000] (1:thread 0@Tremblay) Thread 0 eats
10 > [ 0.000000] (1:thread 0@Tremblay) Thread 0 is full
11 > [ 0.000000] (1:thread 0@Tremblay) Thread 0 thinks
12 > [ 0.000000] (1:thread 0@Tremblay) Thread 0 gets hungry (lunch #1)
13 > [ 0.000000] (1:thread 1@Tremblay) Thread 1 gets hungry (lunch #0)
14 > [ 0.000000] (1:thread 2@Tremblay) Thread 2 gets hungry (lunch #0)
15 > [ 0.000000] (1:thread 2@Tremblay) Thread 2 eats
16 > [ 0.000000] (1:thread 3@Tremblay) Thread 3 gets hungry (lunch #0)
17 > [ 0.000000] (1:thread 4@Tremblay) Thread 4 gets hungry (lunch #0)
18 > [ 0.000000] (1:thread 4@Tremblay) Thread 4 eats
19 > [ 0.020000] (1:thread 1@Tremblay) Thread 1 eats
20 > [ 0.020000] (1:thread 2@Tremblay) Thread 2 is full
21 > [ 0.020000] (1:thread 2@Tremblay) Thread 2 thinks
22 > [ 0.030000] (1:thread 1@Tremblay) Thread 1 is full
23 > [ 0.030000] (1:thread 1@Tremblay) Thread 1 thinks
24 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 eats
25 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 is full
26 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 thinks
27 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 gets hungry (lunch #2)
28 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 eats
29 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 is full
30 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 thinks
31 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 gets hungry (lunch #3)
32 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 eats
33 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 is full
34 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 thinks
35 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 gets hungry (lunch #4)
36 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 eats
37 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 is full
38 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 thinks
39 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 gets hungry (lunch #5)
40 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 eats
41 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 is full
42 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 thinks
43 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 gets hungry (lunch #6)
44 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 eats
45 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 is full
46 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 thinks
47 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 gets hungry (lunch #7)
48 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 eats
49 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 is full
50 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 thinks
51 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 gets hungry (lunch #8)
52 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 eats
53 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 is full
54 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 thinks
55 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 gets hungry (lunch #9)
56 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 eats
57 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 is full
58 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 thinks
59 > [ 0.040000] (1:thread 0@Tremblay) Thread 0 tries to enter the dead-end; hopefully, the master will cancel it
60 > [ 0.040000] (1:thread 1@Tremblay) Thread 1 gets hungry (lunch #1)
61 > [ 0.040000] (1:thread 2@Tremblay) Thread 2 gets hungry (lunch #1)
62 > [ 0.040000] (1:thread 2@Tremblay) Thread 2 eats
63 > [ 0.040000] (1:thread 4@Tremblay) Thread 4 is full
64 > [ 0.040000] (1:thread 4@Tremblay) Thread 4 thinks
65 > [ 0.060000] (1:thread 1@Tremblay) Thread 1 eats
66 > [ 0.060000] (1:thread 2@Tremblay) Thread 2 is full
67 > [ 0.060000] (1:thread 2@Tremblay) Thread 2 thinks
68 > [ 0.060000] (1:thread 3@Tremblay) Thread 3 eats
69 > [ 0.070000] (1:thread 1@Tremblay) Thread 1 is full
70 > [ 0.070000] (1:thread 1@Tremblay) Thread 1 thinks
71 > [ 0.080000] (1:thread 1@Tremblay) Thread 1 gets hungry (lunch #2)
72 > [ 0.080000] (1:thread 1@Tremblay) Thread 1 eats
73 > [ 0.080000] (1:thread 2@Tremblay) Thread 2 gets hungry (lunch #2)
74 > [ 0.080000] (1:thread 4@Tremblay) Thread 4 gets hungry (lunch #1)
75 > [ 0.090000] (1:thread 1@Tremblay) Thread 1 is full
76 > [ 0.090000] (1:thread 1@Tremblay) Thread 1 thinks
77 > [ 0.090000] (1:thread 2@Tremblay) Thread 2 eats
78 > [ 0.090000] (1:thread 3@Tremblay) Thread 3 is full
79 > [ 0.090000] (1:thread 3@Tremblay) Thread 3 thinks
80 > [ 0.090000] (1:thread 4@Tremblay) Thread 4 eats
81 > [ 0.100000] (1:thread 1@Tremblay) Thread 1 gets hungry (lunch #3)
82 > [ 0.110000] (1:thread 1@Tremblay) Thread 1 eats
83 > [ 0.110000] (1:thread 2@Tremblay) Thread 2 is full
84 > [ 0.110000] (1:thread 2@Tremblay) Thread 2 thinks
85 > [ 0.120000] (1:thread 1@Tremblay) Thread 1 is full
86 > [ 0.120000] (1:thread 1@Tremblay) Thread 1 thinks
87 > [ 0.120000] (1:thread 3@Tremblay) Thread 3 gets hungry (lunch #1)
88 > [ 0.130000] (1:thread 1@Tremblay) Thread 1 gets hungry (lunch #4)
89 > [ 0.130000] (1:thread 2@Tremblay) Thread 2 gets hungry (lunch #3)
90 > [ 0.130000] (1:thread 2@Tremblay) Thread 2 eats
91 > [ 0.130000] (1:thread 4@Tremblay) Thread 4 is full
92 > [ 0.130000] (1:thread 4@Tremblay) Thread 4 thinks
93 > [ 0.150000] (1:thread 1@Tremblay) Thread 1 eats
94 > [ 0.150000] (1:thread 2@Tremblay) Thread 2 is full
95 > [ 0.150000] (1:thread 2@Tremblay) Thread 2 thinks
96 > [ 0.150000] (1:thread 3@Tremblay) Thread 3 eats
97 > [ 0.160000] (1:thread 1@Tremblay) Thread 1 is full
98 > [ 0.160000] (1:thread 1@Tremblay) Thread 1 thinks
99 > [ 0.170000] (1:thread 1@Tremblay) Thread 1 gets hungry (lunch #5)
100 > [ 0.170000] (1:thread 1@Tremblay) Thread 1 eats
101 > [ 0.170000] (1:thread 2@Tremblay) Thread 2 gets hungry (lunch #4)
102 > [ 0.170000] (1:thread 4@Tremblay) Thread 4 gets hungry (lunch #2)
103 > [ 0.180000] (1:thread 1@Tremblay) Thread 1 is full
104 > [ 0.180000] (1:thread 1@Tremblay) Thread 1 thinks
105 > [ 0.180000] (1:thread 2@Tremblay) Thread 2 eats
106 > [ 0.180000] (1:thread 3@Tremblay) Thread 3 is full
107 > [ 0.180000] (1:thread 3@Tremblay) Thread 3 thinks
108 > [ 0.180000] (1:thread 4@Tremblay) Thread 4 eats
109 > [ 0.190000] (1:thread 1@Tremblay) Thread 1 gets hungry (lunch #6)
110 > [ 0.200000] (1:thread 1@Tremblay) Thread 1 eats
111 > [ 0.200000] (1:thread 2@Tremblay) Thread 2 is full
112 > [ 0.200000] (1:thread 2@Tremblay) Thread 2 thinks
113 > [ 0.210000] (1:thread 1@Tremblay) Thread 1 is full
114 > [ 0.210000] (1:thread 1@Tremblay) Thread 1 thinks
115 > [ 0.210000] (1:thread 3@Tremblay) Thread 3 gets hungry (lunch #2)
116 > [ 0.220000] (1:thread 1@Tremblay) Thread 1 gets hungry (lunch #7)
117 > [ 0.220000] (1:thread 2@Tremblay) Thread 2 gets hungry (lunch #5)
118 > [ 0.220000] (1:thread 2@Tremblay) Thread 2 eats
119 > [ 0.220000] (1:thread 4@Tremblay) Thread 4 is full
120 > [ 0.220000] (1:thread 4@Tremblay) Thread 4 thinks
121 > [ 0.240000] (1:thread 1@Tremblay) Thread 1 eats
122 > [ 0.240000] (1:thread 2@Tremblay) Thread 2 is full
123 > [ 0.240000] (1:thread 2@Tremblay) Thread 2 thinks
124 > [ 0.240000] (1:thread 3@Tremblay) Thread 3 eats
125 > [ 0.250000] (1:thread 1@Tremblay) Thread 1 is full
126 > [ 0.250000] (1:thread 1@Tremblay) Thread 1 thinks
127 > [ 0.260000] (1:thread 1@Tremblay) Thread 1 gets hungry (lunch #8)
128 > [ 0.260000] (1:thread 1@Tremblay) Thread 1 eats
129 > [ 0.260000] (1:thread 2@Tremblay) Thread 2 gets hungry (lunch #6)
130 > [ 0.260000] (1:thread 4@Tremblay) Thread 4 gets hungry (lunch #3)
131 > [ 0.270000] (1:thread 1@Tremblay) Thread 1 is full
132 > [ 0.270000] (1:thread 1@Tremblay) Thread 1 thinks
133 > [ 0.270000] (1:thread 2@Tremblay) Thread 2 eats
134 > [ 0.270000] (1:thread 3@Tremblay) Thread 3 is full
135 > [ 0.270000] (1:thread 3@Tremblay) Thread 3 thinks
136 > [ 0.270000] (1:thread 4@Tremblay) Thread 4 eats
137 > [ 0.280000] (1:thread 1@Tremblay) Thread 1 gets hungry (lunch #9)
138 > [ 0.290000] (1:thread 1@Tremblay) Thread 1 eats
139 > [ 0.290000] (1:thread 2@Tremblay) Thread 2 is full
140 > [ 0.290000] (1:thread 2@Tremblay) Thread 2 thinks
141 > [ 0.300000] (1:thread 1@Tremblay) Thread 1 is full
142 > [ 0.300000] (1:thread 1@Tremblay) Thread 1 thinks
143 > [ 0.300000] (1:thread 3@Tremblay) Thread 3 gets hungry (lunch #3)
144 > [ 0.310000] (1:thread 1@Tremblay) Thread 1 tries to enter the dead-end; hopefully, the master will cancel it
145 > [ 0.310000] (1:thread 2@Tremblay) Thread 2 gets hungry (lunch #7)
146 > [ 0.310000] (1:thread 2@Tremblay) Thread 2 eats
147 > [ 0.310000] (1:thread 4@Tremblay) Thread 4 is full
148 > [ 0.310000] (1:thread 4@Tremblay) Thread 4 thinks
149 > [ 0.330000] (1:thread 2@Tremblay) Thread 2 is full
150 > [ 0.330000] (1:thread 2@Tremblay) Thread 2 thinks
151 > [ 0.330000] (1:thread 3@Tremblay) Thread 3 eats
152 > [ 0.350000] (1:thread 2@Tremblay) Thread 2 gets hungry (lunch #8)
153 > [ 0.350000] (1:thread 4@Tremblay) Thread 4 gets hungry (lunch #4)
154 > [ 0.360000] (1:thread 2@Tremblay) Thread 2 eats
155 > [ 0.360000] (1:thread 3@Tremblay) Thread 3 is full
156 > [ 0.360000] (1:thread 3@Tremblay) Thread 3 thinks
157 > [ 0.360000] (1:thread 4@Tremblay) Thread 4 eats
158 > [ 0.380000] (1:thread 2@Tremblay) Thread 2 is full
159 > [ 0.380000] (1:thread 2@Tremblay) Thread 2 thinks
160 > [ 0.390000] (1:thread 3@Tremblay) Thread 3 gets hungry (lunch #4)
161 > [ 0.400000] (1:thread 2@Tremblay) Thread 2 gets hungry (lunch #9)
162 > [ 0.400000] (1:thread 2@Tremblay) Thread 2 eats
163 > [ 0.400000] (1:thread 4@Tremblay) Thread 4 is full
164 > [ 0.400000] (1:thread 4@Tremblay) Thread 4 thinks
165 > [ 0.420000] (1:thread 2@Tremblay) Thread 2 is full
166 > [ 0.420000] (1:thread 2@Tremblay) Thread 2 thinks
167 > [ 0.420000] (1:thread 3@Tremblay) Thread 3 eats
168 > [ 0.440000] (1:thread 2@Tremblay) Thread 2 tries to enter the dead-end; hopefully, the master will cancel it
169 > [ 0.440000] (1:thread 4@Tremblay) Thread 4 gets hungry (lunch #5)
170 > [ 0.450000] (1:thread 3@Tremblay) Thread 3 is full
171 > [ 0.450000] (1:thread 3@Tremblay) Thread 3 thinks
172 > [ 0.450000] (1:thread 4@Tremblay) Thread 4 eats
173 > [ 0.480000] (1:thread 3@Tremblay) Thread 3 gets hungry (lunch #5)
174 > [ 0.490000] (1:thread 3@Tremblay) Thread 3 eats
175 > [ 0.490000] (1:thread 4@Tremblay) Thread 4 is full
176 > [ 0.490000] (1:thread 4@Tremblay) Thread 4 thinks
177 > [ 0.520000] (1:thread 3@Tremblay) Thread 3 is full
178 > [ 0.520000] (1:thread 3@Tremblay) Thread 3 thinks
179 > [ 0.530000] (1:thread 4@Tremblay) Thread 4 gets hungry (lunch #6)
180 > [ 0.530000] (1:thread 4@Tremblay) Thread 4 eats
181 > [ 0.550000] (1:thread 3@Tremblay) Thread 3 gets hungry (lunch #6)
182 > [ 0.570000] (1:thread 3@Tremblay) Thread 3 eats
183 > [ 0.570000] (1:thread 4@Tremblay) Thread 4 is full
184 > [ 0.570000] (1:thread 4@Tremblay) Thread 4 thinks
185 > [ 0.600000] (1:thread 3@Tremblay) Thread 3 is full
186 > [ 0.600000] (1:thread 3@Tremblay) Thread 3 thinks
187 > [ 0.610000] (1:thread 4@Tremblay) Thread 4 gets hungry (lunch #7)
188 > [ 0.610000] (1:thread 4@Tremblay) Thread 4 eats
189 > [ 0.630000] (1:thread 3@Tremblay) Thread 3 gets hungry (lunch #7)
190 > [ 0.650000] (1:thread 3@Tremblay) Thread 3 eats
191 > [ 0.650000] (1:thread 4@Tremblay) Thread 4 is full
192 > [ 0.650000] (1:thread 4@Tremblay) Thread 4 thinks
193 > [ 0.680000] (1:thread 3@Tremblay) Thread 3 is full
194 > [ 0.680000] (1:thread 3@Tremblay) Thread 3 thinks
195 > [ 0.690000] (1:thread 4@Tremblay) Thread 4 gets hungry (lunch #8)
196 > [ 0.690000] (1:thread 4@Tremblay) Thread 4 eats
197 > [ 0.710000] (1:thread 3@Tremblay) Thread 3 gets hungry (lunch #8)
198 > [ 0.730000] (1:thread 3@Tremblay) Thread 3 eats
199 > [ 0.730000] (1:thread 4@Tremblay) Thread 4 is full
200 > [ 0.730000] (1:thread 4@Tremblay) Thread 4 thinks
201 > [ 0.760000] (1:thread 3@Tremblay) Thread 3 is full
202 > [ 0.760000] (1:thread 3@Tremblay) Thread 3 thinks
203 > [ 0.770000] (1:thread 4@Tremblay) Thread 4 gets hungry (lunch #9)
204 > [ 0.770000] (1:thread 4@Tremblay) Thread 4 eats
205 > [ 0.790000] (1:thread 3@Tremblay) Thread 3 gets hungry (lunch #9)
206 > [ 0.810000] (1:thread 3@Tremblay) Thread 3 eats
207 > [ 0.810000] (1:thread 4@Tremblay) Thread 4 is full
208 > [ 0.810000] (1:thread 4@Tremblay) Thread 4 thinks
209 > [ 0.840000] (1:thread 3@Tremblay) Thread 3 is full
210 > [ 0.840000] (1:thread 3@Tremblay) Thread 3 thinks
211 > [ 0.850000] (1:thread 4@Tremblay) Thread 4 tries to enter the dead-end; hopefully, the master will cancel it
212 > [ 0.870000] (1:philosopher@Tremblay) Cancel all childs
213 > [ 0.870000] (1:philosopher@Tremblay) Exiting GRAS
214 > [ 0.870000] (1:thread 3@Tremblay) Thread 3 tries to enter the dead-end; hopefully, the master will cancel it