blob: ce506e24b2240611c3391c9a9afa53537a80128f [file] [log] [blame]
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02001
2
3test_osmo_fsm_term_safely()
Neels Hofmeyr223d66a2019-03-23 23:38:43 +01004DLGLOBAL DEBUG scene_alloc()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01005DLGLOBAL DEBUG test(root){alive}: Allocated
6DLGLOBAL DEBUG test(root){alive}: Allocated
7DLGLOBAL DEBUG test(root){alive}: is child of test(root)
Neels Hofmeyr223d66a2019-03-23 23:38:43 +01008DLGLOBAL DEBUG test(_branch0){alive}: Allocated
9DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010010DLGLOBAL DEBUG test(_branch0){alive}: Allocated
11DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
12DLGLOBAL DEBUG test(root){alive}: Allocated
13DLGLOBAL DEBUG test(root){alive}: is child of test(root)
14DLGLOBAL DEBUG test(_branch1){alive}: Allocated
15DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
16DLGLOBAL DEBUG test(_branch1){alive}: Allocated
17DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
Neels Hofmeyr223d66a2019-03-23 23:38:43 +010018DLGLOBAL DEBUG test(other){alive}: Allocated
19DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
20DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
21DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
22DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010023DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
24DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
25DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
26DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
Neels Hofmeyr3b414a42019-04-08 00:33:53 +020027DLGLOBAL DEBUG ------ before term cascade, got:
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010028DLGLOBAL DEBUG root
Neels Hofmeyr3b414a42019-04-08 00:33:53 +020029DLGLOBAL DEBUG _branch0
30DLGLOBAL DEBUG __twig0a
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010031DLGLOBAL DEBUG __twig0b
32DLGLOBAL DEBUG _branch1
33DLGLOBAL DEBUG __twig1a
34DLGLOBAL DEBUG __twig1b
35DLGLOBAL DEBUG other
36DLGLOBAL DEBUG ---
37DLGLOBAL DEBUG --- term at root
38DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
39DLGLOBAL DEBUG test(root){alive}: pre_term()
40DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
41DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
42DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
43DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
44DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
45DLGLOBAL DEBUG 1 (__twig1b.cleanup())
46DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
47DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +020048DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010049DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
50DLGLOBAL DEBUG 0 (-)
51DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(root)
52DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
53DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
54DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
55DLGLOBAL DEBUG 1 (__twig1a.cleanup())
56DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
57DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
58DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +020059DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
60DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010061DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
62DLGLOBAL DEBUG 0 (-)
63DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +010064DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010065DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +010066DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
67DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
68DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010069DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
70DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
71DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
72DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
73DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
74DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +010075DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
76DLGLOBAL DEBUG test(other){alive}: pre_term()
77DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
78DLGLOBAL DEBUG test(other){alive}: cleanup()
79DLGLOBAL DEBUG test(other){alive}: scene forgets other
80DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010081DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +010082DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010083DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +010084DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010085DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +010086DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
87DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
88DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010089DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
90DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
91DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +010092DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010093DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
94DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +020095DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010096DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +010097DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +010098DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(root)
99DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
100DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
101DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100102DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100103DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
104DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
105DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200106DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
107DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100108DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100109DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100110DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100111DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
112DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
113DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
114DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200115DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100116DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
117DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200118DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100119DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(root)
120DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
121DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100122DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100123DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100124DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200125DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100126DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100127DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100128DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100129DLGLOBAL DEBUG 1 (root.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100130DLGLOBAL DEBUG test(root){alive}: cleanup()
131DLGLOBAL DEBUG test(root){alive}: scene forgets root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200132DLGLOBAL DEBUG test(root){alive}: removing reference root.other[0] -> __twig1a
133DLGLOBAL DEBUG test(__twig1a){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100134DLGLOBAL DEBUG test(root){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100135DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100136DLGLOBAL DEBUG test(root){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100137DLGLOBAL DEBUG --- after term cascade:
138DLGLOBAL DEBUG --- all deallocated.
139DLGLOBAL DEBUG scene_alloc()
140DLGLOBAL DEBUG test(root){alive}: Allocated
141DLGLOBAL DEBUG test(root){alive}: Allocated
142DLGLOBAL DEBUG test(root){alive}: is child of test(root)
143DLGLOBAL DEBUG test(_branch0){alive}: Allocated
144DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
145DLGLOBAL DEBUG test(_branch0){alive}: Allocated
146DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
147DLGLOBAL DEBUG test(root){alive}: Allocated
148DLGLOBAL DEBUG test(root){alive}: is child of test(root)
149DLGLOBAL DEBUG test(_branch1){alive}: Allocated
150DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
151DLGLOBAL DEBUG test(_branch1){alive}: Allocated
152DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
153DLGLOBAL DEBUG test(other){alive}: Allocated
154DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
155DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
156DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
157DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
158DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
159DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
160DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
161DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
162DLGLOBAL DEBUG ------ before destroy-event cascade, got:
163DLGLOBAL DEBUG root
164DLGLOBAL DEBUG _branch0
165DLGLOBAL DEBUG __twig0a
166DLGLOBAL DEBUG __twig0b
167DLGLOBAL DEBUG _branch1
168DLGLOBAL DEBUG __twig1a
169DLGLOBAL DEBUG __twig1b
170DLGLOBAL DEBUG other
171DLGLOBAL DEBUG ---
172DLGLOBAL DEBUG --- destroy-event at root
173DLGLOBAL DEBUG test(root){alive}: Received Event EV_DESTROY
174DLGLOBAL DEBUG 1 (root.alive())
175DLGLOBAL DEBUG test(root){alive}: alive(EV_DESTROY)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100176DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
177DLGLOBAL DEBUG test(root){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100178DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
179DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
180DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
181DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
182DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100183DLGLOBAL DEBUG 2 (root.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100184DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
185DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200186DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100187DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100188DLGLOBAL DEBUG 1 (root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100189DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(root)
190DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
191DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
192DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100193DLGLOBAL DEBUG 2 (root.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100194DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
195DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
196DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200197DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
198DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100199DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100200DLGLOBAL DEBUG 1 (root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100201DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100202DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
203DLGLOBAL DEBUG 2 (root.alive(),_branch1.cleanup())
204DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
205DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
206DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100207DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100208DLGLOBAL DEBUG 3 (root.alive(),_branch1.cleanup(),other.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100209DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100210DLGLOBAL DEBUG 4 (root.alive(),_branch1.cleanup(),other.alive(),other.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100211DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100212DLGLOBAL DEBUG 3 (root.alive(),_branch1.cleanup(),other.alive())
213DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
214DLGLOBAL DEBUG test(other){alive}: pre_term()
215DLGLOBAL DEBUG 4 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
216DLGLOBAL DEBUG test(other){alive}: cleanup()
217DLGLOBAL DEBUG test(other){alive}: scene forgets other
218DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100219DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100220DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100221DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100222DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100223DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100224DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
225DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
226DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100227DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
228DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
229DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100230DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100231DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
232DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200233DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100234DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100235DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100236DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(root)
237DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
238DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
239DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100240DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100241DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
242DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
243DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200244DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
245DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100246DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100247DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100248DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100249DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
250DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
251DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
252DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200253DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100254DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
255DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200256DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100257DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(root)
258DLGLOBAL DEBUG 4 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
259DLGLOBAL DEBUG test(other){alive}: cleanup() done
260DLGLOBAL DEBUG 3 (root.alive(),_branch1.cleanup(),other.alive())
261DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(root)
262DLGLOBAL DEBUG 2 (root.alive(),_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200263DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100264DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100265DLGLOBAL DEBUG 1 (root.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100266DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(root)
267DLGLOBAL DEBUG 2 (root.alive(),root.cleanup())
268DLGLOBAL DEBUG test(root){alive}: cleanup()
269DLGLOBAL DEBUG test(root){alive}: scene forgets root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200270DLGLOBAL DEBUG test(root){alive}: removing reference root.other[0] -> __twig1a
271DLGLOBAL DEBUG test(__twig1a){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100272DLGLOBAL DEBUG test(root){alive}: cleanup() done
273DLGLOBAL DEBUG 1 (root.alive())
274DLGLOBAL DEBUG test(root){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100275DLGLOBAL DEBUG 0 (-)
276DLGLOBAL DEBUG --- after destroy-event cascade:
277DLGLOBAL DEBUG --- all deallocated.
278DLGLOBAL DEBUG scene_alloc()
279DLGLOBAL DEBUG test(root){alive}: Allocated
280DLGLOBAL DEBUG test(root){alive}: Allocated
281DLGLOBAL DEBUG test(root){alive}: is child of test(root)
282DLGLOBAL DEBUG test(_branch0){alive}: Allocated
283DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
284DLGLOBAL DEBUG test(_branch0){alive}: Allocated
285DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
286DLGLOBAL DEBUG test(root){alive}: Allocated
287DLGLOBAL DEBUG test(root){alive}: is child of test(root)
288DLGLOBAL DEBUG test(_branch1){alive}: Allocated
289DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
290DLGLOBAL DEBUG test(_branch1){alive}: Allocated
291DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
292DLGLOBAL DEBUG test(other){alive}: Allocated
293DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
294DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
295DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
296DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
297DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
298DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
299DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
300DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
301DLGLOBAL DEBUG ------ before term cascade, got:
302DLGLOBAL DEBUG root
303DLGLOBAL DEBUG _branch0
304DLGLOBAL DEBUG __twig0a
305DLGLOBAL DEBUG __twig0b
306DLGLOBAL DEBUG _branch1
307DLGLOBAL DEBUG __twig1a
308DLGLOBAL DEBUG __twig1b
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200309DLGLOBAL DEBUG other
310DLGLOBAL DEBUG ---
311DLGLOBAL DEBUG --- term at _branch0
312DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
313DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100314DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch0))
315DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
316DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
317DLGLOBAL DEBUG 1 (__twig0b.cleanup())
318DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
319DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200320DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100321DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
322DLGLOBAL DEBUG 0 (-)
323DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(_branch0)
324DLGLOBAL 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 +0200325DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
326DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
327DLGLOBAL DEBUG 1 (__twig0a.cleanup())
328DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
329DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
330DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
331DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
332DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive())
333DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
334DLGLOBAL DEBUG 3 (__twig0a.cleanup(),other.alive(),other.other_gone())
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200335DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive())
336DLGLOBAL DEBUG 1 (__twig0a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200337DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200338DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
339DLGLOBAL DEBUG 0 (-)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100340DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100341DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200342DLGLOBAL DEBUG 1 (_branch0.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100343DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
344DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
345DLGLOBAL DEBUG test(_branch0){alive}: removing reference _branch0.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100346DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
347DLGLOBAL DEBUG 2 (_branch0.cleanup(),other.alive())
348DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
349DLGLOBAL DEBUG 3 (_branch0.cleanup(),other.alive(),other.other_gone())
350DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[0] = _branch0
351DLGLOBAL DEBUG 2 (_branch0.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100352DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch0))
353DLGLOBAL DEBUG test(other){alive}: pre_term()
354DLGLOBAL DEBUG 3 (_branch0.cleanup(),other.alive(),other.cleanup())
355DLGLOBAL DEBUG test(other){alive}: cleanup()
356DLGLOBAL DEBUG test(other){alive}: scene forgets other
357DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100358DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100359DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100360DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100361DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100362DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100363DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
364DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch0))
365DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100366DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch0))
367DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
368DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100369DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100370DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
371DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200372DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100373DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100374DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100375DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(_branch0)
376DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch0))
377DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
378DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100379DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100380DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
381DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
382DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
383DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100384DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100385DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100386DLGLOBAL DEBUG 7 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100387DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100388DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
389DLGLOBAL DEBUG test(root){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch0))
390DLGLOBAL DEBUG test(root){alive}: pre_term()
391DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
392DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck
393DLGLOBAL DEBUG 7 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup())
394DLGLOBAL DEBUG test(root){alive}: cleanup()
395DLGLOBAL DEBUG test(root){alive}: scene forgets root
396DLGLOBAL DEBUG test(root){alive}: cleanup() done
397DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
398DLGLOBAL DEBUG test(root){alive}: Deferring: will deallocate with test(_branch0)
399DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200400DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100401DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100402DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100403DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100404DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
405DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup())
406DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
407DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200408DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100409DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
410DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200411DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100412DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(_branch0)
413DLGLOBAL DEBUG 3 (_branch0.cleanup(),other.alive(),other.cleanup())
414DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100415DLGLOBAL DEBUG 2 (_branch0.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100416DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(_branch0)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100417DLGLOBAL DEBUG 1 (_branch0.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200418DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100419DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200420DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200421DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100422DLGLOBAL DEBUG test(_branch0){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200423DLGLOBAL DEBUG --- after term cascade:
424DLGLOBAL DEBUG --- all deallocated.
425DLGLOBAL DEBUG scene_alloc()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100426DLGLOBAL DEBUG test(root){alive}: Allocated
427DLGLOBAL DEBUG test(root){alive}: Allocated
428DLGLOBAL DEBUG test(root){alive}: is child of test(root)
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200429DLGLOBAL DEBUG test(_branch0){alive}: Allocated
430DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100431DLGLOBAL DEBUG test(_branch0){alive}: Allocated
432DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
433DLGLOBAL DEBUG test(root){alive}: Allocated
434DLGLOBAL DEBUG test(root){alive}: is child of test(root)
435DLGLOBAL DEBUG test(_branch1){alive}: Allocated
436DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
437DLGLOBAL DEBUG test(_branch1){alive}: Allocated
438DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200439DLGLOBAL DEBUG test(other){alive}: Allocated
440DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
441DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
442DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
443DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100444DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
445DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
446DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
447DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200448DLGLOBAL DEBUG ------ before destroy-event cascade, got:
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100449DLGLOBAL DEBUG root
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200450DLGLOBAL DEBUG _branch0
451DLGLOBAL DEBUG __twig0a
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100452DLGLOBAL DEBUG __twig0b
453DLGLOBAL DEBUG _branch1
454DLGLOBAL DEBUG __twig1a
455DLGLOBAL DEBUG __twig1b
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200456DLGLOBAL DEBUG other
457DLGLOBAL DEBUG ---
458DLGLOBAL DEBUG --- destroy-event at _branch0
459DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_DESTROY
460DLGLOBAL DEBUG 1 (_branch0.alive())
461DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_DESTROY)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100462DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
463DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100464DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch0))
465DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
466DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100467DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100468DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
469DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200470DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100471DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100472DLGLOBAL DEBUG 1 (_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100473DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(_branch0)
474DLGLOBAL 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 +0200475DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
476DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100477DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200478DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
479DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
480DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
481DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100482DLGLOBAL DEBUG 3 (_branch0.alive(),__twig0a.cleanup(),other.alive())
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200483DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100484DLGLOBAL DEBUG 4 (_branch0.alive(),__twig0a.cleanup(),other.alive(),other.other_gone())
485DLGLOBAL DEBUG 3 (_branch0.alive(),__twig0a.cleanup(),other.alive())
486DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200487DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200488DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100489DLGLOBAL DEBUG 1 (_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100490DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100491DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
492DLGLOBAL DEBUG 2 (_branch0.alive(),_branch0.cleanup())
493DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
494DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
495DLGLOBAL DEBUG test(_branch0){alive}: removing reference _branch0.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100496DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100497DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),other.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100498DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100499DLGLOBAL DEBUG 4 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100500DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[0] = _branch0
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100501DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),other.alive())
502DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch0))
503DLGLOBAL DEBUG test(other){alive}: pre_term()
504DLGLOBAL DEBUG 4 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup())
505DLGLOBAL DEBUG test(other){alive}: cleanup()
506DLGLOBAL DEBUG test(other){alive}: scene forgets other
507DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100508DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100509DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100510DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100511DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100512DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100513DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
514DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch0))
515DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100516DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch0))
517DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
518DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100519DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100520DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
521DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200522DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100523DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100524DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100525DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(_branch0)
526DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch0))
527DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
528DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100529DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100530DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
531DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
532DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
533DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100534DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100535DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100536DLGLOBAL 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 +0100537DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100538DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
539DLGLOBAL DEBUG test(root){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch0))
540DLGLOBAL DEBUG test(root){alive}: pre_term()
541DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
542DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck
543DLGLOBAL DEBUG 8 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.clea
544DLGLOBAL DEBUG test(root){alive}: cleanup()
545DLGLOBAL DEBUG test(root){alive}: scene forgets root
546DLGLOBAL DEBUG test(root){alive}: cleanup() done
547DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
548DLGLOBAL DEBUG test(root){alive}: Deferring: will deallocate with test(_branch0)
549DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200550DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100551DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100552DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100553DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100554DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
555DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup())
556DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
557DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200558DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100559DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
560DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200561DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100562DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(_branch0)
563DLGLOBAL DEBUG 4 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup())
564DLGLOBAL DEBUG test(other){alive}: cleanup() done
565DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),other.alive())
566DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(_branch0)
567DLGLOBAL DEBUG 2 (_branch0.alive(),_branch0.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200568DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100569DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200570DLGLOBAL DEBUG 1 (_branch0.alive())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200571DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100572DLGLOBAL DEBUG test(_branch0){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200573DLGLOBAL DEBUG 0 (-)
574DLGLOBAL DEBUG --- after destroy-event cascade:
575DLGLOBAL DEBUG --- all deallocated.
576DLGLOBAL DEBUG scene_alloc()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100577DLGLOBAL DEBUG test(root){alive}: Allocated
578DLGLOBAL DEBUG test(root){alive}: Allocated
579DLGLOBAL DEBUG test(root){alive}: is child of test(root)
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200580DLGLOBAL DEBUG test(_branch0){alive}: Allocated
581DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100582DLGLOBAL DEBUG test(_branch0){alive}: Allocated
583DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
584DLGLOBAL DEBUG test(root){alive}: Allocated
585DLGLOBAL DEBUG test(root){alive}: is child of test(root)
586DLGLOBAL DEBUG test(_branch1){alive}: Allocated
587DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
588DLGLOBAL DEBUG test(_branch1){alive}: Allocated
589DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200590DLGLOBAL DEBUG test(other){alive}: Allocated
591DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
592DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
593DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
594DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100595DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
596DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
597DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
598DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200599DLGLOBAL DEBUG ------ before term cascade, got:
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100600DLGLOBAL DEBUG root
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200601DLGLOBAL DEBUG _branch0
602DLGLOBAL DEBUG __twig0a
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100603DLGLOBAL DEBUG __twig0b
604DLGLOBAL DEBUG _branch1
605DLGLOBAL DEBUG __twig1a
606DLGLOBAL DEBUG __twig1b
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200607DLGLOBAL DEBUG other
608DLGLOBAL DEBUG ---
609DLGLOBAL DEBUG --- term at __twig0a
610DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
611DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
612DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
613DLGLOBAL DEBUG 1 (__twig0a.cleanup())
614DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
615DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
616DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
617DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
618DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive())
619DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
620DLGLOBAL DEBUG 3 (__twig0a.cleanup(),other.alive(),other.other_gone())
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200621DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100622DLGLOBAL DEBUG 1 (__twig0a.cleanup())
623DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
624DLGLOBAL DEBUG 2 (__twig0a.cleanup(),_branch0.alive())
625DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
626DLGLOBAL DEBUG 3 (__twig0a.cleanup(),_branch0.alive(),_branch0.child_gone())
627DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
628DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[1]
629DLGLOBAL DEBUG 2 (__twig0a.cleanup(),_branch0.alive())
630DLGLOBAL DEBUG 1 (__twig0a.cleanup())
631DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
632DLGLOBAL DEBUG 0 (-)
633DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
634DLGLOBAL DEBUG 1 (_branch0.alive())
635DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
636DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
637DLGLOBAL DEBUG 0 (-)
638DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
639DLGLOBAL DEBUG --- after term cascade:
640DLGLOBAL DEBUG root
641DLGLOBAL DEBUG _branch0
642DLGLOBAL DEBUG __twig0b
643DLGLOBAL DEBUG _branch1
644DLGLOBAL DEBUG __twig1a
645DLGLOBAL DEBUG __twig1b
646DLGLOBAL DEBUG other
647DLGLOBAL DEBUG --- 7 objects remain. cleaning up
648DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR)
649DLGLOBAL DEBUG test(root){alive}: pre_term()
650DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
651DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
652DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
653DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
654DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
655DLGLOBAL DEBUG 1 (__twig1b.cleanup())
656DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
657DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200658DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100659DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
660DLGLOBAL DEBUG 0 (-)
661DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(root)
662DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
663DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
664DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
665DLGLOBAL DEBUG 1 (__twig1a.cleanup())
666DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
667DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
668DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200669DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
670DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100671DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
672DLGLOBAL DEBUG 0 (-)
673DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100674DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100675DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100676DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
677DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
678DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100679DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
680DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
681DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
682DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
683DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
684DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100685DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
686DLGLOBAL DEBUG test(other){alive}: pre_term()
687DLGLOBAL DEBUG 3 (_branch1.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[0] -> _branch0
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200691DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100692DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200693DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100694DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr3b414a42019-04-08 00:33:53 +0200695DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100696DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
697DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
698DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100699DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
700DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
701DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100702DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100703DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
704DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200705DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100706DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100707DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100708DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100709DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
710DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
711DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
712DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200713DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100714DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
715DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200716DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100717DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(root)
718DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
719DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100720DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100721DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100722DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200723DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100724DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100725DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100726DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100727DLGLOBAL DEBUG 1 (root.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100728DLGLOBAL DEBUG test(root){alive}: cleanup()
729DLGLOBAL DEBUG test(root){alive}: scene forgets root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200730DLGLOBAL DEBUG test(root){alive}: removing reference root.other[0] -> __twig1a
731DLGLOBAL DEBUG test(__twig1a){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100732DLGLOBAL DEBUG test(root){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100733DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100734DLGLOBAL DEBUG test(root){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100735DLGLOBAL DEBUG scene_alloc()
736DLGLOBAL DEBUG test(root){alive}: Allocated
737DLGLOBAL DEBUG test(root){alive}: Allocated
738DLGLOBAL DEBUG test(root){alive}: is child of test(root)
739DLGLOBAL DEBUG test(_branch0){alive}: Allocated
740DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
741DLGLOBAL DEBUG test(_branch0){alive}: Allocated
742DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
743DLGLOBAL DEBUG test(root){alive}: Allocated
744DLGLOBAL DEBUG test(root){alive}: is child of test(root)
745DLGLOBAL DEBUG test(_branch1){alive}: Allocated
746DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
747DLGLOBAL DEBUG test(_branch1){alive}: Allocated
748DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
749DLGLOBAL DEBUG test(other){alive}: Allocated
750DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
751DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
752DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
753DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
754DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
755DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
756DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
757DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
758DLGLOBAL DEBUG ------ before destroy-event cascade, got:
759DLGLOBAL DEBUG root
760DLGLOBAL DEBUG _branch0
761DLGLOBAL DEBUG __twig0a
762DLGLOBAL DEBUG __twig0b
763DLGLOBAL DEBUG _branch1
764DLGLOBAL DEBUG __twig1a
765DLGLOBAL DEBUG __twig1b
766DLGLOBAL DEBUG other
767DLGLOBAL DEBUG ---
768DLGLOBAL DEBUG --- destroy-event at __twig0a
769DLGLOBAL DEBUG test(__twig0a){alive}: Received Event EV_DESTROY
770DLGLOBAL DEBUG 1 (__twig0a.alive())
771DLGLOBAL DEBUG test(__twig0a){alive}: alive(EV_DESTROY)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100772DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
773DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
774DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
775DLGLOBAL DEBUG 2 (__twig0a.alive(),__twig0a.cleanup())
776DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
777DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
778DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100779DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100780DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),other.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100781DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100782DLGLOBAL DEBUG 4 (__twig0a.alive(),__twig0a.cleanup(),other.alive(),other.other_gone())
783DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),other.alive())
784DLGLOBAL DEBUG 2 (__twig0a.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100785DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100786DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100787DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100788DLGLOBAL DEBUG 4 (__twig0a.alive(),__twig0a.cleanup(),_branch0.alive(),_branch0.child_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100789DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
790DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[1]
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100791DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),_branch0.alive())
792DLGLOBAL DEBUG 2 (__twig0a.alive(),__twig0a.cleanup())
793DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
794DLGLOBAL DEBUG 1 (__twig0a.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100795DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100796DLGLOBAL DEBUG 2 (__twig0a.alive(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100797DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
798DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100799DLGLOBAL DEBUG 1 (__twig0a.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100800DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100801DLGLOBAL DEBUG 0 (-)
802DLGLOBAL DEBUG --- after destroy-event cascade:
803DLGLOBAL DEBUG root
804DLGLOBAL DEBUG _branch0
805DLGLOBAL DEBUG __twig0b
806DLGLOBAL DEBUG _branch1
807DLGLOBAL DEBUG __twig1a
808DLGLOBAL DEBUG __twig1b
809DLGLOBAL DEBUG other
810DLGLOBAL DEBUG --- 7 objects remain. cleaning up
811DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR)
812DLGLOBAL DEBUG test(root){alive}: pre_term()
813DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
814DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
815DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
816DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
817DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
818DLGLOBAL DEBUG 1 (__twig1b.cleanup())
819DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
820DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200821DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100822DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
823DLGLOBAL DEBUG 0 (-)
824DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(root)
825DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
826DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
827DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
828DLGLOBAL DEBUG 1 (__twig1a.cleanup())
829DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
830DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
831DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200832DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
833DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100834DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
835DLGLOBAL DEBUG 0 (-)
836DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100837DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100838DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100839DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
840DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
841DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100842DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
843DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
844DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
845DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
846DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
847DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100848DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
849DLGLOBAL DEBUG test(other){alive}: pre_term()
850DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
851DLGLOBAL DEBUG test(other){alive}: cleanup()
852DLGLOBAL DEBUG test(other){alive}: scene forgets other
853DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100854DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100855DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100856DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100857DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100858DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100859DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
860DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
861DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100862DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
863DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
864DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100865DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100866DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
867DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200868DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100869DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100870DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100871DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100872DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
873DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
874DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
875DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200876DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100877DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
878DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200879DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100880DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(root)
881DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
882DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100883DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100884DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100885DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200886DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100887DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100888DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100889DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100890DLGLOBAL DEBUG 1 (root.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100891DLGLOBAL DEBUG test(root){alive}: cleanup()
892DLGLOBAL DEBUG test(root){alive}: scene forgets root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200893DLGLOBAL DEBUG test(root){alive}: removing reference root.other[0] -> __twig1a
894DLGLOBAL DEBUG test(__twig1a){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100895DLGLOBAL DEBUG test(root){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100896DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100897DLGLOBAL DEBUG test(root){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100898DLGLOBAL DEBUG scene_alloc()
899DLGLOBAL DEBUG test(root){alive}: Allocated
900DLGLOBAL DEBUG test(root){alive}: Allocated
901DLGLOBAL DEBUG test(root){alive}: is child of test(root)
902DLGLOBAL DEBUG test(_branch0){alive}: Allocated
903DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
904DLGLOBAL DEBUG test(_branch0){alive}: Allocated
905DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
906DLGLOBAL DEBUG test(root){alive}: Allocated
907DLGLOBAL DEBUG test(root){alive}: is child of test(root)
908DLGLOBAL DEBUG test(_branch1){alive}: Allocated
909DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
910DLGLOBAL DEBUG test(_branch1){alive}: Allocated
911DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
912DLGLOBAL DEBUG test(other){alive}: Allocated
913DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
914DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
915DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
916DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
917DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
918DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
919DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
920DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
921DLGLOBAL DEBUG ------ before term cascade, got:
922DLGLOBAL DEBUG root
923DLGLOBAL DEBUG _branch0
924DLGLOBAL DEBUG __twig0a
925DLGLOBAL DEBUG __twig0b
926DLGLOBAL DEBUG _branch1
927DLGLOBAL DEBUG __twig1a
928DLGLOBAL DEBUG __twig1b
929DLGLOBAL DEBUG other
930DLGLOBAL DEBUG ---
931DLGLOBAL DEBUG --- term at __twig0b
932DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
933DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
934DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
935DLGLOBAL DEBUG 1 (__twig0b.cleanup())
936DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
937DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
938DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
939DLGLOBAL DEBUG 2 (__twig0b.cleanup(),_branch0.alive())
940DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
941DLGLOBAL DEBUG 3 (__twig0b.cleanup(),_branch0.alive(),_branch0.child_gone())
942DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
943DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0]
944DLGLOBAL DEBUG 2 (__twig0b.cleanup(),_branch0.alive())
945DLGLOBAL DEBUG 1 (__twig0b.cleanup())
946DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
947DLGLOBAL DEBUG 0 (-)
948DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
949DLGLOBAL DEBUG 1 (_branch0.alive())
950DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
951DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
952DLGLOBAL DEBUG 0 (-)
953DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
954DLGLOBAL DEBUG --- after term cascade:
955DLGLOBAL DEBUG root
956DLGLOBAL DEBUG _branch0
957DLGLOBAL DEBUG __twig0a
958DLGLOBAL DEBUG _branch1
959DLGLOBAL DEBUG __twig1a
960DLGLOBAL DEBUG __twig1b
961DLGLOBAL DEBUG other
962DLGLOBAL DEBUG --- 7 objects remain. cleaning up
963DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR)
964DLGLOBAL DEBUG test(root){alive}: pre_term()
965DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
966DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
967DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
968DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
969DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
970DLGLOBAL DEBUG 1 (__twig1b.cleanup())
971DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
972DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200973DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100974DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
975DLGLOBAL DEBUG 0 (-)
976DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(root)
977DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
978DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
979DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
980DLGLOBAL DEBUG 1 (__twig1a.cleanup())
981DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
982DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
983DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +0200984DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
985DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100986DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
987DLGLOBAL DEBUG 0 (-)
988DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100989DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100990DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +0100991DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
992DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
993DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100994DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
995DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
996DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
997DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
998DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
999DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001000DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
1001DLGLOBAL DEBUG test(other){alive}: pre_term()
1002DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
1003DLGLOBAL DEBUG test(other){alive}: cleanup()
1004DLGLOBAL DEBUG test(other){alive}: scene forgets other
1005DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001006DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001007DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001008DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001009DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001010DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001011DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1012DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
1013DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001014DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1015DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
1016DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001017DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001018DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
1019DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
1020DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001021DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
1022DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001023DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001024DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001025DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001026DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
1027DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
1028DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
1029DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001030DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001031DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
1032DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001033DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001034DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(root)
1035DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
1036DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001037DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001038DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001039DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001040DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001041DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001042DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001043DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001044DLGLOBAL DEBUG 1 (root.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001045DLGLOBAL DEBUG test(root){alive}: cleanup()
1046DLGLOBAL DEBUG test(root){alive}: scene forgets root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001047DLGLOBAL DEBUG test(root){alive}: removing reference root.other[0] -> __twig1a
1048DLGLOBAL DEBUG test(__twig1a){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001049DLGLOBAL DEBUG test(root){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001050DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001051DLGLOBAL DEBUG test(root){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001052DLGLOBAL DEBUG scene_alloc()
1053DLGLOBAL DEBUG test(root){alive}: Allocated
1054DLGLOBAL DEBUG test(root){alive}: Allocated
1055DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1056DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1057DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1058DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1059DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1060DLGLOBAL DEBUG test(root){alive}: Allocated
1061DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1062DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1063DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1064DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1065DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1066DLGLOBAL DEBUG test(other){alive}: Allocated
1067DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
1068DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
1069DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
1070DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
1071DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
1072DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
1073DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
1074DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
1075DLGLOBAL DEBUG ------ before destroy-event cascade, got:
1076DLGLOBAL DEBUG root
1077DLGLOBAL DEBUG _branch0
1078DLGLOBAL DEBUG __twig0a
1079DLGLOBAL DEBUG __twig0b
1080DLGLOBAL DEBUG _branch1
1081DLGLOBAL DEBUG __twig1a
1082DLGLOBAL DEBUG __twig1b
1083DLGLOBAL DEBUG other
1084DLGLOBAL DEBUG ---
1085DLGLOBAL DEBUG --- destroy-event at __twig0b
1086DLGLOBAL DEBUG test(__twig0b){alive}: Received Event EV_DESTROY
1087DLGLOBAL DEBUG 1 (__twig0b.alive())
1088DLGLOBAL DEBUG test(__twig0b){alive}: alive(EV_DESTROY)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001089DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
1090DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
1091DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
1092DLGLOBAL DEBUG 2 (__twig0b.alive(),__twig0b.cleanup())
1093DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
1094DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001095DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001096DLGLOBAL DEBUG 3 (__twig0b.alive(),__twig0b.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001097DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001098DLGLOBAL DEBUG 4 (__twig0b.alive(),__twig0b.cleanup(),_branch0.alive(),_branch0.child_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001099DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
1100DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0]
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001101DLGLOBAL DEBUG 3 (__twig0b.alive(),__twig0b.cleanup(),_branch0.alive())
1102DLGLOBAL DEBUG 2 (__twig0b.alive(),__twig0b.cleanup())
1103DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
1104DLGLOBAL DEBUG 1 (__twig0b.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001105DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001106DLGLOBAL DEBUG 2 (__twig0b.alive(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001107DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
1108DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001109DLGLOBAL DEBUG 1 (__twig0b.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001110DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001111DLGLOBAL DEBUG 0 (-)
1112DLGLOBAL DEBUG --- after destroy-event cascade:
1113DLGLOBAL DEBUG root
1114DLGLOBAL DEBUG _branch0
1115DLGLOBAL DEBUG __twig0a
1116DLGLOBAL DEBUG _branch1
1117DLGLOBAL DEBUG __twig1a
1118DLGLOBAL DEBUG __twig1b
1119DLGLOBAL DEBUG other
1120DLGLOBAL DEBUG --- 7 objects remain. cleaning up
1121DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR)
1122DLGLOBAL DEBUG test(root){alive}: pre_term()
1123DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1124DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
1125DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1126DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
1127DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
1128DLGLOBAL DEBUG 1 (__twig1b.cleanup())
1129DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
1130DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001131DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001132DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
1133DLGLOBAL DEBUG 0 (-)
1134DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(root)
1135DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1136DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
1137DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
1138DLGLOBAL DEBUG 1 (__twig1a.cleanup())
1139DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
1140DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
1141DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001142DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
1143DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001144DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
1145DLGLOBAL DEBUG 0 (-)
1146DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001147DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001148DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001149DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
1150DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
1151DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001152DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
1153DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
1154DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
1155DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
1156DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
1157DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001158DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
1159DLGLOBAL DEBUG test(other){alive}: pre_term()
1160DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
1161DLGLOBAL DEBUG test(other){alive}: cleanup()
1162DLGLOBAL DEBUG test(other){alive}: scene forgets other
1163DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001164DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001165DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001166DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001167DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001168DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001169DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1170DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
1171DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001172DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1173DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
1174DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001175DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001176DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
1177DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
1178DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001179DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
1180DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001181DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001182DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001183DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001184DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
1185DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
1186DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
1187DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001188DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001189DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
1190DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001191DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001192DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(root)
1193DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
1194DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001195DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001196DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001197DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001198DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001199DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001200DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001201DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001202DLGLOBAL DEBUG 1 (root.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001203DLGLOBAL DEBUG test(root){alive}: cleanup()
1204DLGLOBAL DEBUG test(root){alive}: scene forgets root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001205DLGLOBAL DEBUG test(root){alive}: removing reference root.other[0] -> __twig1a
1206DLGLOBAL DEBUG test(__twig1a){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001207DLGLOBAL DEBUG test(root){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001208DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001209DLGLOBAL DEBUG test(root){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001210DLGLOBAL DEBUG scene_alloc()
1211DLGLOBAL DEBUG test(root){alive}: Allocated
1212DLGLOBAL DEBUG test(root){alive}: Allocated
1213DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1214DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1215DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1216DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1217DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1218DLGLOBAL DEBUG test(root){alive}: Allocated
1219DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1220DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1221DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1222DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1223DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1224DLGLOBAL DEBUG test(other){alive}: Allocated
1225DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
1226DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
1227DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
1228DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
1229DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
1230DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
1231DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
1232DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
1233DLGLOBAL DEBUG ------ before term cascade, got:
1234DLGLOBAL DEBUG root
1235DLGLOBAL DEBUG _branch0
1236DLGLOBAL DEBUG __twig0a
1237DLGLOBAL DEBUG __twig0b
1238DLGLOBAL DEBUG _branch1
1239DLGLOBAL DEBUG __twig1a
1240DLGLOBAL DEBUG __twig1b
1241DLGLOBAL DEBUG other
1242DLGLOBAL DEBUG ---
1243DLGLOBAL DEBUG --- term at _branch1
1244DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
1245DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
1246DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch1))
1247DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
1248DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
1249DLGLOBAL DEBUG 1 (__twig1b.cleanup())
1250DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
1251DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001252DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001253DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
1254DLGLOBAL DEBUG 0 (-)
1255DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(_branch1)
1256DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch1))
1257DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
1258DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
1259DLGLOBAL DEBUG 1 (__twig1a.cleanup())
1260DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
1261DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
1262DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
1263DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
1264DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
1265DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
1266DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone())
1267DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
1268DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001269DLGLOBAL DEBUG test(root){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch1))
1270DLGLOBAL DEBUG test(root){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001271DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001272DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck
1273DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.cleanup())
1274DLGLOBAL DEBUG test(root){alive}: cleanup()
1275DLGLOBAL DEBUG test(root){alive}: scene forgets root
1276DLGLOBAL DEBUG test(root){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001277DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001278DLGLOBAL DEBUG test(root){alive}: Deferring: will deallocate with test(_branch1)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001279DLGLOBAL DEBUG 1 (__twig1a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001280DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001281DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
1282DLGLOBAL DEBUG 0 (-)
1283DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001284DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001285DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001286DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
1287DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
1288DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001289DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
1290DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
1291DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
1292DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
1293DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
1294DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001295DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch1))
1296DLGLOBAL DEBUG test(other){alive}: pre_term()
1297DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
1298DLGLOBAL DEBUG test(other){alive}: cleanup()
1299DLGLOBAL DEBUG test(other){alive}: scene forgets other
1300DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001301DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001302DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001303DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001304DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001305DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001306DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1307DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch1))
1308DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001309DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch1))
1310DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
1311DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001312DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001313DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
1314DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001315DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001316DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001317DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001318DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(_branch1)
1319DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch1))
1320DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
1321DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001322DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001323DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
1324DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
1325DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001326DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
1327DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001328DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001329DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001330DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001331DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
1332DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
1333DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
1334DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001335DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001336DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
1337DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001338DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001339DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(_branch1)
1340DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
1341DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001342DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001343DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(_branch1)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001344DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001345DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001346DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001347DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001348DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001349DLGLOBAL DEBUG test(_branch1){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001350DLGLOBAL DEBUG --- after term cascade:
1351DLGLOBAL DEBUG --- all deallocated.
1352DLGLOBAL DEBUG scene_alloc()
1353DLGLOBAL DEBUG test(root){alive}: Allocated
1354DLGLOBAL DEBUG test(root){alive}: Allocated
1355DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1356DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1357DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1358DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1359DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1360DLGLOBAL DEBUG test(root){alive}: Allocated
1361DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1362DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1363DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1364DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1365DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1366DLGLOBAL DEBUG test(other){alive}: Allocated
1367DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
1368DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
1369DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
1370DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
1371DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
1372DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
1373DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
1374DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
1375DLGLOBAL DEBUG ------ before destroy-event cascade, got:
1376DLGLOBAL DEBUG root
1377DLGLOBAL DEBUG _branch0
1378DLGLOBAL DEBUG __twig0a
1379DLGLOBAL DEBUG __twig0b
1380DLGLOBAL DEBUG _branch1
1381DLGLOBAL DEBUG __twig1a
1382DLGLOBAL DEBUG __twig1b
1383DLGLOBAL DEBUG other
1384DLGLOBAL DEBUG ---
1385DLGLOBAL DEBUG --- destroy-event at _branch1
1386DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_DESTROY
1387DLGLOBAL DEBUG 1 (_branch1.alive())
1388DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_DESTROY)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001389DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
1390DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001391DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch1))
1392DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
1393DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001394DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001395DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
1396DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001397DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001398DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001399DLGLOBAL DEBUG 1 (_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001400DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(_branch1)
1401DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch1))
1402DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
1403DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001404DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001405DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
1406DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
1407DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
1408DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001409DLGLOBAL DEBUG 3 (_branch1.alive(),__twig1a.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001410DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001411DLGLOBAL DEBUG 4 (_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001412DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001413DLGLOBAL DEBUG 3 (_branch1.alive(),__twig1a.cleanup(),root.alive())
1414DLGLOBAL DEBUG test(root){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch1))
1415DLGLOBAL DEBUG test(root){alive}: pre_term()
1416DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
1417DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck
1418DLGLOBAL DEBUG 4 (_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup())
1419DLGLOBAL DEBUG test(root){alive}: cleanup()
1420DLGLOBAL DEBUG test(root){alive}: scene forgets root
1421DLGLOBAL DEBUG test(root){alive}: cleanup() done
1422DLGLOBAL DEBUG 3 (_branch1.alive(),__twig1a.cleanup(),root.alive())
1423DLGLOBAL DEBUG test(root){alive}: Deferring: will deallocate with test(_branch1)
1424DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001425DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001426DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001427DLGLOBAL DEBUG 1 (_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001428DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001429DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
1430DLGLOBAL DEBUG 2 (_branch1.alive(),_branch1.cleanup())
1431DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
1432DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
1433DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001434DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001435DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),other.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001436DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001437DLGLOBAL DEBUG 4 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001438DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001439DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),other.alive())
1440DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch1))
1441DLGLOBAL DEBUG test(other){alive}: pre_term()
1442DLGLOBAL DEBUG 4 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
1443DLGLOBAL DEBUG test(other){alive}: cleanup()
1444DLGLOBAL DEBUG test(other){alive}: scene forgets other
1445DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001446DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001447DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001448DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001449DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001450DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001451DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1452DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(_branch1))
1453DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001454DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch1))
1455DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
1456DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001457DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001458DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
1459DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001460DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001461DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001462DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001463DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(_branch1)
1464DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(_branch1))
1465DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
1466DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001467DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001468DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
1469DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
1470DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001471DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
1472DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001473DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001474DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001475DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001476DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
1477DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
1478DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
1479DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001480DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001481DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
1482DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001483DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001484DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(_branch1)
1485DLGLOBAL DEBUG 4 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
1486DLGLOBAL DEBUG test(other){alive}: cleanup() done
1487DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),other.alive())
1488DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(_branch1)
1489DLGLOBAL DEBUG 2 (_branch1.alive(),_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001490DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001491DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001492DLGLOBAL DEBUG 1 (_branch1.alive())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001493DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001494DLGLOBAL DEBUG test(_branch1){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001495DLGLOBAL DEBUG 0 (-)
1496DLGLOBAL DEBUG --- after destroy-event cascade:
1497DLGLOBAL DEBUG --- all deallocated.
1498DLGLOBAL DEBUG scene_alloc()
1499DLGLOBAL DEBUG test(root){alive}: Allocated
1500DLGLOBAL DEBUG test(root){alive}: Allocated
1501DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1502DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1503DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1504DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1505DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1506DLGLOBAL DEBUG test(root){alive}: Allocated
1507DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1508DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1509DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1510DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1511DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1512DLGLOBAL DEBUG test(other){alive}: Allocated
1513DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
1514DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
1515DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
1516DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
1517DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
1518DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
1519DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
1520DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
1521DLGLOBAL DEBUG ------ before term cascade, got:
1522DLGLOBAL DEBUG root
1523DLGLOBAL DEBUG _branch0
1524DLGLOBAL DEBUG __twig0a
1525DLGLOBAL DEBUG __twig0b
1526DLGLOBAL DEBUG _branch1
1527DLGLOBAL DEBUG __twig1a
1528DLGLOBAL DEBUG __twig1b
1529DLGLOBAL DEBUG other
1530DLGLOBAL DEBUG ---
1531DLGLOBAL DEBUG --- term at __twig1a
1532DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
1533DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
1534DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
1535DLGLOBAL DEBUG 1 (__twig1a.cleanup())
1536DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
1537DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
1538DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
1539DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
1540DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
1541DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
1542DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone())
1543DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
1544DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001545DLGLOBAL DEBUG test(root){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(__twig1a))
1546DLGLOBAL DEBUG test(root){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001547DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(__twig1a))
1548DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
1549DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(__twig1a))
1550DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
1551DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001552DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001553DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
1554DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001555DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001556DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001557DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001558DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(__twig1a)
1559DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001560DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),_branch1.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001561DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
1562DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
1563DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
1564DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001565DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001566DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001567DLGLOBAL DEBUG 5 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001568DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001569DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive())
1570DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(__twig1a))
1571DLGLOBAL DEBUG test(other){alive}: pre_term()
1572DLGLOBAL DEBUG 5 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
1573DLGLOBAL DEBUG test(other){alive}: cleanup()
1574DLGLOBAL DEBUG test(other){alive}: scene forgets other
1575DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001576DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001577DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001578DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001579DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001580DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001581DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1582DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(__twig1a))
1583DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001584DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 6 (cause = OSMO_FSM_TERM_PARENT, caused by: test(__twig1a))
1585DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
1586DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001587DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001588DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
1589DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001590DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001591DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001592DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001593DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(__twig1a)
1594DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 6 (cause = OSMO_FSM_TERM_PARENT, caused by: test(__twig1a))
1595DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
1596DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001597DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001598DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
1599DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
1600DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001601DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
1602DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001603DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001604DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001605DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(__twig1a)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001606DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
1607DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
1608DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
1609DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001610DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001611DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
1612DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001613DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001614DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(__twig1a)
1615DLGLOBAL DEBUG 5 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
1616DLGLOBAL DEBUG test(other){alive}: cleanup() done
1617DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive())
1618DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(__twig1a)
1619DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001620DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001621DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001622DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001623DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(__twig1a)
1624DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.cleanup())
1625DLGLOBAL DEBUG test(root){alive}: cleanup()
1626DLGLOBAL DEBUG test(root){alive}: scene forgets root
1627DLGLOBAL DEBUG test(root){alive}: cleanup() done
1628DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
1629DLGLOBAL DEBUG test(root){alive}: Deferring: will deallocate with test(__twig1a)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001630DLGLOBAL DEBUG 1 (__twig1a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001631DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001632DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
1633DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001634DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001635DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated, including all deferred deallocations
1636DLGLOBAL DEBUG --- after term cascade:
1637DLGLOBAL DEBUG --- all deallocated.
1638DLGLOBAL DEBUG scene_alloc()
1639DLGLOBAL DEBUG test(root){alive}: Allocated
1640DLGLOBAL DEBUG test(root){alive}: Allocated
1641DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1642DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1643DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1644DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1645DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1646DLGLOBAL DEBUG test(root){alive}: Allocated
1647DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1648DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1649DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1650DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1651DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1652DLGLOBAL DEBUG test(other){alive}: Allocated
1653DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
1654DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
1655DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
1656DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
1657DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
1658DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
1659DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
1660DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
1661DLGLOBAL DEBUG ------ before destroy-event cascade, got:
1662DLGLOBAL DEBUG root
1663DLGLOBAL DEBUG _branch0
1664DLGLOBAL DEBUG __twig0a
1665DLGLOBAL DEBUG __twig0b
1666DLGLOBAL DEBUG _branch1
1667DLGLOBAL DEBUG __twig1a
1668DLGLOBAL DEBUG __twig1b
1669DLGLOBAL DEBUG other
1670DLGLOBAL DEBUG ---
1671DLGLOBAL DEBUG --- destroy-event at __twig1a
1672DLGLOBAL DEBUG test(__twig1a){alive}: Received Event EV_DESTROY
1673DLGLOBAL DEBUG 1 (__twig1a.alive())
1674DLGLOBAL DEBUG test(__twig1a){alive}: alive(EV_DESTROY)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001675DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
1676DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
1677DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
1678DLGLOBAL DEBUG 2 (__twig1a.alive(),__twig1a.cleanup())
1679DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
1680DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
1681DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001682DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001683DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001684DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001685DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),root.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001686DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001687DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive())
1688DLGLOBAL DEBUG test(root){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(__twig1a))
1689DLGLOBAL DEBUG test(root){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001690DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(__twig1a))
1691DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
1692DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_PARENT, caused by: test(__twig1a))
1693DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
1694DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001695DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001696DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
1697DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001698DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001699DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001700DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001701DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(__twig1a)
1702DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001703DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001704DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
1705DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
1706DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
1707DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001708DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001709DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001710DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001711DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001712DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive())
1713DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(__twig1a))
1714DLGLOBAL DEBUG test(other){alive}: pre_term()
1715DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
1716DLGLOBAL DEBUG test(other){alive}: cleanup()
1717DLGLOBAL DEBUG test(other){alive}: scene forgets other
1718DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001719DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001720DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001721DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001722DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001723DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001724DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1725DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(__twig1a))
1726DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001727DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 6 (cause = OSMO_FSM_TERM_PARENT, caused by: test(__twig1a))
1728DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
1729DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001730DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001731DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
1732DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001733DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001734DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001735DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001736DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(__twig1a)
1737DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 6 (cause = OSMO_FSM_TERM_PARENT, caused by: test(__twig1a))
1738DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
1739DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001740DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001741DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
1742DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
1743DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001744DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
1745DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001746DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001747DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001748DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(__twig1a)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001749DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
1750DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.
1751DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
1752DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001753DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001754DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
1755DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001756DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001757DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(__twig1a)
1758DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
1759DLGLOBAL DEBUG test(other){alive}: cleanup() done
1760DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive())
1761DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(__twig1a)
1762DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001763DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001764DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001765DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001766DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(__twig1a)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001767DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),root.cleanup())
1768DLGLOBAL DEBUG test(root){alive}: cleanup()
1769DLGLOBAL DEBUG test(root){alive}: scene forgets root
1770DLGLOBAL DEBUG test(root){alive}: cleanup() done
1771DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive())
1772DLGLOBAL DEBUG test(root){alive}: Deferring: will deallocate with test(__twig1a)
1773DLGLOBAL DEBUG 2 (__twig1a.alive(),__twig1a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001774DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001775DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001776DLGLOBAL DEBUG 1 (__twig1a.alive())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001777DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001778DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001779DLGLOBAL DEBUG 0 (-)
1780DLGLOBAL DEBUG --- after destroy-event cascade:
1781DLGLOBAL DEBUG --- all deallocated.
1782DLGLOBAL DEBUG scene_alloc()
1783DLGLOBAL DEBUG test(root){alive}: Allocated
1784DLGLOBAL DEBUG test(root){alive}: Allocated
1785DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1786DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1787DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1788DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1789DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1790DLGLOBAL DEBUG test(root){alive}: Allocated
1791DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1792DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1793DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1794DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1795DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1796DLGLOBAL DEBUG test(other){alive}: Allocated
1797DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
1798DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
1799DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
1800DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
1801DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
1802DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
1803DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
1804DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
1805DLGLOBAL DEBUG ------ before term cascade, got:
1806DLGLOBAL DEBUG root
1807DLGLOBAL DEBUG _branch0
1808DLGLOBAL DEBUG __twig0a
1809DLGLOBAL DEBUG __twig0b
1810DLGLOBAL DEBUG _branch1
1811DLGLOBAL DEBUG __twig1a
1812DLGLOBAL DEBUG __twig1b
1813DLGLOBAL DEBUG other
1814DLGLOBAL DEBUG ---
1815DLGLOBAL DEBUG --- term at __twig1b
1816DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
1817DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
1818DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
1819DLGLOBAL DEBUG 1 (__twig1b.cleanup())
1820DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
1821DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
1822DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
1823DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive())
1824DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
1825DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone())
1826DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
1827DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
1828DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive())
1829DLGLOBAL DEBUG 1 (__twig1b.cleanup())
1830DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
1831DLGLOBAL DEBUG 0 (-)
1832DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
1833DLGLOBAL DEBUG 1 (_branch1.alive())
1834DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
1835DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
1836DLGLOBAL DEBUG 0 (-)
1837DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
1838DLGLOBAL DEBUG --- after term cascade:
1839DLGLOBAL DEBUG root
1840DLGLOBAL DEBUG _branch0
1841DLGLOBAL DEBUG __twig0a
1842DLGLOBAL DEBUG __twig0b
1843DLGLOBAL DEBUG _branch1
1844DLGLOBAL DEBUG __twig1a
1845DLGLOBAL DEBUG other
1846DLGLOBAL DEBUG --- 7 objects remain. cleaning up
1847DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR)
1848DLGLOBAL DEBUG test(root){alive}: pre_term()
1849DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1850DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
1851DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1852DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
1853DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
1854DLGLOBAL DEBUG 1 (__twig1a.cleanup())
1855DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
1856DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
1857DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001858DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
1859DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001860DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
1861DLGLOBAL DEBUG 0 (-)
1862DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001863DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001864DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001865DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
1866DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
1867DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001868DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
1869DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
1870DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
1871DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
1872DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
1873DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001874DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
1875DLGLOBAL DEBUG test(other){alive}: pre_term()
1876DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
1877DLGLOBAL DEBUG test(other){alive}: cleanup()
1878DLGLOBAL DEBUG test(other){alive}: scene forgets other
1879DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001880DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001881DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001882DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001883DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001884DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001885DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
1886DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
1887DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001888DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1889DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
1890DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001891DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001892DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
1893DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001894DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001895DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001896DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001897DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(root)
1898DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
1899DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
1900DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001901DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001902DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
1903DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
1904DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001905DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
1906DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001907DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001908DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001909DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001910DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
1911DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
1912DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
1913DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001914DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001915DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
1916DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001917DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001918DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(root)
1919DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
1920DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001921DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001922DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001923DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001924DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001925DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001926DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001927DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001928DLGLOBAL DEBUG 1 (root.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001929DLGLOBAL DEBUG test(root){alive}: cleanup()
1930DLGLOBAL DEBUG test(root){alive}: scene forgets root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02001931DLGLOBAL DEBUG test(root){alive}: removing reference root.other[0] -> __twig1a
1932DLGLOBAL DEBUG test(__twig1a){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001933DLGLOBAL DEBUG test(root){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001934DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001935DLGLOBAL DEBUG test(root){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001936DLGLOBAL DEBUG scene_alloc()
1937DLGLOBAL DEBUG test(root){alive}: Allocated
1938DLGLOBAL DEBUG test(root){alive}: Allocated
1939DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1940DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1941DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1942DLGLOBAL DEBUG test(_branch0){alive}: Allocated
1943DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
1944DLGLOBAL DEBUG test(root){alive}: Allocated
1945DLGLOBAL DEBUG test(root){alive}: is child of test(root)
1946DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1947DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1948DLGLOBAL DEBUG test(_branch1){alive}: Allocated
1949DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
1950DLGLOBAL DEBUG test(other){alive}: Allocated
1951DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
1952DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
1953DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
1954DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
1955DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
1956DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
1957DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
1958DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
1959DLGLOBAL DEBUG ------ before destroy-event cascade, got:
1960DLGLOBAL DEBUG root
1961DLGLOBAL DEBUG _branch0
1962DLGLOBAL DEBUG __twig0a
1963DLGLOBAL DEBUG __twig0b
1964DLGLOBAL DEBUG _branch1
1965DLGLOBAL DEBUG __twig1a
1966DLGLOBAL DEBUG __twig1b
1967DLGLOBAL DEBUG other
1968DLGLOBAL DEBUG ---
1969DLGLOBAL DEBUG --- destroy-event at __twig1b
1970DLGLOBAL DEBUG test(__twig1b){alive}: Received Event EV_DESTROY
1971DLGLOBAL DEBUG 1 (__twig1b.alive())
1972DLGLOBAL DEBUG test(__twig1b){alive}: alive(EV_DESTROY)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001973DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
1974DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
1975DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
1976DLGLOBAL DEBUG 2 (__twig1b.alive(),__twig1b.cleanup())
1977DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
1978DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001979DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001980DLGLOBAL DEBUG 3 (__twig1b.alive(),__twig1b.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001981DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001982DLGLOBAL DEBUG 4 (__twig1b.alive(),__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001983DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
1984DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001985DLGLOBAL DEBUG 3 (__twig1b.alive(),__twig1b.cleanup(),_branch1.alive())
1986DLGLOBAL DEBUG 2 (__twig1b.alive(),__twig1b.cleanup())
1987DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
1988DLGLOBAL DEBUG 1 (__twig1b.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001989DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001990DLGLOBAL DEBUG 2 (__twig1b.alive(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001991DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
1992DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001993DLGLOBAL DEBUG 1 (__twig1b.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01001994DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01001995DLGLOBAL DEBUG 0 (-)
1996DLGLOBAL DEBUG --- after destroy-event cascade:
1997DLGLOBAL DEBUG root
1998DLGLOBAL DEBUG _branch0
1999DLGLOBAL DEBUG __twig0a
2000DLGLOBAL DEBUG __twig0b
2001DLGLOBAL DEBUG _branch1
2002DLGLOBAL DEBUG __twig1a
2003DLGLOBAL DEBUG other
2004DLGLOBAL DEBUG --- 7 objects remain. cleaning up
2005DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR)
2006DLGLOBAL DEBUG test(root){alive}: pre_term()
2007DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
2008DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
2009DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
2010DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
2011DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
2012DLGLOBAL DEBUG 1 (__twig1a.cleanup())
2013DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
2014DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
2015DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002016DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
2017DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002018DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
2019DLGLOBAL DEBUG 0 (-)
2020DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002021DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002022DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002023DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
2024DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
2025DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002026DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
2027DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
2028DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
2029DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
2030DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
2031DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002032DLGLOBAL DEBUG test(other){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
2033DLGLOBAL DEBUG test(other){alive}: pre_term()
2034DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
2035DLGLOBAL DEBUG test(other){alive}: cleanup()
2036DLGLOBAL DEBUG test(other){alive}: scene forgets other
2037DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002038DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002039DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002040DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002041DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002042DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002043DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2044DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(root))
2045DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002046DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
2047DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
2048DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002049DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002050DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
2051DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002052DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002053DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002054DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002055DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(root)
2056DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 5 (cause = OSMO_FSM_TERM_PARENT, caused by: test(root))
2057DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
2058DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002059DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002060DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
2061DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
2062DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002063DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
2064DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002065DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002066DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002067DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002068DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
2069DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
2070DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
2071DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002072DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002073DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
2074DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002075DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002076DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(root)
2077DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
2078DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002079DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002080DLGLOBAL DEBUG test(other){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002081DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002082DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002083DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002084DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002085DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(root)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002086DLGLOBAL DEBUG 1 (root.cleanup())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002087DLGLOBAL DEBUG test(root){alive}: cleanup()
2088DLGLOBAL DEBUG test(root){alive}: scene forgets root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002089DLGLOBAL DEBUG test(root){alive}: removing reference root.other[0] -> __twig1a
2090DLGLOBAL DEBUG test(__twig1a){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002091DLGLOBAL DEBUG test(root){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002092DLGLOBAL DEBUG 0 (-)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002093DLGLOBAL DEBUG test(root){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002094DLGLOBAL DEBUG scene_alloc()
2095DLGLOBAL DEBUG test(root){alive}: Allocated
2096DLGLOBAL DEBUG test(root){alive}: Allocated
2097DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2098DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2099DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2100DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2101DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2102DLGLOBAL DEBUG test(root){alive}: Allocated
2103DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2104DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2105DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2106DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2107DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2108DLGLOBAL DEBUG test(other){alive}: Allocated
2109DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
2110DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
2111DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
2112DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
2113DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
2114DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
2115DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
2116DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
2117DLGLOBAL DEBUG ------ before term cascade, got:
2118DLGLOBAL DEBUG root
2119DLGLOBAL DEBUG _branch0
2120DLGLOBAL DEBUG __twig0a
2121DLGLOBAL DEBUG __twig0b
2122DLGLOBAL DEBUG _branch1
2123DLGLOBAL DEBUG __twig1a
2124DLGLOBAL DEBUG __twig1b
2125DLGLOBAL DEBUG other
2126DLGLOBAL DEBUG ---
2127DLGLOBAL DEBUG --- term at other
2128DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2129DLGLOBAL DEBUG test(other){alive}: pre_term()
2130DLGLOBAL DEBUG 1 (other.cleanup())
2131DLGLOBAL DEBUG test(other){alive}: cleanup()
2132DLGLOBAL DEBUG test(other){alive}: scene forgets other
2133DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
2134DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
2135DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive())
2136DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
2137DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),_branch0.other_gone())
2138DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
2139DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002140DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(other))
2141DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002142DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(other))
2143DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
2144DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002145DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002146DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
2147DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002148DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002149DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002150DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002151DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(other)
2152DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(other))
2153DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
2154DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002155DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002156DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
2157DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
2158DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002159DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
2160DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002161DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002162DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002163DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(other)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002164DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
2165DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),_branch0.cleanup())
2166DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
2167DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002168DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002169DLGLOBAL DEBUG 4 (other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002170DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002171DLGLOBAL DEBUG 5 (other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002172DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
2173DLGLOBAL DEBUG test(root){alive}: still exists: child[1]
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002174DLGLOBAL DEBUG 4 (other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
2175DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),_branch0.cleanup())
2176DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
2177DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002178DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002179DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002180DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
2181DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002182DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002183DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(other)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002184DLGLOBAL DEBUG 1 (other.cleanup())
2185DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1
2186DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE
2187DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive())
2188DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE)
2189DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),_branch1.other_gone())
2190DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other
2191DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002192DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(other))
2193DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002194DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(other))
2195DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
2196DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002197DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002198DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
2199DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002200DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002201DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002202DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002203DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(other)
2204DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(other))
2205DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
2206DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002207DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002208DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
2209DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
2210DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
2211DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002212DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002213DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002214DLGLOBAL DEBUG 5 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002215DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002216DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
2217DLGLOBAL DEBUG test(root){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(other))
2218DLGLOBAL DEBUG test(root){alive}: pre_term()
2219DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
2220DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck
2221DLGLOBAL DEBUG 5 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup())
2222DLGLOBAL DEBUG test(root){alive}: cleanup()
2223DLGLOBAL DEBUG test(root){alive}: scene forgets root
2224DLGLOBAL DEBUG test(root){alive}: cleanup() done
2225DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
2226DLGLOBAL DEBUG test(root){alive}: Deferring: will deallocate with test(other)
2227DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002228DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002229DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002230DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002231DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(other)
2232DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
2233DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),_branch1.cleanup())
2234DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
2235DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002236DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002237DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
2238DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002239DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002240DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(other)
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002241DLGLOBAL DEBUG 1 (other.cleanup())
2242DLGLOBAL DEBUG test(other){alive}: cleanup() done
2243DLGLOBAL DEBUG 0 (-)
2244DLGLOBAL DEBUG test(other){alive}: Deallocated, including all deferred deallocations
2245DLGLOBAL DEBUG --- after term cascade:
2246DLGLOBAL DEBUG --- all deallocated.
2247DLGLOBAL DEBUG scene_alloc()
2248DLGLOBAL DEBUG test(root){alive}: Allocated
2249DLGLOBAL DEBUG test(root){alive}: Allocated
2250DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2251DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2252DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2253DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2254DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2255DLGLOBAL DEBUG test(root){alive}: Allocated
2256DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2257DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2258DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2259DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2260DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2261DLGLOBAL DEBUG test(other){alive}: Allocated
2262DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
2263DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
2264DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
2265DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
2266DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
2267DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
2268DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
2269DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
2270DLGLOBAL DEBUG ------ before destroy-event cascade, got:
2271DLGLOBAL DEBUG root
2272DLGLOBAL DEBUG _branch0
2273DLGLOBAL DEBUG __twig0a
2274DLGLOBAL DEBUG __twig0b
2275DLGLOBAL DEBUG _branch1
2276DLGLOBAL DEBUG __twig1a
2277DLGLOBAL DEBUG __twig1b
2278DLGLOBAL DEBUG other
2279DLGLOBAL DEBUG ---
2280DLGLOBAL DEBUG --- destroy-event at other
2281DLGLOBAL DEBUG test(other){alive}: Received Event EV_DESTROY
2282DLGLOBAL DEBUG 1 (other.alive())
2283DLGLOBAL DEBUG test(other){alive}: alive(EV_DESTROY)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002284DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2285DLGLOBAL DEBUG test(other){alive}: pre_term()
2286DLGLOBAL DEBUG 2 (other.alive(),other.cleanup())
2287DLGLOBAL DEBUG test(other){alive}: cleanup()
2288DLGLOBAL DEBUG test(other){alive}: scene forgets other
2289DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002290DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002291DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002292DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002293DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002294DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002295DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive())
2296DLGLOBAL DEBUG test(_branch0){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(other))
2297DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002298DLGLOBAL DEBUG test(__twig0b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(other))
2299DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
2300DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002301DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002302DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
2303DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002304DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002305DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002306DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002307DLGLOBAL DEBUG test(__twig0b){alive}: Deferring: will deallocate with test(other)
2308DLGLOBAL DEBUG test(__twig0a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(other))
2309DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
2310DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002311DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002312DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
2313DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
2314DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002315DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
2316DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002317DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002318DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002319DLGLOBAL DEBUG test(__twig0a){alive}: Deferring: will deallocate with test(other)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002320DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
2321DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
2322DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
2323DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002324DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002325DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002326DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002327DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002328DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
2329DLGLOBAL DEBUG test(root){alive}: still exists: child[1]
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002330DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
2331DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
2332DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
2333DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002334DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002335DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002336DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
2337DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002338DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive())
2339DLGLOBAL DEBUG test(_branch0){alive}: Deferring: will deallocate with test(other)
2340DLGLOBAL DEBUG 2 (other.alive(),other.cleanup())
2341DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002342DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002343DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002344DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002345DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002346DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002347DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive())
2348DLGLOBAL DEBUG test(_branch1){alive}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(other))
2349DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002350DLGLOBAL DEBUG test(__twig1b){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(other))
2351DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
2352DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002353DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002354DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
2355DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002356DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002357DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002358DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002359DLGLOBAL DEBUG test(__twig1b){alive}: Deferring: will deallocate with test(other)
2360DLGLOBAL DEBUG test(__twig1a){alive}: Terminating in cascade, depth 3 (cause = OSMO_FSM_TERM_PARENT, caused by: test(other))
2361DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
2362DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002363DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002364DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
2365DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
2366DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
2367DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002368DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002369DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002370DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002371DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002372DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
2373DLGLOBAL DEBUG test(root){alive}: Terminating in cascade, depth 4 (cause = OSMO_FSM_TERM_REGULAR, caused by: test(other))
2374DLGLOBAL DEBUG test(root){alive}: pre_term()
2375DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
2376DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck
2377DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup())
2378DLGLOBAL DEBUG test(root){alive}: cleanup()
2379DLGLOBAL DEBUG test(root){alive}: scene forgets root
2380DLGLOBAL DEBUG test(root){alive}: cleanup() done
2381DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
2382DLGLOBAL DEBUG test(root){alive}: Deferring: will deallocate with test(other)
2383DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002384DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002385DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002386DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002387DLGLOBAL DEBUG test(__twig1a){alive}: Deferring: will deallocate with test(other)
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002388DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
2389DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup())
2390DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
2391DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002392DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002393DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
2394DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002395DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002396DLGLOBAL DEBUG test(_branch1){alive}: Deferring: will deallocate with test(other)
2397DLGLOBAL DEBUG 2 (other.alive(),other.cleanup())
2398DLGLOBAL DEBUG test(other){alive}: cleanup() done
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002399DLGLOBAL DEBUG 1 (other.alive())
Neels Hofmeyrd28aa0c2019-03-24 05:43:04 +01002400DLGLOBAL DEBUG test(other){alive}: Deallocated, including all deferred deallocations
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +01002401DLGLOBAL DEBUG 0 (-)
2402DLGLOBAL DEBUG --- after destroy-event cascade:
2403DLGLOBAL DEBUG --- all deallocated.
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002404
2405
2406test_osmo_fsm_term_safely() done
2407
2408
2409test_osmo_fsm_set_dealloc_ctx()
2410DLGLOBAL DEBUG scene_alloc()
2411DLGLOBAL DEBUG test(root){alive}: Allocated
2412DLGLOBAL DEBUG test(root){alive}: Allocated
2413DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2414DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2415DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2416DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2417DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2418DLGLOBAL DEBUG test(root){alive}: Allocated
2419DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2420DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2421DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2422DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2423DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2424DLGLOBAL DEBUG test(other){alive}: Allocated
2425DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
2426DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
2427DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
2428DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
2429DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
2430DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
2431DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
2432DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
2433DLGLOBAL DEBUG ------ before term cascade, got:
2434DLGLOBAL DEBUG root
2435DLGLOBAL DEBUG _branch0
2436DLGLOBAL DEBUG __twig0a
2437DLGLOBAL DEBUG __twig0b
2438DLGLOBAL DEBUG _branch1
2439DLGLOBAL DEBUG __twig1a
2440DLGLOBAL DEBUG __twig1b
2441DLGLOBAL DEBUG other
2442DLGLOBAL DEBUG ---
2443DLGLOBAL DEBUG --- term at root
2444DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2445DLGLOBAL DEBUG test(root){alive}: pre_term()
2446DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
2447DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
2448DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
2449DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
2450DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
2451DLGLOBAL DEBUG 1 (__twig1b.cleanup())
2452DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
2453DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002454DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002455DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
2456DLGLOBAL DEBUG 0 (-)
2457DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance
2458DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
2459DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
2460DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
2461DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
2462DLGLOBAL DEBUG 1 (__twig1a.cleanup())
2463DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
2464DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
2465DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002466DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
2467DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002468DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
2469DLGLOBAL DEBUG 0 (-)
2470DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance
2471DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated
2472DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
2473DLGLOBAL DEBUG 1 (_branch1.cleanup())
2474DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
2475DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
2476DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
2477DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
2478DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
2479DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
2480DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
2481DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
2482DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
2483DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2484DLGLOBAL DEBUG test(other){alive}: pre_term()
2485DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
2486DLGLOBAL DEBUG test(other){alive}: cleanup()
2487DLGLOBAL DEBUG test(other){alive}: scene forgets other
2488DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
2489DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
2490DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2491DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
2492DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
2493DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
2494DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2495DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2496DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
2497DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
2498DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
2499DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
2500DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
2501DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
2502DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002503DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002504DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
2505DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2506DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance
2507DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
2508DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
2509DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
2510DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
2511DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
2512DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
2513DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
2514DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002515DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
2516DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002517DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
2518DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2519DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance
2520DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
2521DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
2522DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
2523DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
2524DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002525DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002526DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
2527DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2528DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance
2529DLGLOBAL DEBUG test(_branch0){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002530DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002531DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
2532DLGLOBAL DEBUG test(other){alive}: cleanup() done
2533DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
2534DLGLOBAL DEBUG test(other){alive}: Freeing instance
2535DLGLOBAL DEBUG test(other){alive}: Deallocated
2536DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002537DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002538DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
2539DLGLOBAL DEBUG 0 (-)
2540DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance
2541DLGLOBAL DEBUG test(_branch1){alive}: Deallocated
2542DLGLOBAL DEBUG 1 (root.cleanup())
2543DLGLOBAL DEBUG test(root){alive}: cleanup()
2544DLGLOBAL DEBUG test(root){alive}: scene forgets root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002545DLGLOBAL DEBUG test(root){alive}: removing reference root.other[0] -> __twig1a
2546DLGLOBAL DEBUG test(__twig1a){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002547DLGLOBAL DEBUG test(root){alive}: cleanup() done
2548DLGLOBAL DEBUG 0 (-)
2549DLGLOBAL DEBUG test(root){alive}: Freeing instance
2550DLGLOBAL DEBUG test(root){alive}: Deallocated
2551DLGLOBAL DEBUG --- after term cascade:
2552DLGLOBAL DEBUG --- all deallocated.
2553*** loop_ctx contains 33 blocks, deallocating.
2554DLGLOBAL DEBUG scene_alloc()
2555DLGLOBAL DEBUG test(root){alive}: Allocated
2556DLGLOBAL DEBUG test(root){alive}: Allocated
2557DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2558DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2559DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2560DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2561DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2562DLGLOBAL DEBUG test(root){alive}: Allocated
2563DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2564DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2565DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2566DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2567DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2568DLGLOBAL DEBUG test(other){alive}: Allocated
2569DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
2570DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
2571DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
2572DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
2573DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
2574DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
2575DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
2576DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
2577DLGLOBAL DEBUG ------ before destroy-event cascade, got:
2578DLGLOBAL DEBUG root
2579DLGLOBAL DEBUG _branch0
2580DLGLOBAL DEBUG __twig0a
2581DLGLOBAL DEBUG __twig0b
2582DLGLOBAL DEBUG _branch1
2583DLGLOBAL DEBUG __twig1a
2584DLGLOBAL DEBUG __twig1b
2585DLGLOBAL DEBUG other
2586DLGLOBAL DEBUG ---
2587DLGLOBAL DEBUG --- destroy-event at root
2588DLGLOBAL DEBUG test(root){alive}: Received Event EV_DESTROY
2589DLGLOBAL DEBUG 1 (root.alive())
2590DLGLOBAL DEBUG test(root){alive}: alive(EV_DESTROY)
2591DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2592DLGLOBAL DEBUG test(root){alive}: pre_term()
2593DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
2594DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
2595DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
2596DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
2597DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
2598DLGLOBAL DEBUG 2 (root.alive(),__twig1b.cleanup())
2599DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
2600DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002601DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002602DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
2603DLGLOBAL DEBUG 1 (root.alive())
2604DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance
2605DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
2606DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
2607DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
2608DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
2609DLGLOBAL DEBUG 2 (root.alive(),__twig1a.cleanup())
2610DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
2611DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
2612DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002613DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
2614DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002615DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
2616DLGLOBAL DEBUG 1 (root.alive())
2617DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance
2618DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated
2619DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
2620DLGLOBAL DEBUG 2 (root.alive(),_branch1.cleanup())
2621DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
2622DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
2623DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
2624DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
2625DLGLOBAL DEBUG 3 (root.alive(),_branch1.cleanup(),other.alive())
2626DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
2627DLGLOBAL DEBUG 4 (root.alive(),_branch1.cleanup(),other.alive(),other.other_gone())
2628DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
2629DLGLOBAL DEBUG 3 (root.alive(),_branch1.cleanup(),other.alive())
2630DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2631DLGLOBAL DEBUG test(other){alive}: pre_term()
2632DLGLOBAL DEBUG 4 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
2633DLGLOBAL DEBUG test(other){alive}: cleanup()
2634DLGLOBAL DEBUG test(other){alive}: scene forgets other
2635DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
2636DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
2637DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2638DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
2639DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
2640DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
2641DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2642DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2643DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
2644DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
2645DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
2646DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
2647DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
2648DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
2649DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002650DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002651DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
2652DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2653DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance
2654DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
2655DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
2656DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
2657DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
2658DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
2659DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
2660DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
2661DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002662DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
2663DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002664DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
2665DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2666DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance
2667DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
2668DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
2669DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
2670DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
2671DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002672DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002673DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
2674DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
2675DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance
2676DLGLOBAL DEBUG test(_branch0){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002677DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002678DLGLOBAL DEBUG 4 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
2679DLGLOBAL DEBUG test(other){alive}: cleanup() done
2680DLGLOBAL DEBUG 3 (root.alive(),_branch1.cleanup(),other.alive())
2681DLGLOBAL DEBUG test(other){alive}: Freeing instance
2682DLGLOBAL DEBUG test(other){alive}: Deallocated
2683DLGLOBAL DEBUG 2 (root.alive(),_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002684DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002685DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
2686DLGLOBAL DEBUG 1 (root.alive())
2687DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance
2688DLGLOBAL DEBUG test(_branch1){alive}: Deallocated
2689DLGLOBAL DEBUG 2 (root.alive(),root.cleanup())
2690DLGLOBAL DEBUG test(root){alive}: cleanup()
2691DLGLOBAL DEBUG test(root){alive}: scene forgets root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002692DLGLOBAL DEBUG test(root){alive}: removing reference root.other[0] -> __twig1a
2693DLGLOBAL DEBUG test(__twig1a){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002694DLGLOBAL DEBUG test(root){alive}: cleanup() done
2695DLGLOBAL DEBUG 1 (root.alive())
2696DLGLOBAL DEBUG test(root){alive}: Freeing instance
2697DLGLOBAL DEBUG test(root){alive}: Deallocated
2698DLGLOBAL DEBUG 0 (-)
2699DLGLOBAL DEBUG --- after destroy-event cascade:
2700DLGLOBAL DEBUG --- all deallocated.
2701*** loop_ctx contains 33 blocks, deallocating.
2702DLGLOBAL DEBUG scene_alloc()
2703DLGLOBAL DEBUG test(root){alive}: Allocated
2704DLGLOBAL DEBUG test(root){alive}: Allocated
2705DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2706DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2707DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2708DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2709DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2710DLGLOBAL DEBUG test(root){alive}: Allocated
2711DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2712DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2713DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2714DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2715DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2716DLGLOBAL DEBUG test(other){alive}: Allocated
2717DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
2718DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
2719DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
2720DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
2721DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
2722DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
2723DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
2724DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
2725DLGLOBAL DEBUG ------ before term cascade, got:
2726DLGLOBAL DEBUG root
2727DLGLOBAL DEBUG _branch0
2728DLGLOBAL DEBUG __twig0a
2729DLGLOBAL DEBUG __twig0b
2730DLGLOBAL DEBUG _branch1
2731DLGLOBAL DEBUG __twig1a
2732DLGLOBAL DEBUG __twig1b
2733DLGLOBAL DEBUG other
2734DLGLOBAL DEBUG ---
2735DLGLOBAL DEBUG --- term at _branch0
2736DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2737DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
2738DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
2739DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
2740DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
2741DLGLOBAL DEBUG 1 (__twig0b.cleanup())
2742DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
2743DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002744DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002745DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
2746DLGLOBAL DEBUG 0 (-)
2747DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance
2748DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
2749DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
2750DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
2751DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
2752DLGLOBAL DEBUG 1 (__twig0a.cleanup())
2753DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
2754DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
2755DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
2756DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
2757DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive())
2758DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
2759DLGLOBAL DEBUG 3 (__twig0a.cleanup(),other.alive(),other.other_gone())
2760DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive())
2761DLGLOBAL DEBUG 1 (__twig0a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002762DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002763DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
2764DLGLOBAL DEBUG 0 (-)
2765DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance
2766DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
2767DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
2768DLGLOBAL DEBUG 1 (_branch0.cleanup())
2769DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
2770DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
2771DLGLOBAL DEBUG test(_branch0){alive}: removing reference _branch0.other[0] -> other
2772DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
2773DLGLOBAL DEBUG 2 (_branch0.cleanup(),other.alive())
2774DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
2775DLGLOBAL DEBUG 3 (_branch0.cleanup(),other.alive(),other.other_gone())
2776DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[0] = _branch0
2777DLGLOBAL DEBUG 2 (_branch0.cleanup(),other.alive())
2778DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2779DLGLOBAL DEBUG test(other){alive}: pre_term()
2780DLGLOBAL DEBUG 3 (_branch0.cleanup(),other.alive(),other.cleanup())
2781DLGLOBAL DEBUG test(other){alive}: cleanup()
2782DLGLOBAL DEBUG test(other){alive}: scene forgets other
2783DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1
2784DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE
2785DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
2786DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE)
2787DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.other_gone())
2788DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other
2789DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
2790DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2791DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
2792DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
2793DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
2794DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
2795DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup())
2796DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
2797DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002798DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002799DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
2800DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
2801DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance
2802DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
2803DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
2804DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
2805DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
2806DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
2807DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
2808DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
2809DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
2810DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
2811DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
2812DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
2813DLGLOBAL DEBUG 7 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone())
2814DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
2815DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
2816DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2817DLGLOBAL DEBUG test(root){alive}: pre_term()
2818DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
2819DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck
2820DLGLOBAL DEBUG 7 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup())
2821DLGLOBAL DEBUG test(root){alive}: cleanup()
2822DLGLOBAL DEBUG test(root){alive}: scene forgets root
2823DLGLOBAL DEBUG test(root){alive}: cleanup() done
2824DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
2825DLGLOBAL DEBUG test(root){alive}: Freeing instance
2826DLGLOBAL DEBUG test(root){alive}: Deallocated
2827DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002828DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002829DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
2830DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
2831DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance
2832DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated
2833DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
2834DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup())
2835DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
2836DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002837DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002838DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
2839DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
2840DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance
2841DLGLOBAL DEBUG test(_branch1){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002842DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002843DLGLOBAL DEBUG 3 (_branch0.cleanup(),other.alive(),other.cleanup())
2844DLGLOBAL DEBUG test(other){alive}: cleanup() done
2845DLGLOBAL DEBUG 2 (_branch0.cleanup(),other.alive())
2846DLGLOBAL DEBUG test(other){alive}: Freeing instance
2847DLGLOBAL DEBUG test(other){alive}: Deallocated
2848DLGLOBAL DEBUG 1 (_branch0.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002849DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002850DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
2851DLGLOBAL DEBUG 0 (-)
2852DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance
2853DLGLOBAL DEBUG test(_branch0){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002854DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002855DLGLOBAL DEBUG --- after term cascade:
2856DLGLOBAL DEBUG --- all deallocated.
2857*** loop_ctx contains 33 blocks, deallocating.
2858DLGLOBAL DEBUG scene_alloc()
2859DLGLOBAL DEBUG test(root){alive}: Allocated
2860DLGLOBAL DEBUG test(root){alive}: Allocated
2861DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2862DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2863DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2864DLGLOBAL DEBUG test(_branch0){alive}: Allocated
2865DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
2866DLGLOBAL DEBUG test(root){alive}: Allocated
2867DLGLOBAL DEBUG test(root){alive}: is child of test(root)
2868DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2869DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2870DLGLOBAL DEBUG test(_branch1){alive}: Allocated
2871DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
2872DLGLOBAL DEBUG test(other){alive}: Allocated
2873DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
2874DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
2875DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
2876DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
2877DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
2878DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
2879DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
2880DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
2881DLGLOBAL DEBUG ------ before destroy-event cascade, got:
2882DLGLOBAL DEBUG root
2883DLGLOBAL DEBUG _branch0
2884DLGLOBAL DEBUG __twig0a
2885DLGLOBAL DEBUG __twig0b
2886DLGLOBAL DEBUG _branch1
2887DLGLOBAL DEBUG __twig1a
2888DLGLOBAL DEBUG __twig1b
2889DLGLOBAL DEBUG other
2890DLGLOBAL DEBUG ---
2891DLGLOBAL DEBUG --- destroy-event at _branch0
2892DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_DESTROY
2893DLGLOBAL DEBUG 1 (_branch0.alive())
2894DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_DESTROY)
2895DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2896DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
2897DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
2898DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
2899DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
2900DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0b.cleanup())
2901DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
2902DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002903DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002904DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
2905DLGLOBAL DEBUG 1 (_branch0.alive())
2906DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance
2907DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
2908DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
2909DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
2910DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
2911DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0a.cleanup())
2912DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
2913DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
2914DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
2915DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
2916DLGLOBAL DEBUG 3 (_branch0.alive(),__twig0a.cleanup(),other.alive())
2917DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
2918DLGLOBAL DEBUG 4 (_branch0.alive(),__twig0a.cleanup(),other.alive(),other.other_gone())
2919DLGLOBAL DEBUG 3 (_branch0.alive(),__twig0a.cleanup(),other.alive())
2920DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002921DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002922DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
2923DLGLOBAL DEBUG 1 (_branch0.alive())
2924DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance
2925DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
2926DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
2927DLGLOBAL DEBUG 2 (_branch0.alive(),_branch0.cleanup())
2928DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
2929DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
2930DLGLOBAL DEBUG test(_branch0){alive}: removing reference _branch0.other[0] -> other
2931DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
2932DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),other.alive())
2933DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
2934DLGLOBAL DEBUG 4 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.other_gone())
2935DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[0] = _branch0
2936DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),other.alive())
2937DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2938DLGLOBAL DEBUG test(other){alive}: pre_term()
2939DLGLOBAL DEBUG 4 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup())
2940DLGLOBAL DEBUG test(other){alive}: cleanup()
2941DLGLOBAL DEBUG test(other){alive}: scene forgets other
2942DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1
2943DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE
2944DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
2945DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE)
2946DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.other_gone())
2947DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other
2948DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
2949DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2950DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
2951DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
2952DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
2953DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
2954DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup())
2955DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
2956DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002957DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002958DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
2959DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
2960DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance
2961DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
2962DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
2963DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
2964DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
2965DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
2966DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
2967DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
2968DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
2969DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
2970DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
2971DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
2972DLGLOBAL DEBUG 8 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.othe
2973DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
2974DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
2975DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
2976DLGLOBAL DEBUG test(root){alive}: pre_term()
2977DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
2978DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck
2979DLGLOBAL DEBUG 8 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.clea
2980DLGLOBAL DEBUG test(root){alive}: cleanup()
2981DLGLOBAL DEBUG test(root){alive}: scene forgets root
2982DLGLOBAL DEBUG test(root){alive}: cleanup() done
2983DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
2984DLGLOBAL DEBUG test(root){alive}: Freeing instance
2985DLGLOBAL DEBUG test(root){alive}: Deallocated
2986DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002987DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002988DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
2989DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
2990DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance
2991DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated
2992DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
2993DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup())
2994DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
2995DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02002996DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02002997DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
2998DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive())
2999DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance
3000DLGLOBAL DEBUG test(_branch1){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003001DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003002DLGLOBAL DEBUG 4 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup())
3003DLGLOBAL DEBUG test(other){alive}: cleanup() done
3004DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),other.alive())
3005DLGLOBAL DEBUG test(other){alive}: Freeing instance
3006DLGLOBAL DEBUG test(other){alive}: Deallocated
3007DLGLOBAL DEBUG 2 (_branch0.alive(),_branch0.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003008DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003009DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
3010DLGLOBAL DEBUG 1 (_branch0.alive())
3011DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance
3012DLGLOBAL DEBUG test(_branch0){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003013DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003014DLGLOBAL DEBUG 0 (-)
3015DLGLOBAL DEBUG --- after destroy-event cascade:
3016DLGLOBAL DEBUG --- all deallocated.
3017*** loop_ctx contains 33 blocks, deallocating.
3018DLGLOBAL DEBUG scene_alloc()
3019DLGLOBAL DEBUG test(root){alive}: Allocated
3020DLGLOBAL DEBUG test(root){alive}: Allocated
3021DLGLOBAL DEBUG test(root){alive}: is child of test(root)
3022DLGLOBAL DEBUG test(_branch0){alive}: Allocated
3023DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
3024DLGLOBAL DEBUG test(_branch0){alive}: Allocated
3025DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
3026DLGLOBAL DEBUG test(root){alive}: Allocated
3027DLGLOBAL DEBUG test(root){alive}: is child of test(root)
3028DLGLOBAL DEBUG test(_branch1){alive}: Allocated
3029DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
3030DLGLOBAL DEBUG test(_branch1){alive}: Allocated
3031DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
3032DLGLOBAL DEBUG test(other){alive}: Allocated
3033DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
3034DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
3035DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
3036DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
3037DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
3038DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
3039DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
3040DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
3041DLGLOBAL DEBUG ------ before term cascade, got:
3042DLGLOBAL DEBUG root
3043DLGLOBAL DEBUG _branch0
3044DLGLOBAL DEBUG __twig0a
3045DLGLOBAL DEBUG __twig0b
3046DLGLOBAL DEBUG _branch1
3047DLGLOBAL DEBUG __twig1a
3048DLGLOBAL DEBUG __twig1b
3049DLGLOBAL DEBUG other
3050DLGLOBAL DEBUG ---
3051DLGLOBAL DEBUG --- term at __twig0a
3052DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3053DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
3054DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
3055DLGLOBAL DEBUG 1 (__twig0a.cleanup())
3056DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
3057DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
3058DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
3059DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
3060DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive())
3061DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
3062DLGLOBAL DEBUG 3 (__twig0a.cleanup(),other.alive(),other.other_gone())
3063DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive())
3064DLGLOBAL DEBUG 1 (__twig0a.cleanup())
3065DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
3066DLGLOBAL DEBUG 2 (__twig0a.cleanup(),_branch0.alive())
3067DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
3068DLGLOBAL DEBUG 3 (__twig0a.cleanup(),_branch0.alive(),_branch0.child_gone())
3069DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
3070DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[1]
3071DLGLOBAL DEBUG 2 (__twig0a.cleanup(),_branch0.alive())
3072DLGLOBAL DEBUG 1 (__twig0a.cleanup())
3073DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
3074DLGLOBAL DEBUG 0 (-)
3075DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance
3076DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
3077DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
3078DLGLOBAL DEBUG 1 (_branch0.alive())
3079DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
3080DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
3081DLGLOBAL DEBUG 0 (-)
3082DLGLOBAL DEBUG --- after term cascade:
3083DLGLOBAL DEBUG root
3084DLGLOBAL DEBUG _branch0
3085DLGLOBAL DEBUG __twig0b
3086DLGLOBAL DEBUG _branch1
3087DLGLOBAL DEBUG __twig1a
3088DLGLOBAL DEBUG __twig1b
3089DLGLOBAL DEBUG other
3090DLGLOBAL DEBUG --- 7 objects remain. cleaning up
3091*** loop_ctx contains 5 blocks, deallocating.
3092DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR)
3093DLGLOBAL DEBUG test(root){alive}: pre_term()
3094DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3095DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
3096DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3097DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
3098DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
3099DLGLOBAL DEBUG 1 (__twig1b.cleanup())
3100DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
3101DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003102DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003103DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
3104DLGLOBAL DEBUG 0 (-)
3105DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance
3106DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
3107DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3108DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
3109DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
3110DLGLOBAL DEBUG 1 (__twig1a.cleanup())
3111DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
3112DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
3113DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003114DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
3115DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003116DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
3117DLGLOBAL DEBUG 0 (-)
3118DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance
3119DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated
3120DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
3121DLGLOBAL DEBUG 1 (_branch1.cleanup())
3122DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
3123DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
3124DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
3125DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
3126DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
3127DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
3128DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
3129DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
3130DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
3131DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3132DLGLOBAL DEBUG test(other){alive}: pre_term()
3133DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
3134DLGLOBAL DEBUG test(other){alive}: cleanup()
3135DLGLOBAL DEBUG test(other){alive}: scene forgets other
3136DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
3137DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
3138DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3139DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
3140DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
3141DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
3142DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3143DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3144DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
3145DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3146DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
3147DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
3148DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
3149DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
3150DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003151DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003152DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
3153DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3154DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance
3155DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
3156DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
3157DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
3158DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
3159DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003160DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003161DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
3162DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3163DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance
3164DLGLOBAL DEBUG test(_branch0){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003165DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003166DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
3167DLGLOBAL DEBUG test(other){alive}: cleanup() done
3168DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
3169DLGLOBAL DEBUG test(other){alive}: Freeing instance
3170DLGLOBAL DEBUG test(other){alive}: Deallocated
3171DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003172DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003173DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
3174DLGLOBAL DEBUG 0 (-)
3175DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance
3176DLGLOBAL DEBUG test(_branch1){alive}: Deallocated
3177DLGLOBAL DEBUG 1 (root.cleanup())
3178DLGLOBAL DEBUG test(root){alive}: cleanup()
3179DLGLOBAL DEBUG test(root){alive}: scene forgets root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003180DLGLOBAL DEBUG test(root){alive}: removing reference root.other[0] -> __twig1a
3181DLGLOBAL DEBUG test(__twig1a){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003182DLGLOBAL DEBUG test(root){alive}: cleanup() done
3183DLGLOBAL DEBUG 0 (-)
3184DLGLOBAL DEBUG test(root){alive}: Freeing instance
3185DLGLOBAL DEBUG test(root){alive}: Deallocated
3186DLGLOBAL DEBUG scene_alloc()
3187DLGLOBAL DEBUG test(root){alive}: Allocated
3188DLGLOBAL DEBUG test(root){alive}: Allocated
3189DLGLOBAL DEBUG test(root){alive}: is child of test(root)
3190DLGLOBAL DEBUG test(_branch0){alive}: Allocated
3191DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
3192DLGLOBAL DEBUG test(_branch0){alive}: Allocated
3193DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
3194DLGLOBAL DEBUG test(root){alive}: Allocated
3195DLGLOBAL DEBUG test(root){alive}: is child of test(root)
3196DLGLOBAL DEBUG test(_branch1){alive}: Allocated
3197DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
3198DLGLOBAL DEBUG test(_branch1){alive}: Allocated
3199DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
3200DLGLOBAL DEBUG test(other){alive}: Allocated
3201DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
3202DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
3203DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
3204DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
3205DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
3206DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
3207DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
3208DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
3209DLGLOBAL DEBUG ------ before destroy-event cascade, got:
3210DLGLOBAL DEBUG root
3211DLGLOBAL DEBUG _branch0
3212DLGLOBAL DEBUG __twig0a
3213DLGLOBAL DEBUG __twig0b
3214DLGLOBAL DEBUG _branch1
3215DLGLOBAL DEBUG __twig1a
3216DLGLOBAL DEBUG __twig1b
3217DLGLOBAL DEBUG other
3218DLGLOBAL DEBUG ---
3219DLGLOBAL DEBUG --- destroy-event at __twig0a
3220DLGLOBAL DEBUG test(__twig0a){alive}: Received Event EV_DESTROY
3221DLGLOBAL DEBUG 1 (__twig0a.alive())
3222DLGLOBAL DEBUG test(__twig0a){alive}: alive(EV_DESTROY)
3223DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3224DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
3225DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
3226DLGLOBAL DEBUG 2 (__twig0a.alive(),__twig0a.cleanup())
3227DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
3228DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
3229DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
3230DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
3231DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),other.alive())
3232DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
3233DLGLOBAL DEBUG 4 (__twig0a.alive(),__twig0a.cleanup(),other.alive(),other.other_gone())
3234DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),other.alive())
3235DLGLOBAL DEBUG 2 (__twig0a.alive(),__twig0a.cleanup())
3236DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
3237DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),_branch0.alive())
3238DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
3239DLGLOBAL DEBUG 4 (__twig0a.alive(),__twig0a.cleanup(),_branch0.alive(),_branch0.child_gone())
3240DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a
3241DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[1]
3242DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),_branch0.alive())
3243DLGLOBAL DEBUG 2 (__twig0a.alive(),__twig0a.cleanup())
3244DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
3245DLGLOBAL DEBUG 1 (__twig0a.alive())
3246DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance
3247DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
3248DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
3249DLGLOBAL DEBUG 2 (__twig0a.alive(),_branch0.alive())
3250DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
3251DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
3252DLGLOBAL DEBUG 1 (__twig0a.alive())
3253DLGLOBAL DEBUG 0 (-)
3254DLGLOBAL DEBUG --- after destroy-event cascade:
3255DLGLOBAL DEBUG root
3256DLGLOBAL DEBUG _branch0
3257DLGLOBAL DEBUG __twig0b
3258DLGLOBAL DEBUG _branch1
3259DLGLOBAL DEBUG __twig1a
3260DLGLOBAL DEBUG __twig1b
3261DLGLOBAL DEBUG other
3262DLGLOBAL DEBUG --- 7 objects remain. cleaning up
3263*** loop_ctx contains 5 blocks, deallocating.
3264DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR)
3265DLGLOBAL DEBUG test(root){alive}: pre_term()
3266DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3267DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
3268DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3269DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
3270DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
3271DLGLOBAL DEBUG 1 (__twig1b.cleanup())
3272DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
3273DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003274DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003275DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
3276DLGLOBAL DEBUG 0 (-)
3277DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance
3278DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
3279DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3280DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
3281DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
3282DLGLOBAL DEBUG 1 (__twig1a.cleanup())
3283DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
3284DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
3285DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003286DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
3287DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003288DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
3289DLGLOBAL DEBUG 0 (-)
3290DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance
3291DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated
3292DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
3293DLGLOBAL DEBUG 1 (_branch1.cleanup())
3294DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
3295DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
3296DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
3297DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
3298DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
3299DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
3300DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
3301DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
3302DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
3303DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3304DLGLOBAL DEBUG test(other){alive}: pre_term()
3305DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
3306DLGLOBAL DEBUG test(other){alive}: cleanup()
3307DLGLOBAL DEBUG test(other){alive}: scene forgets other
3308DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
3309DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
3310DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3311DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
3312DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
3313DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
3314DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3315DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3316DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
3317DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3318DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
3319DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
3320DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
3321DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
3322DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003323DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003324DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
3325DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3326DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance
3327DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
3328DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
3329DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
3330DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
3331DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003332DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003333DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
3334DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3335DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance
3336DLGLOBAL DEBUG test(_branch0){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003337DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003338DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
3339DLGLOBAL DEBUG test(other){alive}: cleanup() done
3340DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
3341DLGLOBAL DEBUG test(other){alive}: Freeing instance
3342DLGLOBAL DEBUG test(other){alive}: Deallocated
3343DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003344DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003345DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
3346DLGLOBAL DEBUG 0 (-)
3347DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance
3348DLGLOBAL DEBUG test(_branch1){alive}: Deallocated
3349DLGLOBAL DEBUG 1 (root.cleanup())
3350DLGLOBAL DEBUG test(root){alive}: cleanup()
3351DLGLOBAL DEBUG test(root){alive}: scene forgets root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003352DLGLOBAL DEBUG test(root){alive}: removing reference root.other[0] -> __twig1a
3353DLGLOBAL DEBUG test(__twig1a){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003354DLGLOBAL DEBUG test(root){alive}: cleanup() done
3355DLGLOBAL DEBUG 0 (-)
3356DLGLOBAL DEBUG test(root){alive}: Freeing instance
3357DLGLOBAL DEBUG test(root){alive}: Deallocated
3358DLGLOBAL DEBUG scene_alloc()
3359DLGLOBAL DEBUG test(root){alive}: Allocated
3360DLGLOBAL DEBUG test(root){alive}: Allocated
3361DLGLOBAL DEBUG test(root){alive}: is child of test(root)
3362DLGLOBAL DEBUG test(_branch0){alive}: Allocated
3363DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
3364DLGLOBAL DEBUG test(_branch0){alive}: Allocated
3365DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
3366DLGLOBAL DEBUG test(root){alive}: Allocated
3367DLGLOBAL DEBUG test(root){alive}: is child of test(root)
3368DLGLOBAL DEBUG test(_branch1){alive}: Allocated
3369DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
3370DLGLOBAL DEBUG test(_branch1){alive}: Allocated
3371DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
3372DLGLOBAL DEBUG test(other){alive}: Allocated
3373DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
3374DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
3375DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
3376DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
3377DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
3378DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
3379DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
3380DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
3381DLGLOBAL DEBUG ------ before term cascade, got:
3382DLGLOBAL DEBUG root
3383DLGLOBAL DEBUG _branch0
3384DLGLOBAL DEBUG __twig0a
3385DLGLOBAL DEBUG __twig0b
3386DLGLOBAL DEBUG _branch1
3387DLGLOBAL DEBUG __twig1a
3388DLGLOBAL DEBUG __twig1b
3389DLGLOBAL DEBUG other
3390DLGLOBAL DEBUG ---
3391DLGLOBAL DEBUG --- term at __twig0b
3392DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3393DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
3394DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
3395DLGLOBAL DEBUG 1 (__twig0b.cleanup())
3396DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
3397DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
3398DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
3399DLGLOBAL DEBUG 2 (__twig0b.cleanup(),_branch0.alive())
3400DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
3401DLGLOBAL DEBUG 3 (__twig0b.cleanup(),_branch0.alive(),_branch0.child_gone())
3402DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
3403DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0]
3404DLGLOBAL DEBUG 2 (__twig0b.cleanup(),_branch0.alive())
3405DLGLOBAL DEBUG 1 (__twig0b.cleanup())
3406DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
3407DLGLOBAL DEBUG 0 (-)
3408DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance
3409DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
3410DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
3411DLGLOBAL DEBUG 1 (_branch0.alive())
3412DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
3413DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
3414DLGLOBAL DEBUG 0 (-)
3415DLGLOBAL DEBUG --- after term cascade:
3416DLGLOBAL DEBUG root
3417DLGLOBAL DEBUG _branch0
3418DLGLOBAL DEBUG __twig0a
3419DLGLOBAL DEBUG _branch1
3420DLGLOBAL DEBUG __twig1a
3421DLGLOBAL DEBUG __twig1b
3422DLGLOBAL DEBUG other
3423DLGLOBAL DEBUG --- 7 objects remain. cleaning up
3424*** loop_ctx contains 5 blocks, deallocating.
3425DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR)
3426DLGLOBAL DEBUG test(root){alive}: pre_term()
3427DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3428DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
3429DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3430DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
3431DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
3432DLGLOBAL DEBUG 1 (__twig1b.cleanup())
3433DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
3434DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003435DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003436DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
3437DLGLOBAL DEBUG 0 (-)
3438DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance
3439DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
3440DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3441DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
3442DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
3443DLGLOBAL DEBUG 1 (__twig1a.cleanup())
3444DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
3445DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
3446DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003447DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
3448DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003449DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
3450DLGLOBAL DEBUG 0 (-)
3451DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance
3452DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated
3453DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
3454DLGLOBAL DEBUG 1 (_branch1.cleanup())
3455DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
3456DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
3457DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
3458DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
3459DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
3460DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
3461DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
3462DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
3463DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
3464DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3465DLGLOBAL DEBUG test(other){alive}: pre_term()
3466DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
3467DLGLOBAL DEBUG test(other){alive}: cleanup()
3468DLGLOBAL DEBUG test(other){alive}: scene forgets other
3469DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
3470DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
3471DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3472DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
3473DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
3474DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
3475DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3476DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3477DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
3478DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3479DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
3480DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
3481DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
3482DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
3483DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
3484DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003485DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
3486DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003487DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
3488DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3489DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance
3490DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
3491DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
3492DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
3493DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
3494DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003495DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003496DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
3497DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3498DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance
3499DLGLOBAL DEBUG test(_branch0){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003500DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003501DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
3502DLGLOBAL DEBUG test(other){alive}: cleanup() done
3503DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
3504DLGLOBAL DEBUG test(other){alive}: Freeing instance
3505DLGLOBAL DEBUG test(other){alive}: Deallocated
3506DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003507DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003508DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
3509DLGLOBAL DEBUG 0 (-)
3510DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance
3511DLGLOBAL DEBUG test(_branch1){alive}: Deallocated
3512DLGLOBAL DEBUG 1 (root.cleanup())
3513DLGLOBAL DEBUG test(root){alive}: cleanup()
3514DLGLOBAL DEBUG test(root){alive}: scene forgets root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003515DLGLOBAL DEBUG test(root){alive}: removing reference root.other[0] -> __twig1a
3516DLGLOBAL DEBUG test(__twig1a){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003517DLGLOBAL DEBUG test(root){alive}: cleanup() done
3518DLGLOBAL DEBUG 0 (-)
3519DLGLOBAL DEBUG test(root){alive}: Freeing instance
3520DLGLOBAL DEBUG test(root){alive}: Deallocated
3521DLGLOBAL DEBUG scene_alloc()
3522DLGLOBAL DEBUG test(root){alive}: Allocated
3523DLGLOBAL DEBUG test(root){alive}: Allocated
3524DLGLOBAL DEBUG test(root){alive}: is child of test(root)
3525DLGLOBAL DEBUG test(_branch0){alive}: Allocated
3526DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
3527DLGLOBAL DEBUG test(_branch0){alive}: Allocated
3528DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
3529DLGLOBAL DEBUG test(root){alive}: Allocated
3530DLGLOBAL DEBUG test(root){alive}: is child of test(root)
3531DLGLOBAL DEBUG test(_branch1){alive}: Allocated
3532DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
3533DLGLOBAL DEBUG test(_branch1){alive}: Allocated
3534DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
3535DLGLOBAL DEBUG test(other){alive}: Allocated
3536DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
3537DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
3538DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
3539DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
3540DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
3541DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
3542DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
3543DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
3544DLGLOBAL DEBUG ------ before destroy-event cascade, got:
3545DLGLOBAL DEBUG root
3546DLGLOBAL DEBUG _branch0
3547DLGLOBAL DEBUG __twig0a
3548DLGLOBAL DEBUG __twig0b
3549DLGLOBAL DEBUG _branch1
3550DLGLOBAL DEBUG __twig1a
3551DLGLOBAL DEBUG __twig1b
3552DLGLOBAL DEBUG other
3553DLGLOBAL DEBUG ---
3554DLGLOBAL DEBUG --- destroy-event at __twig0b
3555DLGLOBAL DEBUG test(__twig0b){alive}: Received Event EV_DESTROY
3556DLGLOBAL DEBUG 1 (__twig0b.alive())
3557DLGLOBAL DEBUG test(__twig0b){alive}: alive(EV_DESTROY)
3558DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3559DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
3560DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
3561DLGLOBAL DEBUG 2 (__twig0b.alive(),__twig0b.cleanup())
3562DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
3563DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
3564DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
3565DLGLOBAL DEBUG 3 (__twig0b.alive(),__twig0b.cleanup(),_branch0.alive())
3566DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
3567DLGLOBAL DEBUG 4 (__twig0b.alive(),__twig0b.cleanup(),_branch0.alive(),_branch0.child_gone())
3568DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b
3569DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0]
3570DLGLOBAL DEBUG 3 (__twig0b.alive(),__twig0b.cleanup(),_branch0.alive())
3571DLGLOBAL DEBUG 2 (__twig0b.alive(),__twig0b.cleanup())
3572DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
3573DLGLOBAL DEBUG 1 (__twig0b.alive())
3574DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance
3575DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
3576DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE
3577DLGLOBAL DEBUG 2 (__twig0b.alive(),_branch0.alive())
3578DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE)
3579DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
3580DLGLOBAL DEBUG 1 (__twig0b.alive())
3581DLGLOBAL DEBUG 0 (-)
3582DLGLOBAL DEBUG --- after destroy-event cascade:
3583DLGLOBAL DEBUG root
3584DLGLOBAL DEBUG _branch0
3585DLGLOBAL DEBUG __twig0a
3586DLGLOBAL DEBUG _branch1
3587DLGLOBAL DEBUG __twig1a
3588DLGLOBAL DEBUG __twig1b
3589DLGLOBAL DEBUG other
3590DLGLOBAL DEBUG --- 7 objects remain. cleaning up
3591*** loop_ctx contains 5 blocks, deallocating.
3592DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR)
3593DLGLOBAL DEBUG test(root){alive}: pre_term()
3594DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3595DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
3596DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3597DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
3598DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
3599DLGLOBAL DEBUG 1 (__twig1b.cleanup())
3600DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
3601DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003602DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003603DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
3604DLGLOBAL DEBUG 0 (-)
3605DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance
3606DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
3607DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3608DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
3609DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
3610DLGLOBAL DEBUG 1 (__twig1a.cleanup())
3611DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
3612DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
3613DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003614DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
3615DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003616DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
3617DLGLOBAL DEBUG 0 (-)
3618DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance
3619DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated
3620DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
3621DLGLOBAL DEBUG 1 (_branch1.cleanup())
3622DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
3623DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
3624DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
3625DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
3626DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
3627DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
3628DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
3629DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
3630DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
3631DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3632DLGLOBAL DEBUG test(other){alive}: pre_term()
3633DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
3634DLGLOBAL DEBUG test(other){alive}: cleanup()
3635DLGLOBAL DEBUG test(other){alive}: scene forgets other
3636DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
3637DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
3638DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3639DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
3640DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
3641DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
3642DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3643DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3644DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
3645DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3646DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
3647DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
3648DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
3649DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
3650DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
3651DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003652DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
3653DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003654DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
3655DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3656DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance
3657DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
3658DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
3659DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
3660DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
3661DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003662DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003663DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
3664DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3665DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance
3666DLGLOBAL DEBUG test(_branch0){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003667DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003668DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
3669DLGLOBAL DEBUG test(other){alive}: cleanup() done
3670DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
3671DLGLOBAL DEBUG test(other){alive}: Freeing instance
3672DLGLOBAL DEBUG test(other){alive}: Deallocated
3673DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003674DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003675DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
3676DLGLOBAL DEBUG 0 (-)
3677DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance
3678DLGLOBAL DEBUG test(_branch1){alive}: Deallocated
3679DLGLOBAL DEBUG 1 (root.cleanup())
3680DLGLOBAL DEBUG test(root){alive}: cleanup()
3681DLGLOBAL DEBUG test(root){alive}: scene forgets root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003682DLGLOBAL DEBUG test(root){alive}: removing reference root.other[0] -> __twig1a
3683DLGLOBAL DEBUG test(__twig1a){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003684DLGLOBAL DEBUG test(root){alive}: cleanup() done
3685DLGLOBAL DEBUG 0 (-)
3686DLGLOBAL DEBUG test(root){alive}: Freeing instance
3687DLGLOBAL DEBUG test(root){alive}: Deallocated
3688DLGLOBAL DEBUG scene_alloc()
3689DLGLOBAL DEBUG test(root){alive}: Allocated
3690DLGLOBAL DEBUG test(root){alive}: Allocated
3691DLGLOBAL DEBUG test(root){alive}: is child of test(root)
3692DLGLOBAL DEBUG test(_branch0){alive}: Allocated
3693DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
3694DLGLOBAL DEBUG test(_branch0){alive}: Allocated
3695DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
3696DLGLOBAL DEBUG test(root){alive}: Allocated
3697DLGLOBAL DEBUG test(root){alive}: is child of test(root)
3698DLGLOBAL DEBUG test(_branch1){alive}: Allocated
3699DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
3700DLGLOBAL DEBUG test(_branch1){alive}: Allocated
3701DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
3702DLGLOBAL DEBUG test(other){alive}: Allocated
3703DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
3704DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
3705DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
3706DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
3707DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
3708DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
3709DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
3710DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
3711DLGLOBAL DEBUG ------ before term cascade, got:
3712DLGLOBAL DEBUG root
3713DLGLOBAL DEBUG _branch0
3714DLGLOBAL DEBUG __twig0a
3715DLGLOBAL DEBUG __twig0b
3716DLGLOBAL DEBUG _branch1
3717DLGLOBAL DEBUG __twig1a
3718DLGLOBAL DEBUG __twig1b
3719DLGLOBAL DEBUG other
3720DLGLOBAL DEBUG ---
3721DLGLOBAL DEBUG --- term at _branch1
3722DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3723DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
3724DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3725DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
3726DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
3727DLGLOBAL DEBUG 1 (__twig1b.cleanup())
3728DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
3729DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003730DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003731DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
3732DLGLOBAL DEBUG 0 (-)
3733DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance
3734DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
3735DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3736DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
3737DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
3738DLGLOBAL DEBUG 1 (__twig1a.cleanup())
3739DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
3740DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
3741DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
3742DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
3743DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
3744DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
3745DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone())
3746DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
3747DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
3748DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3749DLGLOBAL DEBUG test(root){alive}: pre_term()
3750DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
3751DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck
3752DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.cleanup())
3753DLGLOBAL DEBUG test(root){alive}: cleanup()
3754DLGLOBAL DEBUG test(root){alive}: scene forgets root
3755DLGLOBAL DEBUG test(root){alive}: cleanup() done
3756DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
3757DLGLOBAL DEBUG test(root){alive}: Freeing instance
3758DLGLOBAL DEBUG test(root){alive}: Deallocated
3759DLGLOBAL DEBUG 1 (__twig1a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003760DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003761DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
3762DLGLOBAL DEBUG 0 (-)
3763DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance
3764DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated
3765DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
3766DLGLOBAL DEBUG 1 (_branch1.cleanup())
3767DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
3768DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
3769DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
3770DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
3771DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
3772DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
3773DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
3774DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
3775DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
3776DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3777DLGLOBAL DEBUG test(other){alive}: pre_term()
3778DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
3779DLGLOBAL DEBUG test(other){alive}: cleanup()
3780DLGLOBAL DEBUG test(other){alive}: scene forgets other
3781DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
3782DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
3783DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3784DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
3785DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
3786DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
3787DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3788DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3789DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
3790DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3791DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
3792DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
3793DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
3794DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
3795DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003796DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003797DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
3798DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3799DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance
3800DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
3801DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3802DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
3803DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
3804DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
3805DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
3806DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
3807DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003808DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
3809DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003810DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
3811DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3812DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance
3813DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
3814DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
3815DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
3816DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
3817DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003818DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003819DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
3820DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3821DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance
3822DLGLOBAL DEBUG test(_branch0){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003823DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003824DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
3825DLGLOBAL DEBUG test(other){alive}: cleanup() done
3826DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
3827DLGLOBAL DEBUG test(other){alive}: Freeing instance
3828DLGLOBAL DEBUG test(other){alive}: Deallocated
3829DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003830DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003831DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
3832DLGLOBAL DEBUG 0 (-)
3833DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance
3834DLGLOBAL DEBUG test(_branch1){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003835DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003836DLGLOBAL DEBUG --- after term cascade:
3837DLGLOBAL DEBUG --- all deallocated.
3838*** loop_ctx contains 33 blocks, deallocating.
3839DLGLOBAL DEBUG scene_alloc()
3840DLGLOBAL DEBUG test(root){alive}: Allocated
3841DLGLOBAL DEBUG test(root){alive}: Allocated
3842DLGLOBAL DEBUG test(root){alive}: is child of test(root)
3843DLGLOBAL DEBUG test(_branch0){alive}: Allocated
3844DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
3845DLGLOBAL DEBUG test(_branch0){alive}: Allocated
3846DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
3847DLGLOBAL DEBUG test(root){alive}: Allocated
3848DLGLOBAL DEBUG test(root){alive}: is child of test(root)
3849DLGLOBAL DEBUG test(_branch1){alive}: Allocated
3850DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
3851DLGLOBAL DEBUG test(_branch1){alive}: Allocated
3852DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
3853DLGLOBAL DEBUG test(other){alive}: Allocated
3854DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
3855DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
3856DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
3857DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
3858DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
3859DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
3860DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
3861DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
3862DLGLOBAL DEBUG ------ before destroy-event cascade, got:
3863DLGLOBAL DEBUG root
3864DLGLOBAL DEBUG _branch0
3865DLGLOBAL DEBUG __twig0a
3866DLGLOBAL DEBUG __twig0b
3867DLGLOBAL DEBUG _branch1
3868DLGLOBAL DEBUG __twig1a
3869DLGLOBAL DEBUG __twig1b
3870DLGLOBAL DEBUG other
3871DLGLOBAL DEBUG ---
3872DLGLOBAL DEBUG --- destroy-event at _branch1
3873DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_DESTROY
3874DLGLOBAL DEBUG 1 (_branch1.alive())
3875DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_DESTROY)
3876DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3877DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
3878DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3879DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
3880DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
3881DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1b.cleanup())
3882DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
3883DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003884DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003885DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
3886DLGLOBAL DEBUG 1 (_branch1.alive())
3887DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance
3888DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
3889DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3890DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
3891DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
3892DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1a.cleanup())
3893DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
3894DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
3895DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
3896DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
3897DLGLOBAL DEBUG 3 (_branch1.alive(),__twig1a.cleanup(),root.alive())
3898DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
3899DLGLOBAL DEBUG 4 (_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone())
3900DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
3901DLGLOBAL DEBUG 3 (_branch1.alive(),__twig1a.cleanup(),root.alive())
3902DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3903DLGLOBAL DEBUG test(root){alive}: pre_term()
3904DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
3905DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck
3906DLGLOBAL DEBUG 4 (_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup())
3907DLGLOBAL DEBUG test(root){alive}: cleanup()
3908DLGLOBAL DEBUG test(root){alive}: scene forgets root
3909DLGLOBAL DEBUG test(root){alive}: cleanup() done
3910DLGLOBAL DEBUG 3 (_branch1.alive(),__twig1a.cleanup(),root.alive())
3911DLGLOBAL DEBUG test(root){alive}: Freeing instance
3912DLGLOBAL DEBUG test(root){alive}: Deallocated
3913DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003914DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003915DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
3916DLGLOBAL DEBUG 1 (_branch1.alive())
3917DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance
3918DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated
3919DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
3920DLGLOBAL DEBUG 2 (_branch1.alive(),_branch1.cleanup())
3921DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
3922DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
3923DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
3924DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
3925DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),other.alive())
3926DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
3927DLGLOBAL DEBUG 4 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.other_gone())
3928DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
3929DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),other.alive())
3930DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3931DLGLOBAL DEBUG test(other){alive}: pre_term()
3932DLGLOBAL DEBUG 4 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
3933DLGLOBAL DEBUG test(other){alive}: cleanup()
3934DLGLOBAL DEBUG test(other){alive}: scene forgets other
3935DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
3936DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
3937DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3938DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
3939DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
3940DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
3941DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3942DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
3943DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
3944DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3945DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
3946DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
3947DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
3948DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
3949DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003950DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003951DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
3952DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3953DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance
3954DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
3955DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
3956DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
3957DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
3958DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
3959DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
3960DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
3961DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003962DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
3963DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003964DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
3965DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3966DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance
3967DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
3968DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
3969DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
3970DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
3971DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003972DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003973DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
3974DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
3975DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance
3976DLGLOBAL DEBUG test(_branch0){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003977DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003978DLGLOBAL DEBUG 4 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
3979DLGLOBAL DEBUG test(other){alive}: cleanup() done
3980DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),other.alive())
3981DLGLOBAL DEBUG test(other){alive}: Freeing instance
3982DLGLOBAL DEBUG test(other){alive}: Deallocated
3983DLGLOBAL DEBUG 2 (_branch1.alive(),_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003984DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003985DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
3986DLGLOBAL DEBUG 1 (_branch1.alive())
3987DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance
3988DLGLOBAL DEBUG test(_branch1){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02003989DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02003990DLGLOBAL DEBUG 0 (-)
3991DLGLOBAL DEBUG --- after destroy-event cascade:
3992DLGLOBAL DEBUG --- all deallocated.
3993*** loop_ctx contains 33 blocks, deallocating.
3994DLGLOBAL DEBUG scene_alloc()
3995DLGLOBAL DEBUG test(root){alive}: Allocated
3996DLGLOBAL DEBUG test(root){alive}: Allocated
3997DLGLOBAL DEBUG test(root){alive}: is child of test(root)
3998DLGLOBAL DEBUG test(_branch0){alive}: Allocated
3999DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
4000DLGLOBAL DEBUG test(_branch0){alive}: Allocated
4001DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
4002DLGLOBAL DEBUG test(root){alive}: Allocated
4003DLGLOBAL DEBUG test(root){alive}: is child of test(root)
4004DLGLOBAL DEBUG test(_branch1){alive}: Allocated
4005DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
4006DLGLOBAL DEBUG test(_branch1){alive}: Allocated
4007DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
4008DLGLOBAL DEBUG test(other){alive}: Allocated
4009DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
4010DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
4011DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
4012DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
4013DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
4014DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
4015DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
4016DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
4017DLGLOBAL DEBUG ------ before term cascade, got:
4018DLGLOBAL DEBUG root
4019DLGLOBAL DEBUG _branch0
4020DLGLOBAL DEBUG __twig0a
4021DLGLOBAL DEBUG __twig0b
4022DLGLOBAL DEBUG _branch1
4023DLGLOBAL DEBUG __twig1a
4024DLGLOBAL DEBUG __twig1b
4025DLGLOBAL DEBUG other
4026DLGLOBAL DEBUG ---
4027DLGLOBAL DEBUG --- term at __twig1a
4028DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4029DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
4030DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
4031DLGLOBAL DEBUG 1 (__twig1a.cleanup())
4032DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
4033DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
4034DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
4035DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
4036DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
4037DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
4038DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone())
4039DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
4040DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
4041DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4042DLGLOBAL DEBUG test(root){alive}: pre_term()
4043DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4044DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
4045DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4046DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
4047DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
4048DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),__twig1b.cleanup())
4049DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
4050DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004051DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004052DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
4053DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
4054DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance
4055DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
4056DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
4057DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),_branch1.cleanup())
4058DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
4059DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
4060DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
4061DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
4062DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive())
4063DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
4064DLGLOBAL DEBUG 5 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.other_gone())
4065DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
4066DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive())
4067DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4068DLGLOBAL DEBUG test(other){alive}: pre_term()
4069DLGLOBAL DEBUG 5 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
4070DLGLOBAL DEBUG test(other){alive}: cleanup()
4071DLGLOBAL DEBUG test(other){alive}: scene forgets other
4072DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
4073DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
4074DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4075DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
4076DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
4077DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
4078DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4079DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4080DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
4081DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4082DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
4083DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
4084DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
4085DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
4086DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004087DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004088DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
4089DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4090DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance
4091DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
4092DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4093DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
4094DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
4095DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
4096DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
4097DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
4098DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004099DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
4100DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004101DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
4102DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4103DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance
4104DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
4105DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
4106DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
4107DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
4108DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004109DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004110DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
4111DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4112DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance
4113DLGLOBAL DEBUG test(_branch0){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004114DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004115DLGLOBAL DEBUG 5 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
4116DLGLOBAL DEBUG test(other){alive}: cleanup() done
4117DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive())
4118DLGLOBAL DEBUG test(other){alive}: Freeing instance
4119DLGLOBAL DEBUG test(other){alive}: Deallocated
4120DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004121DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004122DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
4123DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
4124DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance
4125DLGLOBAL DEBUG test(_branch1){alive}: Deallocated
4126DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.cleanup())
4127DLGLOBAL DEBUG test(root){alive}: cleanup()
4128DLGLOBAL DEBUG test(root){alive}: scene forgets root
4129DLGLOBAL DEBUG test(root){alive}: cleanup() done
4130DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive())
4131DLGLOBAL DEBUG test(root){alive}: Freeing instance
4132DLGLOBAL DEBUG test(root){alive}: Deallocated
4133DLGLOBAL DEBUG 1 (__twig1a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004134DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004135DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
4136DLGLOBAL DEBUG 0 (-)
4137DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance
4138DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004139DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004140DLGLOBAL DEBUG --- after term cascade:
4141DLGLOBAL DEBUG --- all deallocated.
4142*** loop_ctx contains 33 blocks, deallocating.
4143DLGLOBAL DEBUG scene_alloc()
4144DLGLOBAL DEBUG test(root){alive}: Allocated
4145DLGLOBAL DEBUG test(root){alive}: Allocated
4146DLGLOBAL DEBUG test(root){alive}: is child of test(root)
4147DLGLOBAL DEBUG test(_branch0){alive}: Allocated
4148DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
4149DLGLOBAL DEBUG test(_branch0){alive}: Allocated
4150DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
4151DLGLOBAL DEBUG test(root){alive}: Allocated
4152DLGLOBAL DEBUG test(root){alive}: is child of test(root)
4153DLGLOBAL DEBUG test(_branch1){alive}: Allocated
4154DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
4155DLGLOBAL DEBUG test(_branch1){alive}: Allocated
4156DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
4157DLGLOBAL DEBUG test(other){alive}: Allocated
4158DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
4159DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
4160DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
4161DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
4162DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
4163DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
4164DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
4165DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
4166DLGLOBAL DEBUG ------ before destroy-event cascade, got:
4167DLGLOBAL DEBUG root
4168DLGLOBAL DEBUG _branch0
4169DLGLOBAL DEBUG __twig0a
4170DLGLOBAL DEBUG __twig0b
4171DLGLOBAL DEBUG _branch1
4172DLGLOBAL DEBUG __twig1a
4173DLGLOBAL DEBUG __twig1b
4174DLGLOBAL DEBUG other
4175DLGLOBAL DEBUG ---
4176DLGLOBAL DEBUG --- destroy-event at __twig1a
4177DLGLOBAL DEBUG test(__twig1a){alive}: Received Event EV_DESTROY
4178DLGLOBAL DEBUG 1 (__twig1a.alive())
4179DLGLOBAL DEBUG test(__twig1a){alive}: alive(EV_DESTROY)
4180DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4181DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
4182DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
4183DLGLOBAL DEBUG 2 (__twig1a.alive(),__twig1a.cleanup())
4184DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
4185DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
4186DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
4187DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
4188DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive())
4189DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
4190DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),root.other_gone())
4191DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
4192DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive())
4193DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4194DLGLOBAL DEBUG test(root){alive}: pre_term()
4195DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4196DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
4197DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4198DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
4199DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
4200DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),__twig1b.cleanup())
4201DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
4202DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004203DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004204DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
4205DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive())
4206DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance
4207DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
4208DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
4209DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup())
4210DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
4211DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
4212DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
4213DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
4214DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive())
4215DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
4216DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.other_gone())
4217DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
4218DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive())
4219DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4220DLGLOBAL DEBUG test(other){alive}: pre_term()
4221DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
4222DLGLOBAL DEBUG test(other){alive}: cleanup()
4223DLGLOBAL DEBUG test(other){alive}: scene forgets other
4224DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
4225DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
4226DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4227DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
4228DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.
4229DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
4230DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4231DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4232DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
4233DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4234DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
4235DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
4236DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.
4237DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
4238DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004239DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004240DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
4241DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4242DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance
4243DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
4244DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4245DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
4246DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
4247DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.
4248DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
4249DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
4250DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004251DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
4252DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004253DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
4254DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4255DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance
4256DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
4257DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
4258DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.
4259DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
4260DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004261DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004262DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
4263DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4264DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance
4265DLGLOBAL DEBUG test(_branch0){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004266DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004267DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup())
4268DLGLOBAL DEBUG test(other){alive}: cleanup() done
4269DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive())
4270DLGLOBAL DEBUG test(other){alive}: Freeing instance
4271DLGLOBAL DEBUG test(other){alive}: Deallocated
4272DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004273DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004274DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
4275DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive())
4276DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance
4277DLGLOBAL DEBUG test(_branch1){alive}: Deallocated
4278DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),root.cleanup())
4279DLGLOBAL DEBUG test(root){alive}: cleanup()
4280DLGLOBAL DEBUG test(root){alive}: scene forgets root
4281DLGLOBAL DEBUG test(root){alive}: cleanup() done
4282DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive())
4283DLGLOBAL DEBUG test(root){alive}: Freeing instance
4284DLGLOBAL DEBUG test(root){alive}: Deallocated
4285DLGLOBAL DEBUG 2 (__twig1a.alive(),__twig1a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004286DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004287DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
4288DLGLOBAL DEBUG 1 (__twig1a.alive())
4289DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance
4290DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004291DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004292DLGLOBAL DEBUG 0 (-)
4293DLGLOBAL DEBUG --- after destroy-event cascade:
4294DLGLOBAL DEBUG --- all deallocated.
4295*** loop_ctx contains 33 blocks, deallocating.
4296DLGLOBAL DEBUG scene_alloc()
4297DLGLOBAL DEBUG test(root){alive}: Allocated
4298DLGLOBAL DEBUG test(root){alive}: Allocated
4299DLGLOBAL DEBUG test(root){alive}: is child of test(root)
4300DLGLOBAL DEBUG test(_branch0){alive}: Allocated
4301DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
4302DLGLOBAL DEBUG test(_branch0){alive}: Allocated
4303DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
4304DLGLOBAL DEBUG test(root){alive}: Allocated
4305DLGLOBAL DEBUG test(root){alive}: is child of test(root)
4306DLGLOBAL DEBUG test(_branch1){alive}: Allocated
4307DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
4308DLGLOBAL DEBUG test(_branch1){alive}: Allocated
4309DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
4310DLGLOBAL DEBUG test(other){alive}: Allocated
4311DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
4312DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
4313DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
4314DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
4315DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
4316DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
4317DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
4318DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
4319DLGLOBAL DEBUG ------ before term cascade, got:
4320DLGLOBAL DEBUG root
4321DLGLOBAL DEBUG _branch0
4322DLGLOBAL DEBUG __twig0a
4323DLGLOBAL DEBUG __twig0b
4324DLGLOBAL DEBUG _branch1
4325DLGLOBAL DEBUG __twig1a
4326DLGLOBAL DEBUG __twig1b
4327DLGLOBAL DEBUG other
4328DLGLOBAL DEBUG ---
4329DLGLOBAL DEBUG --- term at __twig1b
4330DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4331DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
4332DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
4333DLGLOBAL DEBUG 1 (__twig1b.cleanup())
4334DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
4335DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
4336DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
4337DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive())
4338DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
4339DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone())
4340DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
4341DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
4342DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive())
4343DLGLOBAL DEBUG 1 (__twig1b.cleanup())
4344DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
4345DLGLOBAL DEBUG 0 (-)
4346DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance
4347DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
4348DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
4349DLGLOBAL DEBUG 1 (_branch1.alive())
4350DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
4351DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
4352DLGLOBAL DEBUG 0 (-)
4353DLGLOBAL DEBUG --- after term cascade:
4354DLGLOBAL DEBUG root
4355DLGLOBAL DEBUG _branch0
4356DLGLOBAL DEBUG __twig0a
4357DLGLOBAL DEBUG __twig0b
4358DLGLOBAL DEBUG _branch1
4359DLGLOBAL DEBUG __twig1a
4360DLGLOBAL DEBUG other
4361DLGLOBAL DEBUG --- 7 objects remain. cleaning up
4362*** loop_ctx contains 5 blocks, deallocating.
4363DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR)
4364DLGLOBAL DEBUG test(root){alive}: pre_term()
4365DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4366DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
4367DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4368DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
4369DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
4370DLGLOBAL DEBUG 1 (__twig1a.cleanup())
4371DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
4372DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
4373DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004374DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
4375DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004376DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
4377DLGLOBAL DEBUG 0 (-)
4378DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance
4379DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated
4380DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
4381DLGLOBAL DEBUG 1 (_branch1.cleanup())
4382DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
4383DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
4384DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
4385DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
4386DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
4387DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
4388DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
4389DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
4390DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
4391DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4392DLGLOBAL DEBUG test(other){alive}: pre_term()
4393DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
4394DLGLOBAL DEBUG test(other){alive}: cleanup()
4395DLGLOBAL DEBUG test(other){alive}: scene forgets other
4396DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
4397DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
4398DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4399DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
4400DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
4401DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
4402DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4403DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4404DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
4405DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4406DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
4407DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
4408DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
4409DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
4410DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004411DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004412DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
4413DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4414DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance
4415DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
4416DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4417DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
4418DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
4419DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
4420DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
4421DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
4422DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004423DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
4424DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004425DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
4426DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4427DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance
4428DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
4429DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
4430DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
4431DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
4432DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004433DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004434DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
4435DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4436DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance
4437DLGLOBAL DEBUG test(_branch0){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004438DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004439DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
4440DLGLOBAL DEBUG test(other){alive}: cleanup() done
4441DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
4442DLGLOBAL DEBUG test(other){alive}: Freeing instance
4443DLGLOBAL DEBUG test(other){alive}: Deallocated
4444DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004445DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004446DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
4447DLGLOBAL DEBUG 0 (-)
4448DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance
4449DLGLOBAL DEBUG test(_branch1){alive}: Deallocated
4450DLGLOBAL DEBUG 1 (root.cleanup())
4451DLGLOBAL DEBUG test(root){alive}: cleanup()
4452DLGLOBAL DEBUG test(root){alive}: scene forgets root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004453DLGLOBAL DEBUG test(root){alive}: removing reference root.other[0] -> __twig1a
4454DLGLOBAL DEBUG test(__twig1a){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004455DLGLOBAL DEBUG test(root){alive}: cleanup() done
4456DLGLOBAL DEBUG 0 (-)
4457DLGLOBAL DEBUG test(root){alive}: Freeing instance
4458DLGLOBAL DEBUG test(root){alive}: Deallocated
4459DLGLOBAL DEBUG scene_alloc()
4460DLGLOBAL DEBUG test(root){alive}: Allocated
4461DLGLOBAL DEBUG test(root){alive}: Allocated
4462DLGLOBAL DEBUG test(root){alive}: is child of test(root)
4463DLGLOBAL DEBUG test(_branch0){alive}: Allocated
4464DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
4465DLGLOBAL DEBUG test(_branch0){alive}: Allocated
4466DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
4467DLGLOBAL DEBUG test(root){alive}: Allocated
4468DLGLOBAL DEBUG test(root){alive}: is child of test(root)
4469DLGLOBAL DEBUG test(_branch1){alive}: Allocated
4470DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
4471DLGLOBAL DEBUG test(_branch1){alive}: Allocated
4472DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
4473DLGLOBAL DEBUG test(other){alive}: Allocated
4474DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
4475DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
4476DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
4477DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
4478DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
4479DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
4480DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
4481DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
4482DLGLOBAL DEBUG ------ before destroy-event cascade, got:
4483DLGLOBAL DEBUG root
4484DLGLOBAL DEBUG _branch0
4485DLGLOBAL DEBUG __twig0a
4486DLGLOBAL DEBUG __twig0b
4487DLGLOBAL DEBUG _branch1
4488DLGLOBAL DEBUG __twig1a
4489DLGLOBAL DEBUG __twig1b
4490DLGLOBAL DEBUG other
4491DLGLOBAL DEBUG ---
4492DLGLOBAL DEBUG --- destroy-event at __twig1b
4493DLGLOBAL DEBUG test(__twig1b){alive}: Received Event EV_DESTROY
4494DLGLOBAL DEBUG 1 (__twig1b.alive())
4495DLGLOBAL DEBUG test(__twig1b){alive}: alive(EV_DESTROY)
4496DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4497DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
4498DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
4499DLGLOBAL DEBUG 2 (__twig1b.alive(),__twig1b.cleanup())
4500DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
4501DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
4502DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
4503DLGLOBAL DEBUG 3 (__twig1b.alive(),__twig1b.cleanup(),_branch1.alive())
4504DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
4505DLGLOBAL DEBUG 4 (__twig1b.alive(),__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone())
4506DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b
4507DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0]
4508DLGLOBAL DEBUG 3 (__twig1b.alive(),__twig1b.cleanup(),_branch1.alive())
4509DLGLOBAL DEBUG 2 (__twig1b.alive(),__twig1b.cleanup())
4510DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
4511DLGLOBAL DEBUG 1 (__twig1b.alive())
4512DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance
4513DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
4514DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE
4515DLGLOBAL DEBUG 2 (__twig1b.alive(),_branch1.alive())
4516DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE)
4517DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
4518DLGLOBAL DEBUG 1 (__twig1b.alive())
4519DLGLOBAL DEBUG 0 (-)
4520DLGLOBAL DEBUG --- after destroy-event cascade:
4521DLGLOBAL DEBUG root
4522DLGLOBAL DEBUG _branch0
4523DLGLOBAL DEBUG __twig0a
4524DLGLOBAL DEBUG __twig0b
4525DLGLOBAL DEBUG _branch1
4526DLGLOBAL DEBUG __twig1a
4527DLGLOBAL DEBUG other
4528DLGLOBAL DEBUG --- 7 objects remain. cleaning up
4529*** loop_ctx contains 5 blocks, deallocating.
4530DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR)
4531DLGLOBAL DEBUG test(root){alive}: pre_term()
4532DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4533DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
4534DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4535DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
4536DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
4537DLGLOBAL DEBUG 1 (__twig1a.cleanup())
4538DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
4539DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
4540DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004541DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
4542DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004543DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
4544DLGLOBAL DEBUG 0 (-)
4545DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance
4546DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated
4547DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
4548DLGLOBAL DEBUG 1 (_branch1.cleanup())
4549DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
4550DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
4551DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other
4552DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE
4553DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
4554DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE)
4555DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone())
4556DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1
4557DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
4558DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4559DLGLOBAL DEBUG test(other){alive}: pre_term()
4560DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
4561DLGLOBAL DEBUG test(other){alive}: cleanup()
4562DLGLOBAL DEBUG test(other){alive}: scene forgets other
4563DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
4564DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
4565DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4566DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
4567DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
4568DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
4569DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4570DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4571DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
4572DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4573DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
4574DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
4575DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
4576DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
4577DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004578DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004579DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
4580DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4581DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance
4582DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
4583DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4584DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
4585DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
4586DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
4587DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
4588DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
4589DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004590DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
4591DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004592DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
4593DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4594DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance
4595DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
4596DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
4597DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
4598DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
4599DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004600DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004601DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
4602DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive())
4603DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance
4604DLGLOBAL DEBUG test(_branch0){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004605DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004606DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup())
4607DLGLOBAL DEBUG test(other){alive}: cleanup() done
4608DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive())
4609DLGLOBAL DEBUG test(other){alive}: Freeing instance
4610DLGLOBAL DEBUG test(other){alive}: Deallocated
4611DLGLOBAL DEBUG 1 (_branch1.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004612DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004613DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
4614DLGLOBAL DEBUG 0 (-)
4615DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance
4616DLGLOBAL DEBUG test(_branch1){alive}: Deallocated
4617DLGLOBAL DEBUG 1 (root.cleanup())
4618DLGLOBAL DEBUG test(root){alive}: cleanup()
4619DLGLOBAL DEBUG test(root){alive}: scene forgets root
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004620DLGLOBAL DEBUG test(root){alive}: removing reference root.other[0] -> __twig1a
4621DLGLOBAL DEBUG test(__twig1a){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004622DLGLOBAL DEBUG test(root){alive}: cleanup() done
4623DLGLOBAL DEBUG 0 (-)
4624DLGLOBAL DEBUG test(root){alive}: Freeing instance
4625DLGLOBAL DEBUG test(root){alive}: Deallocated
4626DLGLOBAL DEBUG scene_alloc()
4627DLGLOBAL DEBUG test(root){alive}: Allocated
4628DLGLOBAL DEBUG test(root){alive}: Allocated
4629DLGLOBAL DEBUG test(root){alive}: is child of test(root)
4630DLGLOBAL DEBUG test(_branch0){alive}: Allocated
4631DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
4632DLGLOBAL DEBUG test(_branch0){alive}: Allocated
4633DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
4634DLGLOBAL DEBUG test(root){alive}: Allocated
4635DLGLOBAL DEBUG test(root){alive}: is child of test(root)
4636DLGLOBAL DEBUG test(_branch1){alive}: Allocated
4637DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
4638DLGLOBAL DEBUG test(_branch1){alive}: Allocated
4639DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
4640DLGLOBAL DEBUG test(other){alive}: Allocated
4641DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
4642DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
4643DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
4644DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
4645DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
4646DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
4647DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
4648DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
4649DLGLOBAL DEBUG ------ before term cascade, got:
4650DLGLOBAL DEBUG root
4651DLGLOBAL DEBUG _branch0
4652DLGLOBAL DEBUG __twig0a
4653DLGLOBAL DEBUG __twig0b
4654DLGLOBAL DEBUG _branch1
4655DLGLOBAL DEBUG __twig1a
4656DLGLOBAL DEBUG __twig1b
4657DLGLOBAL DEBUG other
4658DLGLOBAL DEBUG ---
4659DLGLOBAL DEBUG --- term at other
4660DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4661DLGLOBAL DEBUG test(other){alive}: pre_term()
4662DLGLOBAL DEBUG 1 (other.cleanup())
4663DLGLOBAL DEBUG test(other){alive}: cleanup()
4664DLGLOBAL DEBUG test(other){alive}: scene forgets other
4665DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
4666DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
4667DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive())
4668DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
4669DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),_branch0.other_gone())
4670DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
4671DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive())
4672DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4673DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
4674DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4675DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
4676DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
4677DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),__twig0b.cleanup())
4678DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
4679DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004680DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004681DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
4682DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive())
4683DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance
4684DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
4685DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4686DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
4687DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
4688DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),__twig0a.cleanup())
4689DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
4690DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
4691DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004692DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
4693DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004694DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
4695DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive())
4696DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance
4697DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
4698DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
4699DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),_branch0.cleanup())
4700DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
4701DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
4702DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
4703DLGLOBAL DEBUG 4 (other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
4704DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
4705DLGLOBAL DEBUG 5 (other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone())
4706DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
4707DLGLOBAL DEBUG test(root){alive}: still exists: child[1]
4708DLGLOBAL DEBUG 4 (other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
4709DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),_branch0.cleanup())
4710DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
4711DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive())
4712DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance
4713DLGLOBAL DEBUG test(_branch0){alive}: Deallocated
4714DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
4715DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),root.alive())
4716DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
4717DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
4718DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive())
4719DLGLOBAL DEBUG 1 (other.cleanup())
4720DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1
4721DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE
4722DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive())
4723DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE)
4724DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),_branch1.other_gone())
4725DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other
4726DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive())
4727DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4728DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
4729DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4730DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
4731DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
4732DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1b.cleanup())
4733DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
4734DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004735DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004736DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
4737DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive())
4738DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance
4739DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
4740DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4741DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
4742DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
4743DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1a.cleanup())
4744DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
4745DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
4746DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
4747DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
4748DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
4749DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
4750DLGLOBAL DEBUG 5 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone())
4751DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
4752DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
4753DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4754DLGLOBAL DEBUG test(root){alive}: pre_term()
4755DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
4756DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck
4757DLGLOBAL DEBUG 5 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup())
4758DLGLOBAL DEBUG test(root){alive}: cleanup()
4759DLGLOBAL DEBUG test(root){alive}: scene forgets root
4760DLGLOBAL DEBUG test(root){alive}: cleanup() done
4761DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
4762DLGLOBAL DEBUG test(root){alive}: Freeing instance
4763DLGLOBAL DEBUG test(root){alive}: Deallocated
4764DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004765DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004766DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
4767DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive())
4768DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance
4769DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated
4770DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
4771DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),_branch1.cleanup())
4772DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
4773DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004774DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004775DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
4776DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive())
4777DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance
4778DLGLOBAL DEBUG test(_branch1){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004779DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004780DLGLOBAL DEBUG 1 (other.cleanup())
4781DLGLOBAL DEBUG test(other){alive}: cleanup() done
4782DLGLOBAL DEBUG 0 (-)
4783DLGLOBAL DEBUG test(other){alive}: Freeing instance
4784DLGLOBAL DEBUG test(other){alive}: Deallocated
4785DLGLOBAL DEBUG --- after term cascade:
4786DLGLOBAL DEBUG --- all deallocated.
4787*** loop_ctx contains 33 blocks, deallocating.
4788DLGLOBAL DEBUG scene_alloc()
4789DLGLOBAL DEBUG test(root){alive}: Allocated
4790DLGLOBAL DEBUG test(root){alive}: Allocated
4791DLGLOBAL DEBUG test(root){alive}: is child of test(root)
4792DLGLOBAL DEBUG test(_branch0){alive}: Allocated
4793DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
4794DLGLOBAL DEBUG test(_branch0){alive}: Allocated
4795DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0)
4796DLGLOBAL DEBUG test(root){alive}: Allocated
4797DLGLOBAL DEBUG test(root){alive}: is child of test(root)
4798DLGLOBAL DEBUG test(_branch1){alive}: Allocated
4799DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
4800DLGLOBAL DEBUG test(_branch1){alive}: Allocated
4801DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1)
4802DLGLOBAL DEBUG test(other){alive}: Allocated
4803DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other
4804DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0
4805DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other
4806DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a
4807DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other
4808DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1
4809DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root
4810DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a
4811DLGLOBAL DEBUG ------ before destroy-event cascade, got:
4812DLGLOBAL DEBUG root
4813DLGLOBAL DEBUG _branch0
4814DLGLOBAL DEBUG __twig0a
4815DLGLOBAL DEBUG __twig0b
4816DLGLOBAL DEBUG _branch1
4817DLGLOBAL DEBUG __twig1a
4818DLGLOBAL DEBUG __twig1b
4819DLGLOBAL DEBUG other
4820DLGLOBAL DEBUG ---
4821DLGLOBAL DEBUG --- destroy-event at other
4822DLGLOBAL DEBUG test(other){alive}: Received Event EV_DESTROY
4823DLGLOBAL DEBUG 1 (other.alive())
4824DLGLOBAL DEBUG test(other){alive}: alive(EV_DESTROY)
4825DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4826DLGLOBAL DEBUG test(other){alive}: pre_term()
4827DLGLOBAL DEBUG 2 (other.alive(),other.cleanup())
4828DLGLOBAL DEBUG test(other){alive}: cleanup()
4829DLGLOBAL DEBUG test(other){alive}: scene forgets other
4830DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0
4831DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE
4832DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive())
4833DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE)
4834DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone())
4835DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other
4836DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive())
4837DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4838DLGLOBAL DEBUG test(_branch0){alive}: pre_term()
4839DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4840DLGLOBAL DEBUG test(__twig0b){alive}: pre_term()
4841DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0)
4842DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup())
4843DLGLOBAL DEBUG test(__twig0b){alive}: cleanup()
4844DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004845DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004846DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done
4847DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive())
4848DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance
4849DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated
4850DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4851DLGLOBAL DEBUG test(__twig0a){alive}: pre_term()
4852DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0)
4853DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup())
4854DLGLOBAL DEBUG test(__twig0a){alive}: cleanup()
4855DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a
4856DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004857DLGLOBAL DEBUG test(other){alive}: FSM instance already terminating, not dispatching event EV_OTHER_GONE
4858DLGLOBAL DEBUG test(_branch0){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004859DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done
4860DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive())
4861DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance
4862DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated
4863DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root)
4864DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
4865DLGLOBAL DEBUG test(_branch0){alive}: cleanup()
4866DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0
4867DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
4868DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
4869DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
4870DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone())
4871DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0
4872DLGLOBAL DEBUG test(root){alive}: still exists: child[1]
4873DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive())
4874DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup())
4875DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done
4876DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive())
4877DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance
4878DLGLOBAL DEBUG test(_branch0){alive}: Deallocated
4879DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE
4880DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),root.alive())
4881DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE)
4882DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.
4883DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive())
4884DLGLOBAL DEBUG 2 (other.alive(),other.cleanup())
4885DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1
4886DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE
4887DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive())
4888DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE)
4889DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.other_gone())
4890DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other
4891DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive())
4892DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4893DLGLOBAL DEBUG test(_branch1){alive}: pre_term()
4894DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4895DLGLOBAL DEBUG test(__twig1b){alive}: pre_term()
4896DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1)
4897DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup())
4898DLGLOBAL DEBUG test(__twig1b){alive}: cleanup()
4899DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004900DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004901DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done
4902DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive())
4903DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance
4904DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated
4905DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT)
4906DLGLOBAL DEBUG test(__twig1a){alive}: pre_term()
4907DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1)
4908DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
4909DLGLOBAL DEBUG test(__twig1a){alive}: cleanup()
4910DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a
4911DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root
4912DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE
4913DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
4914DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE)
4915DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone())
4916DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a
4917DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
4918DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
4919DLGLOBAL DEBUG test(root){alive}: pre_term()
4920DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating
4921DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck
4922DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup())
4923DLGLOBAL DEBUG test(root){alive}: cleanup()
4924DLGLOBAL DEBUG test(root){alive}: scene forgets root
4925DLGLOBAL DEBUG test(root){alive}: cleanup() done
4926DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive())
4927DLGLOBAL DEBUG test(root){alive}: Freeing instance
4928DLGLOBAL DEBUG test(root){alive}: Deallocated
4929DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup())
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004930DLGLOBAL DEBUG test(_branch1){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004931DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done
4932DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive())
4933DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance
4934DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated
4935DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root)
4936DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup())
4937DLGLOBAL DEBUG test(_branch1){alive}: cleanup()
4938DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004939DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004940DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done
4941DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive())
4942DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance
4943DLGLOBAL DEBUG test(_branch1){alive}: Deallocated
Neels Hofmeyrb1bbe242019-10-05 05:13:23 +02004944DLGLOBAL DEBUG test(root){alive}: FSM instance already terminating, not dispatching event EV_CHILD_GONE
Neels Hofmeyr988f6d72019-10-04 20:37:17 +02004945DLGLOBAL DEBUG 2 (other.alive(),other.cleanup())
4946DLGLOBAL DEBUG test(other){alive}: cleanup() done
4947DLGLOBAL DEBUG 1 (other.alive())
4948DLGLOBAL DEBUG test(other){alive}: Freeing instance
4949DLGLOBAL DEBUG test(other){alive}: Deallocated
4950DLGLOBAL DEBUG 0 (-)
4951DLGLOBAL DEBUG --- after destroy-event cascade:
4952DLGLOBAL DEBUG --- all deallocated.
4953*** loop_ctx contains 33 blocks, deallocating.
4954
4955
4956test_osmo_fsm_set_dealloc_ctx() done