blob: d12c5aa30522e6dd4a0564800b08d61d777cd54d [file] [log] [blame]
Neels Hofmeyr223d66a2019-03-23 23:38:43 +01001DLGLOBAL DEBUG scene_alloc()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002DLGLOBAL DEBUG test(root){alive}: Allocated
3DLGLOBAL DEBUG test(root){alive}: Allocated
4DLGLOBAL DEBUG test(root){alive}: is child of test(root)
Neels Hofmeyr223d66a2019-03-23 23:38:43 +01005DLGLOBAL DEBUG test(_branch0){alive}: Allocated
6DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01007DLGLOBAL DEBUG test(_branch0){alive}: Allocated
8DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
9DLGLOBAL DEBUG test(root){alive}: Allocated
10DLGLOBAL DEBUG test(root){alive}: is child of test(root)
11DLGLOBAL DEBUG test(_branch1){alive}: Allocated
12DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
13DLGLOBAL DEBUG test(_branch1){alive}: Allocated
14DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
Neels Hofmeyr223d66a2019-03-23 23:38:43 +010015DLGLOBAL DEBUG test(other){alive}: Allocated
16DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
17DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
18DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
19DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010020DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
21DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
22DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
23DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
Neels Hofmeyr3b414a42019-04-08 00:33:53 +020024DLGLOBAL DEBUG ------ before term cascade, got:
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010025DLGLOBAL DEBUG root
Neels Hofmeyr3b414a42019-04-08 00:33:53 +020026DLGLOBAL DEBUG _branch0
27DLGLOBAL DEBUG __twig0a
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010028DLGLOBAL DEBUG __twig0b
29DLGLOBAL DEBUG _branch1
30DLGLOBAL DEBUG __twig1a
31DLGLOBAL DEBUG __twig1b
32DLGLOBAL DEBUG other
33DLGLOBAL DEBUG ---
34DLGLOBAL DEBUG --- term at root
35DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
36DLGLOBAL DEBUG test(root){alive}: pre_term()
37DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
38DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
39DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
40DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
41DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
42DLGLOBAL DEBUG 1 (__twig1b.cleanup())
43DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
44DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
45DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
46DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive())
47DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
48DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone())
49DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
50DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
51DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive())
52DLGLOBAL DEBUG 1 (__twig1b.cleanup())
53DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
54DLGLOBAL DEBUG 0 (-)
55DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(root)
56DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
57DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
58DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
59DLGLOBAL DEBUG 1 (__twig1a.cleanup())
60DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
61DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
62DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
63DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
64DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
65DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
66DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone())
67DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
68DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +010069DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010070DLGLOBAL DEBUG 1 (__twig1a.cleanup())
71DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
72DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive())
73DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
74DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone())
75DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a
76DLGLOBAL DEBUG test(_branch1){alive}: No more children
77DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +010078DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010079DLGLOBAL DEBUG 1 (__twig1a.cleanup())
80DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
81DLGLOBAL DEBUG 0 (-)
82DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +010083DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010084DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +010085DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
86DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
87DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010088DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
89DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
90DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
91DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
92DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
93DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +010094DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
95DLGLOBAL DEBUG test(other){alive}: pre_term()
96DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
97DLGLOBAL DEBUG test(other){alive}: cleanup()
98DLGLOBAL DEBUG test(other){alive}: scene forgets other
99DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100100DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100101DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100102DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100103DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100104DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100105DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
106DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
107DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100108DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
109DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
110DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100111DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100112DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
113DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100114DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
115DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
116DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
117DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone())
118DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
119DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0]
120DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
121DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100122DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100123DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100124DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(root)
125DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
126DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
127DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100128DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100129DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
130DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
131DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100132DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
133DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
134DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
135DLGLOBAL DEBUG 7 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone())
136DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
137DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
138DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
139DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
140DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
141DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone())
142DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
143DLGLOBAL DEBUG test(_branch0){alive}: No more children
144DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
145DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating
146DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100147DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100148DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100149DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100150DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
151DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
152DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
153DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
154DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
155DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
156DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
157DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone())
158DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
159DLGLOBAL DEBUG test(root){alive}: still exists: child[1]
160DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
161DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
162DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
163DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
164DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
165DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive())
166DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
167DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
168DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
169DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(root)
170DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
171DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100172DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100173DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100174DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100175DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
176DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive())
177DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
178DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone())
179DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1
180DLGLOBAL DEBUG test(root){alive}: No more children
181DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive())
182DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100183DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100184DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100185DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100186DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100187DLGLOBAL DEBUG 1 (root.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100188DLGLOBAL DEBUG test(root){alive}: cleanup()
189DLGLOBAL DEBUG test(root){alive}: scene forgets root
190DLGLOBAL DEBUG test(root){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100191DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100192DLGLOBAL DEBUG test(root){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100193DLGLOBAL DEBUG --- after term cascade:
194DLGLOBAL DEBUG --- all deallocated.
195DLGLOBAL DEBUG scene_alloc()
196DLGLOBAL DEBUG test(root){alive}: Allocated
197DLGLOBAL DEBUG test(root){alive}: Allocated
198DLGLOBAL DEBUG test(root){alive}: is child of test(root)
199DLGLOBAL DEBUG test(_branch0){alive}: Allocated
200DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
201DLGLOBAL DEBUG test(_branch0){alive}: Allocated
202DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
203DLGLOBAL DEBUG test(root){alive}: Allocated
204DLGLOBAL DEBUG test(root){alive}: is child of test(root)
205DLGLOBAL DEBUG test(_branch1){alive}: Allocated
206DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
207DLGLOBAL DEBUG test(_branch1){alive}: Allocated
208DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
209DLGLOBAL DEBUG test(other){alive}: Allocated
210DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
211DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
212DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
213DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
214DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
215DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
216DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
217DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
218DLGLOBAL DEBUG ------ before destroy-event cascade, got:
219DLGLOBAL DEBUG root
220DLGLOBAL DEBUG _branch0
221DLGLOBAL DEBUG __twig0a
222DLGLOBAL DEBUG __twig0b
223DLGLOBAL DEBUG _branch1
224DLGLOBAL DEBUG __twig1a
225DLGLOBAL DEBUG __twig1b
226DLGLOBAL DEBUG other
227DLGLOBAL DEBUG ---
228DLGLOBAL DEBUG --- destroy-event at root
229DLGLOBAL DEBUG test(root){alive}: Received Event EV_DESTROY
230DLGLOBAL DEBUG 1 (root.alive())
231DLGLOBAL DEBUG test(root){alive}: alive(EV_DESTROY)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100232DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
233DLGLOBAL DEBUG test(root){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100234DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
235DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
236DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
237DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
238DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100239DLGLOBAL DEBUG 2 (root.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100240DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
241DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
242DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100243DLGLOBAL DEBUG 3 (root.alive(),__twig1b.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100244DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100245DLGLOBAL DEBUG 4 (root.alive(),__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100246DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
247DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100248DLGLOBAL DEBUG 3 (root.alive(),__twig1b.cleanup(),_branch1.alive())
249DLGLOBAL DEBUG 2 (root.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100250DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100251DLGLOBAL DEBUG 1 (root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100252DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(root)
253DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
254DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
255DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100256DLGLOBAL DEBUG 2 (root.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100257DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
258DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
259DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100260DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
261DLGLOBAL DEBUG 3 (2*root.alive(),__twig1a.cleanup())
262DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
263DLGLOBAL DEBUG 4 (2*root.alive(),__twig1a.cleanup(),root.other_gone())
264DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
265DLGLOBAL DEBUG 3 (2*root.alive(),__twig1a.cleanup())
266DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
267DLGLOBAL DEBUG 2 (root.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100268DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100269DLGLOBAL DEBUG 3 (root.alive(),__twig1a.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100270DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100271DLGLOBAL DEBUG 4 (root.alive(),__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100272DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a
273DLGLOBAL DEBUG test(_branch1){alive}: No more children
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100274DLGLOBAL DEBUG 3 (root.alive(),__twig1a.cleanup(),_branch1.alive())
275DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
276DLGLOBAL DEBUG 2 (root.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100277DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100278DLGLOBAL DEBUG 1 (root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100279DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100280DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
281DLGLOBAL DEBUG 2 (root.alive(),_branch1.cleanup())
282DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
283DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
284DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100285DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100286DLGLOBAL DEBUG 3 (root.alive(),_branch1.cleanup(),other.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100287DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100288DLGLOBAL DEBUG 4 (root.alive(),_branch1.cleanup(),other.alive(),other.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100289DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100290DLGLOBAL DEBUG 3 (root.alive(),_branch1.cleanup(),other.alive())
291DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
292DLGLOBAL DEBUG test(other){alive}: pre_term()
293DLGLOBAL DEBUG 4 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
294DLGLOBAL DEBUG test(other){alive}: cleanup()
295DLGLOBAL DEBUG test(other){alive}: scene forgets other
296DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100297DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100298DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100299DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100300DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100301DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100302DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
303DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
304DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100305DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
306DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
307DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100308DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100309DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
310DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100311DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
312DLGLOBAL DEBUG 7 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
313DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
314DLGLOBAL DEBUG 8 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone())
315DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
316DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0]
317DLGLOBAL DEBUG 7 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
318DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100319DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100320DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100321DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(root)
322DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
323DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
324DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100325DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100326DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
327DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
328DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100329DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
330DLGLOBAL DEBUG 7 (root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
331DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
332DLGLOBAL DEBUG 8 (root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone())
333DLGLOBAL DEBUG 7 (root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
334DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
335DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
336DLGLOBAL DEBUG 7 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
337DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
338DLGLOBAL DEBUG 8 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone())
339DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
340DLGLOBAL DEBUG test(_branch0){alive}: No more children
341DLGLOBAL DEBUG 7 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
342DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating
343DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100344DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100345DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100346DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100347DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
348DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
349DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
350DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
351DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
352DLGLOBAL DEBUG 7 (2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
353DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
354DLGLOBAL DEBUG 8 (2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.child_gone())
355DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
356DLGLOBAL DEBUG test(root){alive}: still exists: child[1]
357DLGLOBAL DEBUG 7 (2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
358DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
359DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
360DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
361DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
362DLGLOBAL DEBUG 6 (2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
363DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
364DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
365DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
366DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(root)
367DLGLOBAL DEBUG 4 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
368DLGLOBAL DEBUG test(other){alive}: cleanup() done
369DLGLOBAL DEBUG 3 (root.alive(),_branch1.cleanup(),other.alive())
370DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(root)
371DLGLOBAL DEBUG 2 (root.alive(),_branch1.cleanup())
372DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
373DLGLOBAL DEBUG 3 (2*root.alive(),_branch1.cleanup())
374DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
375DLGLOBAL DEBUG 4 (2*root.alive(),_branch1.cleanup(),root.child_gone())
376DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1
377DLGLOBAL DEBUG test(root){alive}: No more children
378DLGLOBAL DEBUG 3 (2*root.alive(),_branch1.cleanup())
379DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
380DLGLOBAL DEBUG 2 (root.alive(),_branch1.cleanup())
381DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100382DLGLOBAL DEBUG 1 (root.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100383DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(root)
384DLGLOBAL DEBUG 2 (root.alive(),root.cleanup())
385DLGLOBAL DEBUG test(root){alive}: cleanup()
386DLGLOBAL DEBUG test(root){alive}: scene forgets root
387DLGLOBAL DEBUG test(root){alive}: cleanup() done
388DLGLOBAL DEBUG 1 (root.alive())
389DLGLOBAL DEBUG test(root){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100390DLGLOBAL DEBUG 0 (-)
391DLGLOBAL DEBUG --- after destroy-event cascade:
392DLGLOBAL DEBUG --- all deallocated.
393DLGLOBAL DEBUG scene_alloc()
394DLGLOBAL DEBUG test(root){alive}: Allocated
395DLGLOBAL DEBUG test(root){alive}: Allocated
396DLGLOBAL DEBUG test(root){alive}: is child of test(root)
397DLGLOBAL DEBUG test(_branch0){alive}: Allocated
398DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
399DLGLOBAL DEBUG test(_branch0){alive}: Allocated
400DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
401DLGLOBAL DEBUG test(root){alive}: Allocated
402DLGLOBAL DEBUG test(root){alive}: is child of test(root)
403DLGLOBAL DEBUG test(_branch1){alive}: Allocated
404DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
405DLGLOBAL DEBUG test(_branch1){alive}: Allocated
406DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
407DLGLOBAL DEBUG test(other){alive}: Allocated
408DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
409DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
410DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
411DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
412DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
413DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
414DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
415DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
416DLGLOBAL DEBUG ------ before term cascade, got:
417DLGLOBAL DEBUG root
418DLGLOBAL DEBUG _branch0
419DLGLOBAL DEBUG __twig0a
420DLGLOBAL DEBUG __twig0b
421DLGLOBAL DEBUG _branch1
422DLGLOBAL DEBUG __twig1a
423DLGLOBAL DEBUG __twig1b
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200424DLGLOBAL DEBUG other
425DLGLOBAL DEBUG ---
426DLGLOBAL DEBUG --- term at _branch0
427DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
428DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100429DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch0))
430DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
431DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
432DLGLOBAL DEBUG 1 (__twig0b.cleanup())
433DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
434DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
435DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
436DLGLOBAL DEBUG 2 (__twig0b.cleanup(),_branch0.alive())
437DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
438DLGLOBAL DEBUG 3 (__twig0b.cleanup(),_branch0.alive(),_branch0.child_gone())
439DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
440DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0]
441DLGLOBAL DEBUG 2 (__twig0b.cleanup(),_branch0.alive())
442DLGLOBAL DEBUG 1 (__twig0b.cleanup())
443DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
444DLGLOBAL DEBUG 0 (-)
445DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(_branch0)
446DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch0))
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200447DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
448DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
449DLGLOBAL DEBUG 1 (__twig0a.cleanup())
450DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
451DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
452DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
453DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
454DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive())
455DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
456DLGLOBAL DEBUG 3 (__twig0a.cleanup(),other.alive(),other.other_gone())
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200457DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive())
458DLGLOBAL DEBUG 1 (__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100459DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
460DLGLOBAL DEBUG 2 (__twig0a.cleanup(),_branch0.alive())
461DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
462DLGLOBAL DEBUG 3 (__twig0a.cleanup(),_branch0.alive(),_branch0.child_gone())
463DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
464DLGLOBAL DEBUG test(_branch0){alive}: No more children
465DLGLOBAL DEBUG 2 (__twig0a.cleanup(),_branch0.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100466DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200467DLGLOBAL DEBUG 1 (__twig0a.cleanup())
468DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
469DLGLOBAL DEBUG 0 (-)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100470DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100471DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200472DLGLOBAL DEBUG 1 (_branch0.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100473DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
474DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
475DLGLOBAL DEBUG test(_branch0){alive}: removing reference _branch0.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100476DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
477DLGLOBAL DEBUG 2 (_branch0.cleanup(),other.alive())
478DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
479DLGLOBAL DEBUG 3 (_branch0.cleanup(),other.alive(),other.other_gone())
480DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[0] = _branch0
481DLGLOBAL DEBUG 2 (_branch0.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100482DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch0))
483DLGLOBAL DEBUG test(other){alive}: pre_term()
484DLGLOBAL DEBUG 3 (_branch0.cleanup(),other.alive(),other.cleanup())
485DLGLOBAL DEBUG test(other){alive}: cleanup()
486DLGLOBAL DEBUG test(other){alive}: scene forgets other
487DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100488DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100489DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100490DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100491DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100492DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100493DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
494DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch0))
495DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100496DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch0))
497DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
498DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100499DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100500DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
501DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100502DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
503DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup())
504DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
505DLGLOBAL DEBUG 7 (_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup(),_branch1.child_gone())
506DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
507DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
508DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup())
509DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100510DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100511DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100512DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(_branch0)
513DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch0))
514DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
515DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100516DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100517DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
518DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
519DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
520DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100521DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100522DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100523DLGLOBAL DEBUG 7 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100524DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100525DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
526DLGLOBAL DEBUG test(root){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch0))
527DLGLOBAL DEBUG test(root){alive}: pre_term()
528DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
529DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck
530DLGLOBAL DEBUG 7 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup())
531DLGLOBAL DEBUG test(root){alive}: cleanup()
532DLGLOBAL DEBUG test(root){alive}: scene forgets root
533DLGLOBAL DEBUG test(root){alive}: cleanup() done
534DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
535DLGLOBAL DEBUG test(root){alive}: Deferring: will deallocate with test(_branch0)
536DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
537DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
538DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup())
539DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
540DLGLOBAL DEBUG 7 (_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup(),_branch1.child_gone())
541DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a
542DLGLOBAL DEBUG test(_branch1){alive}: No more children
543DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup())
544DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
545DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100546DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100547DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100548DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100549DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
550DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup())
551DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
552DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
553DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
554DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive())
555DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
556DLGLOBAL DEBUG 7 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive(),root.child_gone())
557DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1
558DLGLOBAL DEBUG test(root){alive}: still exists: child[0]
559DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive())
560DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup())
561DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
562DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
563DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
564DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),root.alive())
565DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
566DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
567DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
568DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(_branch0)
569DLGLOBAL DEBUG 3 (_branch0.cleanup(),other.alive(),other.cleanup())
570DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100571DLGLOBAL DEBUG 2 (_branch0.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100572DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(_branch0)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100573DLGLOBAL DEBUG 1 (_branch0.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100574DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
575DLGLOBAL DEBUG 2 (_branch0.cleanup(),root.alive())
576DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
577DLGLOBAL DEBUG 3 (_branch0.cleanup(),root.alive(),root.child_gone())
578DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
579DLGLOBAL DEBUG test(root){alive}: No more children
580DLGLOBAL DEBUG 2 (_branch0.cleanup(),root.alive())
581DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100582DLGLOBAL DEBUG 1 (_branch0.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100583DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200584DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100585DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
586DLGLOBAL DEBUG 1 (root.alive())
587DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
588DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100589DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100590DLGLOBAL DEBUG test(_branch0){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200591DLGLOBAL DEBUG --- after term cascade:
592DLGLOBAL DEBUG --- all deallocated.
593DLGLOBAL DEBUG scene_alloc()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100594DLGLOBAL DEBUG test(root){alive}: Allocated
595DLGLOBAL DEBUG test(root){alive}: Allocated
596DLGLOBAL DEBUG test(root){alive}: is child of test(root)
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200597DLGLOBAL DEBUG test(_branch0){alive}: Allocated
598DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100599DLGLOBAL DEBUG test(_branch0){alive}: Allocated
600DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
601DLGLOBAL DEBUG test(root){alive}: Allocated
602DLGLOBAL DEBUG test(root){alive}: is child of test(root)
603DLGLOBAL DEBUG test(_branch1){alive}: Allocated
604DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
605DLGLOBAL DEBUG test(_branch1){alive}: Allocated
606DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200607DLGLOBAL DEBUG test(other){alive}: Allocated
608DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
609DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
610DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
611DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100612DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
613DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
614DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
615DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200616DLGLOBAL DEBUG ------ before destroy-event cascade, got:
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100617DLGLOBAL DEBUG root
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200618DLGLOBAL DEBUG _branch0
619DLGLOBAL DEBUG __twig0a
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100620DLGLOBAL DEBUG __twig0b
621DLGLOBAL DEBUG _branch1
622DLGLOBAL DEBUG __twig1a
623DLGLOBAL DEBUG __twig1b
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200624DLGLOBAL DEBUG other
625DLGLOBAL DEBUG ---
626DLGLOBAL DEBUG --- destroy-event at _branch0
627DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_DESTROY
628DLGLOBAL DEBUG 1 (_branch0.alive())
629DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_DESTROY)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100630DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
631DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100632DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch0))
633DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
634DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100635DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100636DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
637DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100638DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
639DLGLOBAL DEBUG 3 (2*_branch0.alive(),__twig0b.cleanup())
640DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
641DLGLOBAL DEBUG 4 (2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone())
642DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
643DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0]
644DLGLOBAL DEBUG 3 (2*_branch0.alive(),__twig0b.cleanup())
645DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100646DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100647DLGLOBAL DEBUG 1 (_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100648DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(_branch0)
649DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch0))
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200650DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
651DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100652DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200653DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
654DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
655DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
656DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100657DLGLOBAL DEBUG 3 (_branch0.alive(),__twig0a.cleanup(),other.alive())
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200658DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100659DLGLOBAL DEBUG 4 (_branch0.alive(),__twig0a.cleanup(),other.alive(),other.other_gone())
660DLGLOBAL DEBUG 3 (_branch0.alive(),__twig0a.cleanup(),other.alive())
661DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0a.cleanup())
662DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
663DLGLOBAL DEBUG 3 (2*_branch0.alive(),__twig0a.cleanup())
664DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
665DLGLOBAL DEBUG 4 (2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone())
666DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
667DLGLOBAL DEBUG test(_branch0){alive}: No more children
668DLGLOBAL DEBUG 3 (2*_branch0.alive(),__twig0a.cleanup())
669DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating
670DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200671DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100672DLGLOBAL DEBUG 1 (_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100673DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100674DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
675DLGLOBAL DEBUG 2 (_branch0.alive(),_branch0.cleanup())
676DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
677DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
678DLGLOBAL DEBUG test(_branch0){alive}: removing reference _branch0.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100679DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100680DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),other.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100681DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100682DLGLOBAL DEBUG 4 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100683DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[0] = _branch0
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100684DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),other.alive())
685DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch0))
686DLGLOBAL DEBUG test(other){alive}: pre_term()
687DLGLOBAL DEBUG 4 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup())
688DLGLOBAL DEBUG test(other){alive}: cleanup()
689DLGLOBAL DEBUG test(other){alive}: scene forgets other
690DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100691DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100692DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100693DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100694DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100695DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100696DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
697DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch0))
698DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100699DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch0))
700DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
701DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100702DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100703DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
704DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100705DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
706DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup())
707DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
708DLGLOBAL DEBUG 8 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup(),_branch1.child_gone(
709DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
710DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
711DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup())
712DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100713DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100714DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100715DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(_branch0)
716DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch0))
717DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
718DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100719DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100720DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
721DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
722DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
723DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100724DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100725DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100726DLGLOBAL DEBUG 8 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.othe
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100727DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100728DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
729DLGLOBAL DEBUG test(root){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch0))
730DLGLOBAL DEBUG test(root){alive}: pre_term()
731DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
732DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck
733DLGLOBAL DEBUG 8 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.clea
734DLGLOBAL DEBUG test(root){alive}: cleanup()
735DLGLOBAL DEBUG test(root){alive}: scene forgets root
736DLGLOBAL DEBUG test(root){alive}: cleanup() done
737DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
738DLGLOBAL DEBUG test(root){alive}: Deferring: will deallocate with test(_branch0)
739DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
740DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
741DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup())
742DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
743DLGLOBAL DEBUG 8 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup(),_branch1.child_gone(
744DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a
745DLGLOBAL DEBUG test(_branch1){alive}: No more children
746DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup())
747DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
748DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100749DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100750DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100751DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100752DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
753DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup())
754DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
755DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
756DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
757DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive())
758DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
759DLGLOBAL DEBUG 8 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive(),root.chil
760DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1
761DLGLOBAL DEBUG test(root){alive}: still exists: child[0]
762DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive())
763DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup())
764DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
765DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
766DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
767DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),root.alive())
768DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
769DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
770DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
771DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(_branch0)
772DLGLOBAL DEBUG 4 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup())
773DLGLOBAL DEBUG test(other){alive}: cleanup() done
774DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),other.alive())
775DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(_branch0)
776DLGLOBAL DEBUG 2 (_branch0.alive(),_branch0.cleanup())
777DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
778DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),root.alive())
779DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
780DLGLOBAL DEBUG 4 (_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone())
781DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
782DLGLOBAL DEBUG test(root){alive}: No more children
783DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),root.alive())
784DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
785DLGLOBAL DEBUG 2 (_branch0.alive(),_branch0.cleanup())
786DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200787DLGLOBAL DEBUG 1 (_branch0.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100788DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
789DLGLOBAL DEBUG 2 (_branch0.alive(),root.alive())
790DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
791DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
792DLGLOBAL DEBUG 1 (_branch0.alive())
793DLGLOBAL DEBUG test(_branch0){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200794DLGLOBAL DEBUG 0 (-)
795DLGLOBAL DEBUG --- after destroy-event cascade:
796DLGLOBAL DEBUG --- all deallocated.
797DLGLOBAL DEBUG scene_alloc()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100798DLGLOBAL DEBUG test(root){alive}: Allocated
799DLGLOBAL DEBUG test(root){alive}: Allocated
800DLGLOBAL DEBUG test(root){alive}: is child of test(root)
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200801DLGLOBAL DEBUG test(_branch0){alive}: Allocated
802DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100803DLGLOBAL DEBUG test(_branch0){alive}: Allocated
804DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
805DLGLOBAL DEBUG test(root){alive}: Allocated
806DLGLOBAL DEBUG test(root){alive}: is child of test(root)
807DLGLOBAL DEBUG test(_branch1){alive}: Allocated
808DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
809DLGLOBAL DEBUG test(_branch1){alive}: Allocated
810DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200811DLGLOBAL DEBUG test(other){alive}: Allocated
812DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
813DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
814DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
815DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100816DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
817DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
818DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
819DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200820DLGLOBAL DEBUG ------ before term cascade, got:
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100821DLGLOBAL DEBUG root
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200822DLGLOBAL DEBUG _branch0
823DLGLOBAL DEBUG __twig0a
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100824DLGLOBAL DEBUG __twig0b
825DLGLOBAL DEBUG _branch1
826DLGLOBAL DEBUG __twig1a
827DLGLOBAL DEBUG __twig1b
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200828DLGLOBAL DEBUG other
829DLGLOBAL DEBUG ---
830DLGLOBAL DEBUG --- term at __twig0a
831DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
832DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
833DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
834DLGLOBAL DEBUG 1 (__twig0a.cleanup())
835DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
836DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
837DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
838DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
839DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive())
840DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
841DLGLOBAL DEBUG 3 (__twig0a.cleanup(),other.alive(),other.other_gone())
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200842DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100843DLGLOBAL DEBUG 1 (__twig0a.cleanup())
844DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
845DLGLOBAL DEBUG 2 (__twig0a.cleanup(),_branch0.alive())
846DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
847DLGLOBAL DEBUG 3 (__twig0a.cleanup(),_branch0.alive(),_branch0.child_gone())
848DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
849DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[1]
850DLGLOBAL DEBUG 2 (__twig0a.cleanup(),_branch0.alive())
851DLGLOBAL DEBUG 1 (__twig0a.cleanup())
852DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
853DLGLOBAL DEBUG 0 (-)
854DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
855DLGLOBAL DEBUG 1 (_branch0.alive())
856DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
857DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
858DLGLOBAL DEBUG 0 (-)
859DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
860DLGLOBAL DEBUG --- after term cascade:
861DLGLOBAL DEBUG root
862DLGLOBAL DEBUG _branch0
863DLGLOBAL DEBUG __twig0b
864DLGLOBAL DEBUG _branch1
865DLGLOBAL DEBUG __twig1a
866DLGLOBAL DEBUG __twig1b
867DLGLOBAL DEBUG other
868DLGLOBAL DEBUG --- 7 objects remain. cleaning up
869DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR)
870DLGLOBAL DEBUG test(root){alive}: pre_term()
871DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
872DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
873DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
874DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
875DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
876DLGLOBAL DEBUG 1 (__twig1b.cleanup())
877DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
878DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
879DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
880DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive())
881DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
882DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone())
883DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
884DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
885DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive())
886DLGLOBAL DEBUG 1 (__twig1b.cleanup())
887DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
888DLGLOBAL DEBUG 0 (-)
889DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(root)
890DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
891DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
892DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
893DLGLOBAL DEBUG 1 (__twig1a.cleanup())
894DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
895DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
896DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
897DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
898DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
899DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
900DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone())
901DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
902DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100903DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100904DLGLOBAL DEBUG 1 (__twig1a.cleanup())
905DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
906DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive())
907DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
908DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone())
909DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a
910DLGLOBAL DEBUG test(_branch1){alive}: No more children
911DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100912DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100913DLGLOBAL DEBUG 1 (__twig1a.cleanup())
914DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
915DLGLOBAL DEBUG 0 (-)
916DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100917DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100918DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100919DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
920DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
921DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100922DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
923DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
924DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
925DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
926DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
927DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100928DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
929DLGLOBAL DEBUG test(other){alive}: pre_term()
930DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
931DLGLOBAL DEBUG test(other){alive}: cleanup()
932DLGLOBAL DEBUG test(other){alive}: scene forgets other
933DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200934DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100935DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200936DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100937DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200938DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100939DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
940DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
941DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100942DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
943DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
944DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100945DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100946DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
947DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100948DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
949DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
950DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
951DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone())
952DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
953DLGLOBAL DEBUG test(_branch0){alive}: No more children
954DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
955DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating
956DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100957DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100958DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100959DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100960DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
961DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
962DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
963DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
964DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
965DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
966DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
967DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone())
968DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
969DLGLOBAL DEBUG test(root){alive}: still exists: child[1]
970DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
971DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
972DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
973DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
974DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
975DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive())
976DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
977DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
978DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
979DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(root)
980DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
981DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100982DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100983DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100984DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100985DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
986DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive())
987DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
988DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone())
989DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1
990DLGLOBAL DEBUG test(root){alive}: No more children
991DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive())
992DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100993DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100994DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100995DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100996DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100997DLGLOBAL DEBUG 1 (root.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100998DLGLOBAL DEBUG test(root){alive}: cleanup()
999DLGLOBAL DEBUG test(root){alive}: scene forgets root
1000DLGLOBAL DEBUG test(root){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001001DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001002DLGLOBAL DEBUG test(root){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001003DLGLOBAL DEBUG scene_alloc()
1004DLGLOBAL DEBUG test(root){alive}: Allocated
1005DLGLOBAL DEBUG test(root){alive}: Allocated
1006DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1007DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1008DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1009DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1010DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1011DLGLOBAL DEBUG test(root){alive}: Allocated
1012DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1013DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1014DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1015DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1016DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1017DLGLOBAL DEBUG test(other){alive}: Allocated
1018DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
1019DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
1020DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
1021DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
1022DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
1023DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
1024DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
1025DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
1026DLGLOBAL DEBUG ------ before destroy-event cascade, got:
1027DLGLOBAL DEBUG root
1028DLGLOBAL DEBUG _branch0
1029DLGLOBAL DEBUG __twig0a
1030DLGLOBAL DEBUG __twig0b
1031DLGLOBAL DEBUG _branch1
1032DLGLOBAL DEBUG __twig1a
1033DLGLOBAL DEBUG __twig1b
1034DLGLOBAL DEBUG other
1035DLGLOBAL DEBUG ---
1036DLGLOBAL DEBUG --- destroy-event at __twig0a
1037DLGLOBAL DEBUG test(__twig0a){alive}: Received Event EV_DESTROY
1038DLGLOBAL DEBUG 1 (__twig0a.alive())
1039DLGLOBAL DEBUG test(__twig0a){alive}: alive(EV_DESTROY)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001040DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
1041DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
1042DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
1043DLGLOBAL DEBUG 2 (__twig0a.alive(),__twig0a.cleanup())
1044DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
1045DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
1046DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001047DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001048DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),other.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001049DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001050DLGLOBAL DEBUG 4 (__twig0a.alive(),__twig0a.cleanup(),other.alive(),other.other_gone())
1051DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),other.alive())
1052DLGLOBAL DEBUG 2 (__twig0a.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001053DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001054DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001055DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001056DLGLOBAL DEBUG 4 (__twig0a.alive(),__twig0a.cleanup(),_branch0.alive(),_branch0.child_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001057DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
1058DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[1]
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001059DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),_branch0.alive())
1060DLGLOBAL DEBUG 2 (__twig0a.alive(),__twig0a.cleanup())
1061DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
1062DLGLOBAL DEBUG 1 (__twig0a.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001063DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001064DLGLOBAL DEBUG 2 (__twig0a.alive(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001065DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
1066DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001067DLGLOBAL DEBUG 1 (__twig0a.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001068DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001069DLGLOBAL DEBUG 0 (-)
1070DLGLOBAL DEBUG --- after destroy-event cascade:
1071DLGLOBAL DEBUG root
1072DLGLOBAL DEBUG _branch0
1073DLGLOBAL DEBUG __twig0b
1074DLGLOBAL DEBUG _branch1
1075DLGLOBAL DEBUG __twig1a
1076DLGLOBAL DEBUG __twig1b
1077DLGLOBAL DEBUG other
1078DLGLOBAL DEBUG --- 7 objects remain. cleaning up
1079DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR)
1080DLGLOBAL DEBUG test(root){alive}: pre_term()
1081DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1082DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
1083DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1084DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
1085DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
1086DLGLOBAL DEBUG 1 (__twig1b.cleanup())
1087DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
1088DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
1089DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
1090DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive())
1091DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
1092DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone())
1093DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
1094DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
1095DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive())
1096DLGLOBAL DEBUG 1 (__twig1b.cleanup())
1097DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
1098DLGLOBAL DEBUG 0 (-)
1099DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(root)
1100DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1101DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
1102DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
1103DLGLOBAL DEBUG 1 (__twig1a.cleanup())
1104DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
1105DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
1106DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
1107DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
1108DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
1109DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
1110DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone())
1111DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
1112DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001113DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001114DLGLOBAL DEBUG 1 (__twig1a.cleanup())
1115DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
1116DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive())
1117DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
1118DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone())
1119DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a
1120DLGLOBAL DEBUG test(_branch1){alive}: No more children
1121DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001122DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001123DLGLOBAL DEBUG 1 (__twig1a.cleanup())
1124DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
1125DLGLOBAL DEBUG 0 (-)
1126DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001127DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001128DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001129DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
1130DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
1131DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001132DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
1133DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
1134DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
1135DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
1136DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
1137DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001138DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
1139DLGLOBAL DEBUG test(other){alive}: pre_term()
1140DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
1141DLGLOBAL DEBUG test(other){alive}: cleanup()
1142DLGLOBAL DEBUG test(other){alive}: scene forgets other
1143DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001144DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001145DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001146DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001147DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001148DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001149DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1150DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
1151DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001152DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1153DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
1154DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001155DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001156DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
1157DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001158DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
1159DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
1160DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
1161DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone())
1162DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
1163DLGLOBAL DEBUG test(_branch0){alive}: No more children
1164DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
1165DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating
1166DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001167DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001168DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001169DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001170DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
1171DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
1172DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
1173DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
1174DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
1175DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
1176DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
1177DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone())
1178DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
1179DLGLOBAL DEBUG test(root){alive}: still exists: child[1]
1180DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
1181DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
1182DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
1183DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1184DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
1185DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive())
1186DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
1187DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
1188DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1189DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(root)
1190DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
1191DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001192DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001193DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001194DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001195DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
1196DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive())
1197DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
1198DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone())
1199DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1
1200DLGLOBAL DEBUG test(root){alive}: No more children
1201DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive())
1202DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001203DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001204DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001205DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001206DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001207DLGLOBAL DEBUG 1 (root.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001208DLGLOBAL DEBUG test(root){alive}: cleanup()
1209DLGLOBAL DEBUG test(root){alive}: scene forgets root
1210DLGLOBAL DEBUG test(root){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001211DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001212DLGLOBAL DEBUG test(root){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001213DLGLOBAL DEBUG scene_alloc()
1214DLGLOBAL DEBUG test(root){alive}: Allocated
1215DLGLOBAL DEBUG test(root){alive}: Allocated
1216DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1217DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1218DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1219DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1220DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1221DLGLOBAL DEBUG test(root){alive}: Allocated
1222DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1223DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1224DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1225DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1226DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1227DLGLOBAL DEBUG test(other){alive}: Allocated
1228DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
1229DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
1230DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
1231DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
1232DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
1233DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
1234DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
1235DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
1236DLGLOBAL DEBUG ------ before term cascade, got:
1237DLGLOBAL DEBUG root
1238DLGLOBAL DEBUG _branch0
1239DLGLOBAL DEBUG __twig0a
1240DLGLOBAL DEBUG __twig0b
1241DLGLOBAL DEBUG _branch1
1242DLGLOBAL DEBUG __twig1a
1243DLGLOBAL DEBUG __twig1b
1244DLGLOBAL DEBUG other
1245DLGLOBAL DEBUG ---
1246DLGLOBAL DEBUG --- term at __twig0b
1247DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
1248DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
1249DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
1250DLGLOBAL DEBUG 1 (__twig0b.cleanup())
1251DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
1252DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
1253DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
1254DLGLOBAL DEBUG 2 (__twig0b.cleanup(),_branch0.alive())
1255DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
1256DLGLOBAL DEBUG 3 (__twig0b.cleanup(),_branch0.alive(),_branch0.child_gone())
1257DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
1258DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0]
1259DLGLOBAL DEBUG 2 (__twig0b.cleanup(),_branch0.alive())
1260DLGLOBAL DEBUG 1 (__twig0b.cleanup())
1261DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
1262DLGLOBAL DEBUG 0 (-)
1263DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
1264DLGLOBAL DEBUG 1 (_branch0.alive())
1265DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
1266DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
1267DLGLOBAL DEBUG 0 (-)
1268DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
1269DLGLOBAL DEBUG --- after term cascade:
1270DLGLOBAL DEBUG root
1271DLGLOBAL DEBUG _branch0
1272DLGLOBAL DEBUG __twig0a
1273DLGLOBAL DEBUG _branch1
1274DLGLOBAL DEBUG __twig1a
1275DLGLOBAL DEBUG __twig1b
1276DLGLOBAL DEBUG other
1277DLGLOBAL DEBUG --- 7 objects remain. cleaning up
1278DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR)
1279DLGLOBAL DEBUG test(root){alive}: pre_term()
1280DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1281DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
1282DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1283DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
1284DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
1285DLGLOBAL DEBUG 1 (__twig1b.cleanup())
1286DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
1287DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
1288DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
1289DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive())
1290DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
1291DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone())
1292DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
1293DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
1294DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive())
1295DLGLOBAL DEBUG 1 (__twig1b.cleanup())
1296DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
1297DLGLOBAL DEBUG 0 (-)
1298DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(root)
1299DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1300DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
1301DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
1302DLGLOBAL DEBUG 1 (__twig1a.cleanup())
1303DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
1304DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
1305DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
1306DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
1307DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
1308DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
1309DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone())
1310DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
1311DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001312DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001313DLGLOBAL DEBUG 1 (__twig1a.cleanup())
1314DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
1315DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive())
1316DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
1317DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone())
1318DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a
1319DLGLOBAL DEBUG test(_branch1){alive}: No more children
1320DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001321DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001322DLGLOBAL DEBUG 1 (__twig1a.cleanup())
1323DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
1324DLGLOBAL DEBUG 0 (-)
1325DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001326DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001327DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001328DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
1329DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
1330DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001331DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
1332DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
1333DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
1334DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
1335DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
1336DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001337DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
1338DLGLOBAL DEBUG test(other){alive}: pre_term()
1339DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
1340DLGLOBAL DEBUG test(other){alive}: cleanup()
1341DLGLOBAL DEBUG test(other){alive}: scene forgets other
1342DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001343DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001344DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001345DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001346DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001347DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001348DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1349DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
1350DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001351DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1352DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
1353DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001354DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001355DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
1356DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
1357DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001358DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
1359DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
1360DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
1361DLGLOBAL DEBUG 7 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone())
1362DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
1363DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
1364DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
1365DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
1366DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
1367DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone())
1368DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
1369DLGLOBAL DEBUG test(_branch0){alive}: No more children
1370DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
1371DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating
1372DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001373DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001374DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001375DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001376DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
1377DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
1378DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
1379DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
1380DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
1381DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
1382DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
1383DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone())
1384DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
1385DLGLOBAL DEBUG test(root){alive}: still exists: child[1]
1386DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
1387DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
1388DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
1389DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1390DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
1391DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive())
1392DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
1393DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
1394DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1395DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(root)
1396DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
1397DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001398DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001399DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001400DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001401DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
1402DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive())
1403DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
1404DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone())
1405DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1
1406DLGLOBAL DEBUG test(root){alive}: No more children
1407DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive())
1408DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001409DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001410DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001411DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001412DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001413DLGLOBAL DEBUG 1 (root.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001414DLGLOBAL DEBUG test(root){alive}: cleanup()
1415DLGLOBAL DEBUG test(root){alive}: scene forgets root
1416DLGLOBAL DEBUG test(root){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001417DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001418DLGLOBAL DEBUG test(root){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001419DLGLOBAL DEBUG scene_alloc()
1420DLGLOBAL DEBUG test(root){alive}: Allocated
1421DLGLOBAL DEBUG test(root){alive}: Allocated
1422DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1423DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1424DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1425DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1426DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1427DLGLOBAL DEBUG test(root){alive}: Allocated
1428DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1429DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1430DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1431DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1432DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1433DLGLOBAL DEBUG test(other){alive}: Allocated
1434DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
1435DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
1436DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
1437DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
1438DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
1439DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
1440DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
1441DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
1442DLGLOBAL DEBUG ------ before destroy-event cascade, got:
1443DLGLOBAL DEBUG root
1444DLGLOBAL DEBUG _branch0
1445DLGLOBAL DEBUG __twig0a
1446DLGLOBAL DEBUG __twig0b
1447DLGLOBAL DEBUG _branch1
1448DLGLOBAL DEBUG __twig1a
1449DLGLOBAL DEBUG __twig1b
1450DLGLOBAL DEBUG other
1451DLGLOBAL DEBUG ---
1452DLGLOBAL DEBUG --- destroy-event at __twig0b
1453DLGLOBAL DEBUG test(__twig0b){alive}: Received Event EV_DESTROY
1454DLGLOBAL DEBUG 1 (__twig0b.alive())
1455DLGLOBAL DEBUG test(__twig0b){alive}: alive(EV_DESTROY)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001456DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
1457DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
1458DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
1459DLGLOBAL DEBUG 2 (__twig0b.alive(),__twig0b.cleanup())
1460DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
1461DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001462DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001463DLGLOBAL DEBUG 3 (__twig0b.alive(),__twig0b.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001464DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001465DLGLOBAL DEBUG 4 (__twig0b.alive(),__twig0b.cleanup(),_branch0.alive(),_branch0.child_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001466DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
1467DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0]
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001468DLGLOBAL DEBUG 3 (__twig0b.alive(),__twig0b.cleanup(),_branch0.alive())
1469DLGLOBAL DEBUG 2 (__twig0b.alive(),__twig0b.cleanup())
1470DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
1471DLGLOBAL DEBUG 1 (__twig0b.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001472DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001473DLGLOBAL DEBUG 2 (__twig0b.alive(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001474DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
1475DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001476DLGLOBAL DEBUG 1 (__twig0b.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001477DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001478DLGLOBAL DEBUG 0 (-)
1479DLGLOBAL DEBUG --- after destroy-event cascade:
1480DLGLOBAL DEBUG root
1481DLGLOBAL DEBUG _branch0
1482DLGLOBAL DEBUG __twig0a
1483DLGLOBAL DEBUG _branch1
1484DLGLOBAL DEBUG __twig1a
1485DLGLOBAL DEBUG __twig1b
1486DLGLOBAL DEBUG other
1487DLGLOBAL DEBUG --- 7 objects remain. cleaning up
1488DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR)
1489DLGLOBAL DEBUG test(root){alive}: pre_term()
1490DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1491DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
1492DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1493DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
1494DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
1495DLGLOBAL DEBUG 1 (__twig1b.cleanup())
1496DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
1497DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
1498DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
1499DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive())
1500DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
1501DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone())
1502DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
1503DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
1504DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive())
1505DLGLOBAL DEBUG 1 (__twig1b.cleanup())
1506DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
1507DLGLOBAL DEBUG 0 (-)
1508DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(root)
1509DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1510DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
1511DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
1512DLGLOBAL DEBUG 1 (__twig1a.cleanup())
1513DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
1514DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
1515DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
1516DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
1517DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
1518DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
1519DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone())
1520DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
1521DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001522DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001523DLGLOBAL DEBUG 1 (__twig1a.cleanup())
1524DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
1525DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive())
1526DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
1527DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone())
1528DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a
1529DLGLOBAL DEBUG test(_branch1){alive}: No more children
1530DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001531DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001532DLGLOBAL DEBUG 1 (__twig1a.cleanup())
1533DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
1534DLGLOBAL DEBUG 0 (-)
1535DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001536DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001537DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001538DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
1539DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
1540DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001541DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
1542DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
1543DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
1544DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
1545DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
1546DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001547DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
1548DLGLOBAL DEBUG test(other){alive}: pre_term()
1549DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
1550DLGLOBAL DEBUG test(other){alive}: cleanup()
1551DLGLOBAL DEBUG test(other){alive}: scene forgets other
1552DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001553DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001554DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001555DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001556DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001557DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001558DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1559DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
1560DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001561DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1562DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
1563DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001564DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001565DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
1566DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
1567DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001568DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
1569DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
1570DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
1571DLGLOBAL DEBUG 7 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone())
1572DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
1573DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
1574DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
1575DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
1576DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
1577DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone())
1578DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
1579DLGLOBAL DEBUG test(_branch0){alive}: No more children
1580DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
1581DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating
1582DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001583DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001584DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001585DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001586DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
1587DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
1588DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
1589DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
1590DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
1591DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
1592DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
1593DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone())
1594DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
1595DLGLOBAL DEBUG test(root){alive}: still exists: child[1]
1596DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
1597DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
1598DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
1599DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1600DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
1601DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive())
1602DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
1603DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
1604DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1605DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(root)
1606DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
1607DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001608DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001609DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001610DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001611DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
1612DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive())
1613DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
1614DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone())
1615DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1
1616DLGLOBAL DEBUG test(root){alive}: No more children
1617DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive())
1618DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001619DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001620DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001621DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001622DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001623DLGLOBAL DEBUG 1 (root.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001624DLGLOBAL DEBUG test(root){alive}: cleanup()
1625DLGLOBAL DEBUG test(root){alive}: scene forgets root
1626DLGLOBAL DEBUG test(root){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001627DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001628DLGLOBAL DEBUG test(root){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001629DLGLOBAL DEBUG scene_alloc()
1630DLGLOBAL DEBUG test(root){alive}: Allocated
1631DLGLOBAL DEBUG test(root){alive}: Allocated
1632DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1633DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1634DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1635DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1636DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1637DLGLOBAL DEBUG test(root){alive}: Allocated
1638DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1639DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1640DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1641DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1642DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1643DLGLOBAL DEBUG test(other){alive}: Allocated
1644DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
1645DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
1646DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
1647DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
1648DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
1649DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
1650DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
1651DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
1652DLGLOBAL DEBUG ------ before term cascade, got:
1653DLGLOBAL DEBUG root
1654DLGLOBAL DEBUG _branch0
1655DLGLOBAL DEBUG __twig0a
1656DLGLOBAL DEBUG __twig0b
1657DLGLOBAL DEBUG _branch1
1658DLGLOBAL DEBUG __twig1a
1659DLGLOBAL DEBUG __twig1b
1660DLGLOBAL DEBUG other
1661DLGLOBAL DEBUG ---
1662DLGLOBAL DEBUG --- term at _branch1
1663DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
1664DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
1665DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch1))
1666DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
1667DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
1668DLGLOBAL DEBUG 1 (__twig1b.cleanup())
1669DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
1670DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
1671DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
1672DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive())
1673DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
1674DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone())
1675DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
1676DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
1677DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive())
1678DLGLOBAL DEBUG 1 (__twig1b.cleanup())
1679DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
1680DLGLOBAL DEBUG 0 (-)
1681DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(_branch1)
1682DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch1))
1683DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
1684DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
1685DLGLOBAL DEBUG 1 (__twig1a.cleanup())
1686DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
1687DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
1688DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
1689DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
1690DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
1691DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
1692DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone())
1693DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
1694DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001695DLGLOBAL DEBUG test(root){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch1))
1696DLGLOBAL DEBUG test(root){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001697DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001698DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck
1699DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.cleanup())
1700DLGLOBAL DEBUG test(root){alive}: cleanup()
1701DLGLOBAL DEBUG test(root){alive}: scene forgets root
1702DLGLOBAL DEBUG test(root){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001703DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001704DLGLOBAL DEBUG test(root){alive}: Deferring: will deallocate with test(_branch1)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001705DLGLOBAL DEBUG 1 (__twig1a.cleanup())
1706DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
1707DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive())
1708DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
1709DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone())
1710DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a
1711DLGLOBAL DEBUG test(_branch1){alive}: No more children
1712DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001713DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001714DLGLOBAL DEBUG 1 (__twig1a.cleanup())
1715DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
1716DLGLOBAL DEBUG 0 (-)
1717DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001718DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001719DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001720DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
1721DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
1722DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001723DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
1724DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
1725DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
1726DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
1727DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
1728DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001729DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch1))
1730DLGLOBAL DEBUG test(other){alive}: pre_term()
1731DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
1732DLGLOBAL DEBUG test(other){alive}: cleanup()
1733DLGLOBAL DEBUG test(other){alive}: scene forgets other
1734DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001735DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001736DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001737DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001738DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001739DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001740DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1741DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch1))
1742DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001743DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch1))
1744DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
1745DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001746DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001747DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
1748DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001749DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
1750DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
1751DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
1752DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone())
1753DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
1754DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0]
1755DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
1756DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001757DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001758DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001759DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(_branch1)
1760DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch1))
1761DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
1762DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001763DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001764DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
1765DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
1766DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001767DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
1768DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
1769DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
1770DLGLOBAL DEBUG 7 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone())
1771DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
1772DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
1773DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
1774DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
1775DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
1776DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone())
1777DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
1778DLGLOBAL DEBUG test(_branch0){alive}: No more children
1779DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
1780DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating
1781DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001782DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001783DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001784DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001785DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
1786DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
1787DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
1788DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
1789DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
1790DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
1791DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
1792DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone())
1793DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
1794DLGLOBAL DEBUG test(root){alive}: still exists: child[1]
1795DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
1796DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
1797DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
1798DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1799DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
1800DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive())
1801DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
1802DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
1803DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1804DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(_branch1)
1805DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
1806DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001807DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001808DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(_branch1)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001809DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001810DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
1811DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive())
1812DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
1813DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone())
1814DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1
1815DLGLOBAL DEBUG test(root){alive}: No more children
1816DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive())
1817DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001818DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001819DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001820DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001821DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
1822DLGLOBAL DEBUG 1 (root.alive())
1823DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
1824DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001825DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001826DLGLOBAL DEBUG test(_branch1){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001827DLGLOBAL DEBUG --- after term cascade:
1828DLGLOBAL DEBUG --- all deallocated.
1829DLGLOBAL DEBUG scene_alloc()
1830DLGLOBAL DEBUG test(root){alive}: Allocated
1831DLGLOBAL DEBUG test(root){alive}: Allocated
1832DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1833DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1834DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1835DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1836DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1837DLGLOBAL DEBUG test(root){alive}: Allocated
1838DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1839DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1840DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1841DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1842DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1843DLGLOBAL DEBUG test(other){alive}: Allocated
1844DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
1845DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
1846DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
1847DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
1848DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
1849DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
1850DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
1851DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
1852DLGLOBAL DEBUG ------ before destroy-event cascade, got:
1853DLGLOBAL DEBUG root
1854DLGLOBAL DEBUG _branch0
1855DLGLOBAL DEBUG __twig0a
1856DLGLOBAL DEBUG __twig0b
1857DLGLOBAL DEBUG _branch1
1858DLGLOBAL DEBUG __twig1a
1859DLGLOBAL DEBUG __twig1b
1860DLGLOBAL DEBUG other
1861DLGLOBAL DEBUG ---
1862DLGLOBAL DEBUG --- destroy-event at _branch1
1863DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_DESTROY
1864DLGLOBAL DEBUG 1 (_branch1.alive())
1865DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_DESTROY)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001866DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
1867DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001868DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch1))
1869DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
1870DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001871DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001872DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
1873DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001874DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
1875DLGLOBAL DEBUG 3 (2*_branch1.alive(),__twig1b.cleanup())
1876DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
1877DLGLOBAL DEBUG 4 (2*_branch1.alive(),__twig1b.cleanup(),_branch1.child_gone())
1878DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
1879DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
1880DLGLOBAL DEBUG 3 (2*_branch1.alive(),__twig1b.cleanup())
1881DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001882DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001883DLGLOBAL DEBUG 1 (_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001884DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(_branch1)
1885DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch1))
1886DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
1887DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001888DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001889DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
1890DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
1891DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
1892DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001893DLGLOBAL DEBUG 3 (_branch1.alive(),__twig1a.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001894DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001895DLGLOBAL DEBUG 4 (_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001896DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001897DLGLOBAL DEBUG 3 (_branch1.alive(),__twig1a.cleanup(),root.alive())
1898DLGLOBAL DEBUG test(root){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch1))
1899DLGLOBAL DEBUG test(root){alive}: pre_term()
1900DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
1901DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck
1902DLGLOBAL DEBUG 4 (_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup())
1903DLGLOBAL DEBUG test(root){alive}: cleanup()
1904DLGLOBAL DEBUG test(root){alive}: scene forgets root
1905DLGLOBAL DEBUG test(root){alive}: cleanup() done
1906DLGLOBAL DEBUG 3 (_branch1.alive(),__twig1a.cleanup(),root.alive())
1907DLGLOBAL DEBUG test(root){alive}: Deferring: will deallocate with test(_branch1)
1908DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1a.cleanup())
1909DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
1910DLGLOBAL DEBUG 3 (2*_branch1.alive(),__twig1a.cleanup())
1911DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
1912DLGLOBAL DEBUG 4 (2*_branch1.alive(),__twig1a.cleanup(),_branch1.child_gone())
1913DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a
1914DLGLOBAL DEBUG test(_branch1){alive}: No more children
1915DLGLOBAL DEBUG 3 (2*_branch1.alive(),__twig1a.cleanup())
1916DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
1917DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001918DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001919DLGLOBAL DEBUG 1 (_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001920DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001921DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
1922DLGLOBAL DEBUG 2 (_branch1.alive(),_branch1.cleanup())
1923DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
1924DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
1925DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001926DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001927DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),other.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001928DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001929DLGLOBAL DEBUG 4 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001930DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001931DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),other.alive())
1932DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch1))
1933DLGLOBAL DEBUG test(other){alive}: pre_term()
1934DLGLOBAL DEBUG 4 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
1935DLGLOBAL DEBUG test(other){alive}: cleanup()
1936DLGLOBAL DEBUG test(other){alive}: scene forgets other
1937DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001938DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001939DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001940DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001941DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001942DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001943DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1944DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch1))
1945DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001946DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch1))
1947DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
1948DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001949DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001950DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
1951DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001952DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
1953DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
1954DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
1955DLGLOBAL DEBUG 8 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone(
1956DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
1957DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0]
1958DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
1959DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001960DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001961DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001962DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(_branch1)
1963DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch1))
1964DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
1965DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001966DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001967DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
1968DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
1969DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001970DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
1971DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
1972DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
1973DLGLOBAL DEBUG 8 (_branch1.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone())
1974DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
1975DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
1976DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
1977DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
1978DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
1979DLGLOBAL DEBUG 8 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone(
1980DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
1981DLGLOBAL DEBUG test(_branch0){alive}: No more children
1982DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
1983DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating
1984DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001985DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001986DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001987DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001988DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
1989DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
1990DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
1991DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
1992DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
1993DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
1994DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
1995DLGLOBAL DEBUG 8 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.chil
1996DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
1997DLGLOBAL DEBUG test(root){alive}: still exists: child[1]
1998DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
1999DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
2000DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
2001DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2002DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
2003DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive())
2004DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
2005DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
2006DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2007DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(_branch1)
2008DLGLOBAL DEBUG 4 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
2009DLGLOBAL DEBUG test(other){alive}: cleanup() done
2010DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),other.alive())
2011DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(_branch1)
2012DLGLOBAL DEBUG 2 (_branch1.alive(),_branch1.cleanup())
2013DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
2014DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),root.alive())
2015DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
2016DLGLOBAL DEBUG 4 (_branch1.alive(),_branch1.cleanup(),root.alive(),root.child_gone())
2017DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1
2018DLGLOBAL DEBUG test(root){alive}: No more children
2019DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),root.alive())
2020DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
2021DLGLOBAL DEBUG 2 (_branch1.alive(),_branch1.cleanup())
2022DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002023DLGLOBAL DEBUG 1 (_branch1.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002024DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
2025DLGLOBAL DEBUG 2 (_branch1.alive(),root.alive())
2026DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
2027DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
2028DLGLOBAL DEBUG 1 (_branch1.alive())
2029DLGLOBAL DEBUG test(_branch1){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002030DLGLOBAL DEBUG 0 (-)
2031DLGLOBAL DEBUG --- after destroy-event cascade:
2032DLGLOBAL DEBUG --- all deallocated.
2033DLGLOBAL DEBUG scene_alloc()
2034DLGLOBAL DEBUG test(root){alive}: Allocated
2035DLGLOBAL DEBUG test(root){alive}: Allocated
2036DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2037DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2038DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2039DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2040DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2041DLGLOBAL DEBUG test(root){alive}: Allocated
2042DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2043DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2044DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2045DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2046DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2047DLGLOBAL DEBUG test(other){alive}: Allocated
2048DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
2049DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
2050DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
2051DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
2052DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
2053DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
2054DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
2055DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
2056DLGLOBAL DEBUG ------ before term cascade, got:
2057DLGLOBAL DEBUG root
2058DLGLOBAL DEBUG _branch0
2059DLGLOBAL DEBUG __twig0a
2060DLGLOBAL DEBUG __twig0b
2061DLGLOBAL DEBUG _branch1
2062DLGLOBAL DEBUG __twig1a
2063DLGLOBAL DEBUG __twig1b
2064DLGLOBAL DEBUG other
2065DLGLOBAL DEBUG ---
2066DLGLOBAL DEBUG --- term at __twig1a
2067DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2068DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
2069DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
2070DLGLOBAL DEBUG 1 (__twig1a.cleanup())
2071DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
2072DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
2073DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
2074DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
2075DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
2076DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
2077DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone())
2078DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
2079DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002080DLGLOBAL DEBUG test(root){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(__twig1a))
2081DLGLOBAL DEBUG test(root){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002082DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(__twig1a))
2083DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
2084DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(__twig1a))
2085DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
2086DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002087DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002088DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
2089DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
2090DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002091DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),__twig1b.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002092DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002093DLGLOBAL DEBUG 5 (__twig1a.cleanup(),root.alive(),__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002094DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
2095DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002096DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),__twig1b.cleanup(),_branch1.alive())
2097DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002098DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002099DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002100DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(__twig1a)
2101DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002102DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),_branch1.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002103DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
2104DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
2105DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
2106DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002107DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002108DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002109DLGLOBAL DEBUG 5 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002110DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002111DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive())
2112DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(__twig1a))
2113DLGLOBAL DEBUG test(other){alive}: pre_term()
2114DLGLOBAL DEBUG 5 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
2115DLGLOBAL DEBUG test(other){alive}: cleanup()
2116DLGLOBAL DEBUG test(other){alive}: scene forgets other
2117DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002118DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002119DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002120DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002121DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002122DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002123DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2124DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(__twig1a))
2125DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002126DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 6 (cause = OSMO_FSM_TERM_PARENT, caused by: test(__twig1a))
2127DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
2128DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002129DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002130DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
2131DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002132DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
2133DLGLOBAL DEBUG 8 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
2134DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
2135DLGLOBAL DEBUG 9 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_bran
2136DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
2137DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0]
2138DLGLOBAL DEBUG 8 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
2139DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002140DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002141DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002142DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(__twig1a)
2143DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 6 (cause = OSMO_FSM_TERM_PARENT, caused by: test(__twig1a))
2144DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
2145DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002146DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002147DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
2148DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
2149DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002150DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
2151DLGLOBAL DEBUG 8 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
2152DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
2153DLGLOBAL DEBUG 9 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other
2154DLGLOBAL DEBUG 8 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
2155DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
2156DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
2157DLGLOBAL DEBUG 8 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
2158DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
2159DLGLOBAL DEBUG 9 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_bran
2160DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
2161DLGLOBAL DEBUG test(_branch0){alive}: No more children
2162DLGLOBAL DEBUG 8 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
2163DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating
2164DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002165DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002166DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002167DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(__twig1a)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002168DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
2169DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
2170DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
2171DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
2172DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
2173DLGLOBAL DEBUG 8 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
2174DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
2175DLGLOBAL DEBUG 9 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.
2176DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
2177DLGLOBAL DEBUG test(root){alive}: still exists: child[1]
2178DLGLOBAL DEBUG 8 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
2179DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
2180DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
2181DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2182DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
2183DLGLOBAL DEBUG 7 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2184DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
2185DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
2186DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2187DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(__twig1a)
2188DLGLOBAL DEBUG 5 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
2189DLGLOBAL DEBUG test(other){alive}: cleanup() done
2190DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive())
2191DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(__twig1a)
2192DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),_branch1.cleanup())
2193DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
2194DLGLOBAL DEBUG 4 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup())
2195DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
2196DLGLOBAL DEBUG 5 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),root.child_gone())
2197DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1
2198DLGLOBAL DEBUG test(root){alive}: No more children
2199DLGLOBAL DEBUG 4 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup())
2200DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
2201DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),_branch1.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002202DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002203DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002204DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(__twig1a)
2205DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.cleanup())
2206DLGLOBAL DEBUG test(root){alive}: cleanup()
2207DLGLOBAL DEBUG test(root){alive}: scene forgets root
2208DLGLOBAL DEBUG test(root){alive}: cleanup() done
2209DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
2210DLGLOBAL DEBUG test(root){alive}: Deferring: will deallocate with test(__twig1a)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002211DLGLOBAL DEBUG 1 (__twig1a.cleanup())
2212DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
2213DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive())
2214DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
2215DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone())
2216DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a
2217DLGLOBAL DEBUG test(_branch1){alive}: No more children
2218DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002219DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002220DLGLOBAL DEBUG 1 (__twig1a.cleanup())
2221DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
2222DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002223DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
2224DLGLOBAL DEBUG 1 (_branch1.alive())
2225DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
2226DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002227DLGLOBAL DEBUG 0 (-)
2228DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated, including all deferred deallocations
2229DLGLOBAL DEBUG --- after term cascade:
2230DLGLOBAL DEBUG --- all deallocated.
2231DLGLOBAL DEBUG scene_alloc()
2232DLGLOBAL DEBUG test(root){alive}: Allocated
2233DLGLOBAL DEBUG test(root){alive}: Allocated
2234DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2235DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2236DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2237DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2238DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2239DLGLOBAL DEBUG test(root){alive}: Allocated
2240DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2241DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2242DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2243DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2244DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2245DLGLOBAL DEBUG test(other){alive}: Allocated
2246DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
2247DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
2248DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
2249DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
2250DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
2251DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
2252DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
2253DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
2254DLGLOBAL DEBUG ------ before destroy-event cascade, got:
2255DLGLOBAL DEBUG root
2256DLGLOBAL DEBUG _branch0
2257DLGLOBAL DEBUG __twig0a
2258DLGLOBAL DEBUG __twig0b
2259DLGLOBAL DEBUG _branch1
2260DLGLOBAL DEBUG __twig1a
2261DLGLOBAL DEBUG __twig1b
2262DLGLOBAL DEBUG other
2263DLGLOBAL DEBUG ---
2264DLGLOBAL DEBUG --- destroy-event at __twig1a
2265DLGLOBAL DEBUG test(__twig1a){alive}: Received Event EV_DESTROY
2266DLGLOBAL DEBUG 1 (__twig1a.alive())
2267DLGLOBAL DEBUG test(__twig1a){alive}: alive(EV_DESTROY)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002268DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2269DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
2270DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
2271DLGLOBAL DEBUG 2 (__twig1a.alive(),__twig1a.cleanup())
2272DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
2273DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
2274DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002275DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002276DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002277DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002278DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),root.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002279DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002280DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive())
2281DLGLOBAL DEBUG test(root){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(__twig1a))
2282DLGLOBAL DEBUG test(root){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002283DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(__twig1a))
2284DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
2285DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(__twig1a))
2286DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
2287DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002288DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002289DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
2290DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
2291DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002292DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),__twig1b.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002293DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002294DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002295DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
2296DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002297DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),__twig1b.cleanup(),_branch1.alive())
2298DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002299DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002300DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002301DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(__twig1a)
2302DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002303DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002304DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
2305DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
2306DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
2307DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002308DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002309DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002310DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002311DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002312DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive())
2313DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(__twig1a))
2314DLGLOBAL DEBUG test(other){alive}: pre_term()
2315DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
2316DLGLOBAL DEBUG test(other){alive}: cleanup()
2317DLGLOBAL DEBUG test(other){alive}: scene forgets other
2318DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002319DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002320DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002321DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002322DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002323DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002324DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2325DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(__twig1a))
2326DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002327DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 6 (cause = OSMO_FSM_TERM_PARENT, caused by: test(__twig1a))
2328DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
2329DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002330DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002331DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
2332DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002333DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
2334DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0
2335DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
2336DLGLOBAL DEBUG 10 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig
2337DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
2338DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0]
2339DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0
2340DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002341DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002342DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002343DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(__twig1a)
2344DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 6 (cause = OSMO_FSM_TERM_PARENT, caused by: test(__twig1a))
2345DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
2346DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002347DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002348DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
2349DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
2350DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002351DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
2352DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0
2353DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
2354DLGLOBAL DEBUG 10 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig
2355DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0
2356DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.
2357DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
2358DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0
2359DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
2360DLGLOBAL DEBUG 10 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig
2361DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
2362DLGLOBAL DEBUG test(_branch0){alive}: No more children
2363DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0
2364DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating
2365DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002366DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002367DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002368DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(__twig1a)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002369DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
2370DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.
2371DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
2372DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
2373DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
2374DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch
2375DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
2376DLGLOBAL DEBUG 10 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branc
2377DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
2378DLGLOBAL DEBUG test(root){alive}: still exists: child[1]
2379DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch
2380DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.
2381DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
2382DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2383DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
2384DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2385DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
2386DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
2387DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2388DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(__twig1a)
2389DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
2390DLGLOBAL DEBUG test(other){alive}: cleanup() done
2391DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive())
2392DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(__twig1a)
2393DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup())
2394DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
2395DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup())
2396DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
2397DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),root.child_gone())
2398DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1
2399DLGLOBAL DEBUG test(root){alive}: No more children
2400DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup())
2401DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
2402DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002403DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002404DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002405DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(__twig1a)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002406DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),root.cleanup())
2407DLGLOBAL DEBUG test(root){alive}: cleanup()
2408DLGLOBAL DEBUG test(root){alive}: scene forgets root
2409DLGLOBAL DEBUG test(root){alive}: cleanup() done
2410DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive())
2411DLGLOBAL DEBUG test(root){alive}: Deferring: will deallocate with test(__twig1a)
2412DLGLOBAL DEBUG 2 (__twig1a.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002413DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002414DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002415DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002416DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002417DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a
2418DLGLOBAL DEBUG test(_branch1){alive}: No more children
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002419DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),_branch1.alive())
2420DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
2421DLGLOBAL DEBUG 2 (__twig1a.alive(),__twig1a.cleanup())
2422DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002423DLGLOBAL DEBUG 1 (__twig1a.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002424DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
2425DLGLOBAL DEBUG 2 (__twig1a.alive(),_branch1.alive())
2426DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
2427DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
2428DLGLOBAL DEBUG 1 (__twig1a.alive())
2429DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002430DLGLOBAL DEBUG 0 (-)
2431DLGLOBAL DEBUG --- after destroy-event cascade:
2432DLGLOBAL DEBUG --- all deallocated.
2433DLGLOBAL DEBUG scene_alloc()
2434DLGLOBAL DEBUG test(root){alive}: Allocated
2435DLGLOBAL DEBUG test(root){alive}: Allocated
2436DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2437DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2438DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2439DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2440DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2441DLGLOBAL DEBUG test(root){alive}: Allocated
2442DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2443DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2444DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2445DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2446DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2447DLGLOBAL DEBUG test(other){alive}: Allocated
2448DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
2449DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
2450DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
2451DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
2452DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
2453DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
2454DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
2455DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
2456DLGLOBAL DEBUG ------ before term cascade, got:
2457DLGLOBAL DEBUG root
2458DLGLOBAL DEBUG _branch0
2459DLGLOBAL DEBUG __twig0a
2460DLGLOBAL DEBUG __twig0b
2461DLGLOBAL DEBUG _branch1
2462DLGLOBAL DEBUG __twig1a
2463DLGLOBAL DEBUG __twig1b
2464DLGLOBAL DEBUG other
2465DLGLOBAL DEBUG ---
2466DLGLOBAL DEBUG --- term at __twig1b
2467DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2468DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
2469DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
2470DLGLOBAL DEBUG 1 (__twig1b.cleanup())
2471DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
2472DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
2473DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
2474DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive())
2475DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
2476DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone())
2477DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
2478DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
2479DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive())
2480DLGLOBAL DEBUG 1 (__twig1b.cleanup())
2481DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
2482DLGLOBAL DEBUG 0 (-)
2483DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
2484DLGLOBAL DEBUG 1 (_branch1.alive())
2485DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
2486DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
2487DLGLOBAL DEBUG 0 (-)
2488DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
2489DLGLOBAL DEBUG --- after term cascade:
2490DLGLOBAL DEBUG root
2491DLGLOBAL DEBUG _branch0
2492DLGLOBAL DEBUG __twig0a
2493DLGLOBAL DEBUG __twig0b
2494DLGLOBAL DEBUG _branch1
2495DLGLOBAL DEBUG __twig1a
2496DLGLOBAL DEBUG other
2497DLGLOBAL DEBUG --- 7 objects remain. cleaning up
2498DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR)
2499DLGLOBAL DEBUG test(root){alive}: pre_term()
2500DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
2501DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
2502DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
2503DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
2504DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
2505DLGLOBAL DEBUG 1 (__twig1a.cleanup())
2506DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
2507DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
2508DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
2509DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
2510DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
2511DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
2512DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone())
2513DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
2514DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002515DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002516DLGLOBAL DEBUG 1 (__twig1a.cleanup())
2517DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
2518DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive())
2519DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
2520DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone())
2521DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a
2522DLGLOBAL DEBUG test(_branch1){alive}: No more children
2523DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002524DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002525DLGLOBAL DEBUG 1 (__twig1a.cleanup())
2526DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
2527DLGLOBAL DEBUG 0 (-)
2528DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002529DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002530DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002531DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
2532DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
2533DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002534DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
2535DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
2536DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
2537DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
2538DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
2539DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002540DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
2541DLGLOBAL DEBUG test(other){alive}: pre_term()
2542DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
2543DLGLOBAL DEBUG test(other){alive}: cleanup()
2544DLGLOBAL DEBUG test(other){alive}: scene forgets other
2545DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002546DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002547DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002548DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002549DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002550DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002551DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2552DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
2553DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002554DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
2555DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
2556DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002557DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002558DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
2559DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002560DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
2561DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
2562DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
2563DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone())
2564DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
2565DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0]
2566DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
2567DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002568DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002569DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002570DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(root)
2571DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
2572DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
2573DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002574DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002575DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
2576DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
2577DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002578DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
2579DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
2580DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
2581DLGLOBAL DEBUG 7 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone())
2582DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
2583DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
2584DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
2585DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
2586DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
2587DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone())
2588DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
2589DLGLOBAL DEBUG test(_branch0){alive}: No more children
2590DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
2591DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating
2592DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002593DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002594DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002595DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002596DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
2597DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
2598DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
2599DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
2600DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
2601DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
2602DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
2603DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone())
2604DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
2605DLGLOBAL DEBUG test(root){alive}: still exists: child[1]
2606DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
2607DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
2608DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
2609DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2610DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
2611DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive())
2612DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
2613DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
2614DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2615DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(root)
2616DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
2617DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002618DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002619DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002620DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002621DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
2622DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive())
2623DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
2624DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone())
2625DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1
2626DLGLOBAL DEBUG test(root){alive}: No more children
2627DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive())
2628DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002629DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002630DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002631DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002632DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002633DLGLOBAL DEBUG 1 (root.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002634DLGLOBAL DEBUG test(root){alive}: cleanup()
2635DLGLOBAL DEBUG test(root){alive}: scene forgets root
2636DLGLOBAL DEBUG test(root){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002637DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002638DLGLOBAL DEBUG test(root){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002639DLGLOBAL DEBUG scene_alloc()
2640DLGLOBAL DEBUG test(root){alive}: Allocated
2641DLGLOBAL DEBUG test(root){alive}: Allocated
2642DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2643DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2644DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2645DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2646DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2647DLGLOBAL DEBUG test(root){alive}: Allocated
2648DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2649DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2650DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2651DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2652DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2653DLGLOBAL DEBUG test(other){alive}: Allocated
2654DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
2655DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
2656DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
2657DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
2658DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
2659DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
2660DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
2661DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
2662DLGLOBAL DEBUG ------ before destroy-event cascade, got:
2663DLGLOBAL DEBUG root
2664DLGLOBAL DEBUG _branch0
2665DLGLOBAL DEBUG __twig0a
2666DLGLOBAL DEBUG __twig0b
2667DLGLOBAL DEBUG _branch1
2668DLGLOBAL DEBUG __twig1a
2669DLGLOBAL DEBUG __twig1b
2670DLGLOBAL DEBUG other
2671DLGLOBAL DEBUG ---
2672DLGLOBAL DEBUG --- destroy-event at __twig1b
2673DLGLOBAL DEBUG test(__twig1b){alive}: Received Event EV_DESTROY
2674DLGLOBAL DEBUG 1 (__twig1b.alive())
2675DLGLOBAL DEBUG test(__twig1b){alive}: alive(EV_DESTROY)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002676DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2677DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
2678DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
2679DLGLOBAL DEBUG 2 (__twig1b.alive(),__twig1b.cleanup())
2680DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
2681DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002682DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002683DLGLOBAL DEBUG 3 (__twig1b.alive(),__twig1b.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002684DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002685DLGLOBAL DEBUG 4 (__twig1b.alive(),__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002686DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
2687DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002688DLGLOBAL DEBUG 3 (__twig1b.alive(),__twig1b.cleanup(),_branch1.alive())
2689DLGLOBAL DEBUG 2 (__twig1b.alive(),__twig1b.cleanup())
2690DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
2691DLGLOBAL DEBUG 1 (__twig1b.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002692DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002693DLGLOBAL DEBUG 2 (__twig1b.alive(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002694DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
2695DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002696DLGLOBAL DEBUG 1 (__twig1b.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002697DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002698DLGLOBAL DEBUG 0 (-)
2699DLGLOBAL DEBUG --- after destroy-event cascade:
2700DLGLOBAL DEBUG root
2701DLGLOBAL DEBUG _branch0
2702DLGLOBAL DEBUG __twig0a
2703DLGLOBAL DEBUG __twig0b
2704DLGLOBAL DEBUG _branch1
2705DLGLOBAL DEBUG __twig1a
2706DLGLOBAL DEBUG other
2707DLGLOBAL DEBUG --- 7 objects remain. cleaning up
2708DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR)
2709DLGLOBAL DEBUG test(root){alive}: pre_term()
2710DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
2711DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
2712DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
2713DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
2714DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
2715DLGLOBAL DEBUG 1 (__twig1a.cleanup())
2716DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
2717DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
2718DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
2719DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
2720DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
2721DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
2722DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone())
2723DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
2724DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002725DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002726DLGLOBAL DEBUG 1 (__twig1a.cleanup())
2727DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
2728DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive())
2729DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
2730DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone())
2731DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a
2732DLGLOBAL DEBUG test(_branch1){alive}: No more children
2733DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002734DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002735DLGLOBAL DEBUG 1 (__twig1a.cleanup())
2736DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
2737DLGLOBAL DEBUG 0 (-)
2738DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002739DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002740DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002741DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
2742DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
2743DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002744DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
2745DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
2746DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
2747DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
2748DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
2749DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002750DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
2751DLGLOBAL DEBUG test(other){alive}: pre_term()
2752DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
2753DLGLOBAL DEBUG test(other){alive}: cleanup()
2754DLGLOBAL DEBUG test(other){alive}: scene forgets other
2755DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002756DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002757DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002758DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002759DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002760DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002761DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2762DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
2763DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002764DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
2765DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
2766DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002767DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002768DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
2769DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002770DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
2771DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
2772DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
2773DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone())
2774DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
2775DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0]
2776DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
2777DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002778DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002779DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002780DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(root)
2781DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
2782DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
2783DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002784DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002785DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
2786DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
2787DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002788DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
2789DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
2790DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
2791DLGLOBAL DEBUG 7 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone())
2792DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
2793DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
2794DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
2795DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
2796DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
2797DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone())
2798DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
2799DLGLOBAL DEBUG test(_branch0){alive}: No more children
2800DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
2801DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating
2802DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002803DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002804DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002805DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002806DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
2807DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
2808DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
2809DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
2810DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
2811DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
2812DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
2813DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone())
2814DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
2815DLGLOBAL DEBUG test(root){alive}: still exists: child[1]
2816DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
2817DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
2818DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
2819DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2820DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
2821DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive())
2822DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
2823DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
2824DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2825DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(root)
2826DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
2827DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002828DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002829DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002830DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002831DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
2832DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive())
2833DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
2834DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone())
2835DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1
2836DLGLOBAL DEBUG test(root){alive}: No more children
2837DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive())
2838DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002839DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002840DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002841DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002842DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002843DLGLOBAL DEBUG 1 (root.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002844DLGLOBAL DEBUG test(root){alive}: cleanup()
2845DLGLOBAL DEBUG test(root){alive}: scene forgets root
2846DLGLOBAL DEBUG test(root){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002847DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002848DLGLOBAL DEBUG test(root){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002849DLGLOBAL DEBUG scene_alloc()
2850DLGLOBAL DEBUG test(root){alive}: Allocated
2851DLGLOBAL DEBUG test(root){alive}: Allocated
2852DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2853DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2854DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2855DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2856DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2857DLGLOBAL DEBUG test(root){alive}: Allocated
2858DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2859DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2860DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2861DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2862DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2863DLGLOBAL DEBUG test(other){alive}: Allocated
2864DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
2865DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
2866DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
2867DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
2868DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
2869DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
2870DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
2871DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
2872DLGLOBAL DEBUG ------ before term cascade, got:
2873DLGLOBAL DEBUG root
2874DLGLOBAL DEBUG _branch0
2875DLGLOBAL DEBUG __twig0a
2876DLGLOBAL DEBUG __twig0b
2877DLGLOBAL DEBUG _branch1
2878DLGLOBAL DEBUG __twig1a
2879DLGLOBAL DEBUG __twig1b
2880DLGLOBAL DEBUG other
2881DLGLOBAL DEBUG ---
2882DLGLOBAL DEBUG --- term at other
2883DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2884DLGLOBAL DEBUG test(other){alive}: pre_term()
2885DLGLOBAL DEBUG 1 (other.cleanup())
2886DLGLOBAL DEBUG test(other){alive}: cleanup()
2887DLGLOBAL DEBUG test(other){alive}: scene forgets other
2888DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
2889DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
2890DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive())
2891DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
2892DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),_branch0.other_gone())
2893DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
2894DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002895DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(other))
2896DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002897DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(other))
2898DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
2899DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002900DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002901DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
2902DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002903DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
2904DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
2905DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
2906DLGLOBAL DEBUG 5 (other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone())
2907DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
2908DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0]
2909DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
2910DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002911DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002912DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002913DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(other)
2914DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(other))
2915DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
2916DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002917DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002918DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
2919DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
2920DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
2921DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002922DLGLOBAL DEBUG 4 (other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002923DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002924DLGLOBAL DEBUG 5 (other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.alive(),other.other_gone())
2925DLGLOBAL DEBUG 4 (other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.alive())
2926DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),__twig0a.cleanup())
2927DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
2928DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
2929DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
2930DLGLOBAL DEBUG 5 (other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone())
2931DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
2932DLGLOBAL DEBUG test(_branch0){alive}: No more children
2933DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
2934DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating
2935DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002936DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002937DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002938DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(other)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002939DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
2940DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),_branch0.cleanup())
2941DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
2942DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002943DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002944DLGLOBAL DEBUG 4 (other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002945DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002946DLGLOBAL DEBUG 5 (other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002947DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
2948DLGLOBAL DEBUG test(root){alive}: still exists: child[1]
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002949DLGLOBAL DEBUG 4 (other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
2950DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),_branch0.cleanup())
2951DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
2952DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002953DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002954DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002955DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
2956DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002957DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002958DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(other)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002959DLGLOBAL DEBUG 1 (other.cleanup())
2960DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1
2961DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE
2962DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive())
2963DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE)
2964DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),_branch1.other_gone())
2965DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other
2966DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002967DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(other))
2968DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002969DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(other))
2970DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
2971DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002972DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002973DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
2974DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002975DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
2976DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch1.alive(),__twig1b.cleanup())
2977DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
2978DLGLOBAL DEBUG 5 (other.cleanup(),2*_branch1.alive(),__twig1b.cleanup(),_branch1.child_gone())
2979DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
2980DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
2981DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch1.alive(),__twig1b.cleanup())
2982DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002983DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002984DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002985DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(other)
2986DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(other))
2987DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
2988DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002989DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002990DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
2991DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
2992DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
2993DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002994DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002995DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002996DLGLOBAL DEBUG 5 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002997DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002998DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
2999DLGLOBAL DEBUG test(root){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(other))
3000DLGLOBAL DEBUG test(root){alive}: pre_term()
3001DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
3002DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck
3003DLGLOBAL DEBUG 5 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup())
3004DLGLOBAL DEBUG test(root){alive}: cleanup()
3005DLGLOBAL DEBUG test(root){alive}: scene forgets root
3006DLGLOBAL DEBUG test(root){alive}: cleanup() done
3007DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
3008DLGLOBAL DEBUG test(root){alive}: Deferring: will deallocate with test(other)
3009DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1a.cleanup())
3010DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
3011DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch1.alive(),__twig1a.cleanup())
3012DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
3013DLGLOBAL DEBUG 5 (other.cleanup(),2*_branch1.alive(),__twig1a.cleanup(),_branch1.child_gone())
3014DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a
3015DLGLOBAL DEBUG test(_branch1){alive}: No more children
3016DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch1.alive(),__twig1a.cleanup())
3017DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
3018DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003019DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003020DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003021DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(other)
3022DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
3023DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),_branch1.cleanup())
3024DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
3025DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
3026DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
3027DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive())
3028DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
3029DLGLOBAL DEBUG 5 (other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive(),root.child_gone())
3030DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1
3031DLGLOBAL DEBUG test(root){alive}: No more children
3032DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive())
3033DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
3034DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),_branch1.cleanup())
3035DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
3036DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive())
3037DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
3038DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),root.alive())
3039DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
3040DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
3041DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive())
3042DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(other)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003043DLGLOBAL DEBUG 1 (other.cleanup())
3044DLGLOBAL DEBUG test(other){alive}: cleanup() done
3045DLGLOBAL DEBUG 0 (-)
3046DLGLOBAL DEBUG test(other){alive}: Deallocated, including all deferred deallocations
3047DLGLOBAL DEBUG --- after term cascade:
3048DLGLOBAL DEBUG --- all deallocated.
3049DLGLOBAL DEBUG scene_alloc()
3050DLGLOBAL DEBUG test(root){alive}: Allocated
3051DLGLOBAL DEBUG test(root){alive}: Allocated
3052DLGLOBAL DEBUG test(root){alive}: is child of test(root)
3053DLGLOBAL DEBUG test(_branch0){alive}: Allocated
3054DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
3055DLGLOBAL DEBUG test(_branch0){alive}: Allocated
3056DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
3057DLGLOBAL DEBUG test(root){alive}: Allocated
3058DLGLOBAL DEBUG test(root){alive}: is child of test(root)
3059DLGLOBAL DEBUG test(_branch1){alive}: Allocated
3060DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
3061DLGLOBAL DEBUG test(_branch1){alive}: Allocated
3062DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
3063DLGLOBAL DEBUG test(other){alive}: Allocated
3064DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
3065DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
3066DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
3067DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
3068DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
3069DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
3070DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
3071DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
3072DLGLOBAL DEBUG ------ before destroy-event cascade, got:
3073DLGLOBAL DEBUG root
3074DLGLOBAL DEBUG _branch0
3075DLGLOBAL DEBUG __twig0a
3076DLGLOBAL DEBUG __twig0b
3077DLGLOBAL DEBUG _branch1
3078DLGLOBAL DEBUG __twig1a
3079DLGLOBAL DEBUG __twig1b
3080DLGLOBAL DEBUG other
3081DLGLOBAL DEBUG ---
3082DLGLOBAL DEBUG --- destroy-event at other
3083DLGLOBAL DEBUG test(other){alive}: Received Event EV_DESTROY
3084DLGLOBAL DEBUG 1 (other.alive())
3085DLGLOBAL DEBUG test(other){alive}: alive(EV_DESTROY)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003086DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3087DLGLOBAL DEBUG test(other){alive}: pre_term()
3088DLGLOBAL DEBUG 2 (other.alive(),other.cleanup())
3089DLGLOBAL DEBUG test(other){alive}: cleanup()
3090DLGLOBAL DEBUG test(other){alive}: scene forgets other
3091DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003092DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003093DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003094DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003095DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003096DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003097DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive())
3098DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(other))
3099DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003100DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(other))
3101DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
3102DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003103DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003104DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
3105DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003106DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
3107DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
3108DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
3109DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone())
3110DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
3111DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0]
3112DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup())
3113DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003114DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003115DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003116DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(other)
3117DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(other))
3118DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
3119DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003120DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003121DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
3122DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
3123DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003124DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
3125DLGLOBAL DEBUG 5 (2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
3126DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
3127DLGLOBAL DEBUG 6 (2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone())
3128DLGLOBAL DEBUG 5 (2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
3129DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
3130DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
3131DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
3132DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
3133DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone())
3134DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
3135DLGLOBAL DEBUG test(_branch0){alive}: No more children
3136DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup())
3137DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating
3138DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003139DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003140DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003141DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(other)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003142DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
3143DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
3144DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
3145DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003146DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003147DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003148DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003149DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003150DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
3151DLGLOBAL DEBUG test(root){alive}: still exists: child[1]
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003152DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
3153DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
3154DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
3155DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003156DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003157DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003158DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
3159DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003160DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive())
3161DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(other)
3162DLGLOBAL DEBUG 2 (other.alive(),other.cleanup())
3163DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003164DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003165DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003166DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003167DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003168DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003169DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive())
3170DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(other))
3171DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003172DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(other))
3173DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
3174DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003175DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003176DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
3177DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003178DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
3179DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup())
3180DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
3181DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup(),_branch1.child_gone())
3182DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
3183DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
3184DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup())
3185DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003186DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003187DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003188DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(other)
3189DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(other))
3190DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
3191DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003192DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003193DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
3194DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
3195DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
3196DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003197DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003198DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003199DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003200DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003201DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
3202DLGLOBAL DEBUG test(root){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(other))
3203DLGLOBAL DEBUG test(root){alive}: pre_term()
3204DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
3205DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck
3206DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup())
3207DLGLOBAL DEBUG test(root){alive}: cleanup()
3208DLGLOBAL DEBUG test(root){alive}: scene forgets root
3209DLGLOBAL DEBUG test(root){alive}: cleanup() done
3210DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
3211DLGLOBAL DEBUG test(root){alive}: Deferring: will deallocate with test(other)
3212DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
3213DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
3214DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup())
3215DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
3216DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup(),_branch1.child_gone())
3217DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a
3218DLGLOBAL DEBUG test(_branch1){alive}: No more children
3219DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup())
3220DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
3221DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003222DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003223DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003224DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(other)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003225DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
3226DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup())
3227DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
3228DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
3229DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
3230DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive())
3231DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
3232DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive(),root.child_gone())
3233DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1
3234DLGLOBAL DEBUG test(root){alive}: No more children
3235DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive())
3236DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating
3237DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup())
3238DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
3239DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive())
3240DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
3241DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),root.alive())
3242DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
3243DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
3244DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive())
3245DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(other)
3246DLGLOBAL DEBUG 2 (other.alive(),other.cleanup())
3247DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003248DLGLOBAL DEBUG 1 (other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01003249DLGLOBAL DEBUG test(other){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01003250DLGLOBAL DEBUG 0 (-)
3251DLGLOBAL DEBUG --- after destroy-event cascade:
3252DLGLOBAL DEBUG --- all deallocated.