Repository navigation
Commit b0ae01d
Halt the tree and complete the execution when a node throws
When a node threw an exception while the tree was ticked, execute() aborted
the goal and returned at once: the tree was not halted, and
onTreeExecutionCompleted() was not called. Nodes still running, e.g. an
action whose goal was sent, were left running, and a server that cleans up
or reports the end of a run in onTreeExecutionCompleted() never learned that
the run had ended.
Halt the tree and call onTreeExecutionCompleted(FAILURE, false) there too,
as for every other end of a run, for any exception thrown once
onTreeCreated() has returned: by a node while the tree is ticked, or by
onLoopAfterTick() or onLoopFeedback(). The result also carries the FAILURE
node status. An exception thrown before, e.g. by the creation of the tree,
is handled as before. If onTreeExecutionCompleted() itself throws while the
execution is stopped, it is not called a second time.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>1 parent 6c6aa07 commit b0ae01d
3 files changed
Lines changed: 43 additions & 3 deletions
File tree
- behaviortree_ros2
- include/behaviortree_ros2
- src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
125 | 125 | | |
126 | 126 | | |
127 | 127 | | |
128 | | - | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
129 | 131 | | |
130 | 132 | | |
131 | 133 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
186 | 186 | | |
187 | 187 | | |
188 | 188 | | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
189 | 196 | | |
190 | 197 | | |
191 | 198 | | |
| |||
198 | 205 | | |
199 | 206 | | |
200 | 207 | | |
| 208 | + | |
201 | 209 | | |
202 | 210 | | |
203 | 211 | | |
| |||
209 | 217 | | |
210 | 218 | | |
211 | 219 | | |
212 | | - | |
213 | | - | |
| 220 | + | |
| 221 | + | |
214 | 222 | | |
215 | 223 | | |
| 224 | + | |
216 | 225 | | |
217 | 226 | | |
218 | 227 | | |
| |||
264 | 273 | | |
265 | 274 | | |
266 | 275 | | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
267 | 300 | | |
268 | 301 | | |
269 | 302 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
56 | 61 | | |
57 | 62 | | |
58 | 63 | | |
| |||
0 commit comments