godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
90.02k stars 21.1k forks source link

Tweens receive "tween_all_completed" signals from other tween-instances #30585

Closed aburg closed 3 years ago

aburg commented 5 years ago

Godot version: v3.1.1.official.stable

OS/device including version: ubuntu 18.04 LTS

Issue description: New tween instances sometimes receive "tween_all_completed" signals that are NOT meant for them.

A new tween instance should NOT receive old/foreign signals!

Steps to reproduce:

Minimal reproduction project: tween_instance_bug.zip

Workaround: Connect to every icon's "tree_exiting" signal and call "tween.stop_all()" on its tween.

Chaosus commented 4 years ago

I think it's not a bug - just a misuse of the engine. In the provided example tween is not a child of inst so when you free inst the tween will not be freed. When the tween ends the underlying object is already been freed and calling queue_free on an already deleted object is incorrect.

You should add _tween.queuefree() to the __remove_instanceprematurely to fix that.

You could also use "is_instance_valid" method to check whether the instance is valid or not before calling queue_free.

aburg commented 4 years ago

You are right to say that this can and should be prevented, but you did not comment on the actual issue!

This is what I see happen and do absolutely consider an issue:

Would you concur that this would be an issue/bug? Did you observe this happening? If so please notice the timing of the premature removal on the younger tween! It seems like the erroneous signal comes in at exactly the moment the older (already removed) tween should have received it.

Chaosus commented 4 years ago

Alright, I can reopen it - im not tested this in details and I assumed that your issue is fixed by providing sufficient advice, sorry for beign wrong

aburg commented 4 years ago

(Your advice was right for my project's issue! :+1: I thank you for that AND should have done so in my first response! Thx also for reopening, as I believe the engine's issue is indeed unresolved.)

tom-jk commented 4 years ago

Tested the MRP in 3.1.1 on linux mint 18.3

I think I can reproduce this issue.

When I run the MRP as given, the fifth instance will appear briefly then disappear, then when the empty space reaches the end, the game may:

If the game carries on, the new empty space will reach the end at which point there is again a random chance of error, and so on.

For testing I've added this at line 31:

prints("new instance #", "%3.0d"%(instance_number), "-", inst, tween, path_follow)

And this as the first line in _on_tweens_completed:

prints("ontweenscompleted: ", inst, tween, path_follow)

(I also set path_time to 3 and timer wait time to 0.1 to speed things up)

Output after a run of a game that went about four turns before producing an error, with annotations:

click to view (long) ``` ** Debug Process Started ** OpenGL ES 3.0 Renderer: GeForce GTX 750 Ti/PCIe/SSE2 new instance # 1 - [Sprite:1150] [Tween:1152] [PathFollow2D:1151] new instance # 2 - [Sprite:1153] [Tween:1155] [PathFollow2D:1154] new instance # 3 - [Sprite:1156] [Tween:1158] [PathFollow2D:1157] new instance # 4 - [Sprite:1159] [Tween:1161] [PathFollow2D:1160] new instance # 5 - [Sprite:1162] [Tween:1164] [PathFollow2D:1163] removing instance prematurely!! << #5 sprite removed new instance # 6 - [Sprite:1167] [Tween:1169] [PathFollow2D:1168] new instance # 7 - [Sprite:1170] [Tween:1172] [PathFollow2D:1171] new instance # 8 - [Sprite:1173] [Tween:1175] [PathFollow2D:1174] new instance # 9 - [Sprite:1176] [Tween:1178] [PathFollow2D:1177] new instance # 10 - [Sprite:1179] [Tween:1181] [PathFollow2D:1180] new instance # 11 - [Sprite:1182] [Tween:1184] [PathFollow2D:1183] new instance # 12 - [Sprite:1185] [Tween:1187] [PathFollow2D:1186] new instance # 13 - [Sprite:1188] [Tween:1190] [PathFollow2D:1189] new instance # 14 - [Sprite:1191] [Tween:1193] [PathFollow2D:1192] new instance # 15 - [Sprite:1194] [Tween:1196] [PathFollow2D:1195] new instance # 16 - [Sprite:1197] [Tween:1199] [PathFollow2D:1198] new instance # 17 - [Sprite:1200] [Tween:1202] [PathFollow2D:1201] new instance # 18 - [Sprite:1203] [Tween:1205] [PathFollow2D:1204] new instance # 19 - [Sprite:1206] [Tween:1208] [PathFollow2D:1207] new instance # 20 - [Sprite:1209] [Tween:1211] [PathFollow2D:1210] new instance # 21 - [Sprite:1212] [Tween:1214] [PathFollow2D:1213] new instance # 22 - [Sprite:1215] [Tween:1217] [PathFollow2D:1216] new instance # 23 - [Sprite:1218] [Tween:1220] [PathFollow2D:1219] new instance # 24 - [Sprite:1221] [Tween:1223] [PathFollow2D:1222] new instance # 25 - [Sprite:1224] [Tween:1226] [PathFollow2D:1225] new instance # 26 - [Sprite:1227] [Tween:1229] [PathFollow2D:1228] new instance # 27 - [Sprite:1230] [Tween:1232] [PathFollow2D:1231] new instance # 28 - [Sprite:1233] [Tween:1235] [PathFollow2D:1234] ontweenscompleted: [Sprite:1150] [Tween:1152] [PathFollow2D:1151] << #1 completed new instance # 29 - [Sprite:1236] [Tween:1238] [PathFollow2D:1237] new instance # 30 - [Sprite:1239] [Tween:1241] [PathFollow2D:1240] ontweenscompleted: [Sprite:1153] [Tween:1155] [PathFollow2D:1154] << #2 new instance # 31 - [Sprite:1242] [Tween:1244] [PathFollow2D:1243] ontweenscompleted: [Sprite:1156] [Tween:1158] [PathFollow2D:1157] << #3 new instance # 32 - [Sprite:1245] [Tween:1247] [PathFollow2D:1246] ontweenscompleted: [Sprite:1159] [Tween:1161] [PathFollow2D:1160] << #4 new instance # 33 - [Sprite:1248] [Tween:1250] [PathFollow2D:1249] ontweenscompleted: [Sprite:1167] [Tween:1164] [PathFollow2D:1163] << #5 tween/pathfollow but #6 sprite! new instance # 34 - [Sprite:1251] [Tween:1253] [PathFollow2D:1252] ontweenscompleted: [Sprite:1251] [Tween:1169] [PathFollow2D:1168] << #6 tween/pathfollow but #34 sprite! new instance # 35 - [Sprite:1254] [Tween:1256] [PathFollow2D:1255] ontweenscompleted: [Sprite:1170] [Tween:1172] [PathFollow2D:1171] << #7 new instance # 36 - [Sprite:1257] [Tween:1259] [PathFollow2D:1258] ontweenscompleted: [Sprite:1173] [Tween:1175] [PathFollow2D:1174] << #8 new instance # 37 - [Sprite:1260] [Tween:1262] [PathFollow2D:1261] ontweenscompleted: [Sprite:1176] [Tween:1178] [PathFollow2D:1177] << #9... new instance # 38 - [Sprite:1263] [Tween:1265] [PathFollow2D:1264] ontweenscompleted: [Sprite:1179] [Tween:1181] [PathFollow2D:1180] new instance # 39 - [Sprite:1266] [Tween:1268] [PathFollow2D:1267] ontweenscompleted: [Sprite:1182] [Tween:1184] [PathFollow2D:1183] new instance # 40 - [Sprite:1269] [Tween:1271] [PathFollow2D:1270] ontweenscompleted: [Sprite:1185] [Tween:1187] [PathFollow2D:1186] new instance # 41 - [Sprite:1272] [Tween:1274] [PathFollow2D:1273] ontweenscompleted: [Sprite:1188] [Tween:1190] [PathFollow2D:1189] new instance # 42 - [Sprite:1275] [Tween:1277] [PathFollow2D:1276] ontweenscompleted: [Sprite:1191] [Tween:1193] [PathFollow2D:1192] new instance # 43 - [Sprite:1278] [Tween:1280] [PathFollow2D:1279] ontweenscompleted: [Sprite:1194] [Tween:1196] [PathFollow2D:1195] new instance # 44 - [Sprite:1281] [Tween:1283] [PathFollow2D:1282] ontweenscompleted: [Sprite:1197] [Tween:1199] [PathFollow2D:1198] new instance # 45 - [Sprite:1284] [Tween:1286] [PathFollow2D:1285] ontweenscompleted: [Sprite:1200] [Tween:1202] [PathFollow2D:1201] new instance # 46 - [Sprite:1287] [Tween:1289] [PathFollow2D:1288] ontweenscompleted: [Sprite:1203] [Tween:1205] [PathFollow2D:1204] new instance # 47 - [Sprite:1290] [Tween:1292] [PathFollow2D:1291] ontweenscompleted: [Sprite:1206] [Tween:1208] [PathFollow2D:1207] new instance # 48 - [Sprite:1293] [Tween:1295] [PathFollow2D:1294] ontweenscompleted: [Sprite:1209] [Tween:1211] [PathFollow2D:1210] new instance # 49 - [Sprite:1296] [Tween:1298] [PathFollow2D:1297] ontweenscompleted: [Sprite:1212] [Tween:1214] [PathFollow2D:1213] new instance # 50 - [Sprite:1299] [Tween:1301] [PathFollow2D:1300] ontweenscompleted: [Sprite:1215] [Tween:1217] [PathFollow2D:1216] new instance # 51 - [Sprite:1302] [Tween:1304] [PathFollow2D:1303] ontweenscompleted: [Sprite:1218] [Tween:1220] [PathFollow2D:1219] new instance # 52 - [Sprite:1305] [Tween:1307] [PathFollow2D:1306] ontweenscompleted: [Sprite:1221] [Tween:1223] [PathFollow2D:1222] new instance # 53 - [Sprite:1308] [Tween:1310] [PathFollow2D:1309] ontweenscompleted: [Sprite:1224] [Tween:1226] [PathFollow2D:1225] new instance # 54 - [Sprite:1311] [Tween:1313] [PathFollow2D:1312] ontweenscompleted: [Sprite:1227] [Tween:1229] [PathFollow2D:1228] new instance # 55 - [Sprite:1314] [Tween:1316] [PathFollow2D:1315] ontweenscompleted: [Sprite:1230] [Tween:1232] [PathFollow2D:1231] new instance # 56 - [Sprite:1317] [Tween:1319] [PathFollow2D:1318] ontweenscompleted: [Sprite:1233] [Tween:1235] [PathFollow2D:1234] new instance # 57 - [Sprite:1320] [Tween:1322] [PathFollow2D:1321] ontweenscompleted: [Sprite:1236] [Tween:1238] [PathFollow2D:1237] new instance # 58 - [Sprite:1323] [Tween:1325] [PathFollow2D:1324] ontweenscompleted: [Sprite:1239] [Tween:1241] [PathFollow2D:1240] new instance # 59 - [Sprite:1326] [Tween:1328] [PathFollow2D:1327] ontweenscompleted: [Sprite:1242] [Tween:1244] [PathFollow2D:1243] new instance # 60 - [Sprite:1329] [Tween:1331] [PathFollow2D:1330] ontweenscompleted: [Sprite:1245] [Tween:1247] [PathFollow2D:1246] << #32 new instance # 61 - [Sprite:1332] [Tween:1334] [PathFollow2D:1333] ontweenscompleted: [Sprite:1248] [Tween:1250] [PathFollow2D:1249] << #33 new instance # 62 - [Sprite:1335] [Tween:1337] [PathFollow2D:1336] ontweenscompleted: [Sprite:1254] [Tween:1253] [PathFollow2D:1252] << #34 tween/pathfollow, but #35 sprite! new instance # 63 - [Sprite:1338] [Tween:1340] [PathFollow2D:1339] ontweenscompleted: [Sprite:1338] [Tween:1256] [PathFollow2D:1255] << #35 tween/pathfollow, but #63 sprite! new instance # 64 - [Sprite:1341] [Tween:1343] [PathFollow2D:1342] ontweenscompleted: [Sprite:1257] [Tween:1259] [PathFollow2D:1258] << #36 new instance # 65 - [Sprite:1344] [Tween:1346] [PathFollow2D:1345] ontweenscompleted: [Sprite:1260] [Tween:1262] [PathFollow2D:1261] << #37... new instance # 66 - [Sprite:1347] [Tween:1349] [PathFollow2D:1348] ontweenscompleted: [Sprite:1263] [Tween:1265] [PathFollow2D:1264] new instance # 67 - [Sprite:1350] [Tween:1352] [PathFollow2D:1351] ontweenscompleted: [Sprite:1266] [Tween:1268] [PathFollow2D:1267] new instance # 68 - [Sprite:1353] [Tween:1355] [PathFollow2D:1354] ontweenscompleted: [Sprite:1269] [Tween:1271] [PathFollow2D:1270] new instance # 69 - [Sprite:1356] [Tween:1358] [PathFollow2D:1357] ontweenscompleted: [Sprite:1272] [Tween:1274] [PathFollow2D:1273] new instance # 70 - [Sprite:1359] [Tween:1361] [PathFollow2D:1360] ontweenscompleted: [Sprite:1275] [Tween:1277] [PathFollow2D:1276] new instance # 71 - [Sprite:1362] [Tween:1364] [PathFollow2D:1363] ontweenscompleted: [Sprite:1278] [Tween:1280] [PathFollow2D:1279] new instance # 72 - [Sprite:1365] [Tween:1367] [PathFollow2D:1366] ontweenscompleted: [Sprite:1281] [Tween:1283] [PathFollow2D:1282] new instance # 73 - [Sprite:1368] [Tween:1370] [PathFollow2D:1369] ontweenscompleted: [Sprite:1284] [Tween:1286] [PathFollow2D:1285] new instance # 74 - [Sprite:1371] [Tween:1373] [PathFollow2D:1372] ontweenscompleted: [Sprite:1287] [Tween:1289] [PathFollow2D:1288] new instance # 75 - [Sprite:1374] [Tween:1376] [PathFollow2D:1375] ontweenscompleted: [Sprite:1290] [Tween:1292] [PathFollow2D:1291] new instance # 76 - [Sprite:1377] [Tween:1379] [PathFollow2D:1378] ontweenscompleted: [Sprite:1293] [Tween:1295] [PathFollow2D:1294] new instance # 77 - [Sprite:1380] [Tween:1382] [PathFollow2D:1381] ontweenscompleted: [Sprite:1296] [Tween:1298] [PathFollow2D:1297] new instance # 78 - [Sprite:1383] [Tween:1385] [PathFollow2D:1384] ontweenscompleted: [Sprite:1299] [Tween:1301] [PathFollow2D:1300] new instance # 79 - [Sprite:1386] [Tween:1388] [PathFollow2D:1387] ontweenscompleted: [Sprite:1302] [Tween:1304] [PathFollow2D:1303] new instance # 80 - [Sprite:1389] [Tween:1391] [PathFollow2D:1390] ontweenscompleted: [Sprite:1305] [Tween:1307] [PathFollow2D:1306] new instance # 81 - [Sprite:1392] [Tween:1394] [PathFollow2D:1393] ontweenscompleted: [Sprite:1308] [Tween:1310] [PathFollow2D:1309] new instance # 82 - [Sprite:1395] [Tween:1397] [PathFollow2D:1396] ontweenscompleted: [Sprite:1311] [Tween:1313] [PathFollow2D:1312] new instance # 83 - [Sprite:1398] [Tween:1400] [PathFollow2D:1399] ontweenscompleted: [Sprite:1314] [Tween:1316] [PathFollow2D:1315] new instance # 84 - [Sprite:1401] [Tween:1403] [PathFollow2D:1402] ontweenscompleted: [Sprite:1317] [Tween:1319] [PathFollow2D:1318] new instance # 85 - [Sprite:1404] [Tween:1406] [PathFollow2D:1405] ontweenscompleted: [Sprite:1320] [Tween:1322] [PathFollow2D:1321] new instance # 86 - [Sprite:1407] [Tween:1409] [PathFollow2D:1408] ontweenscompleted: [Sprite:1323] [Tween:1325] [PathFollow2D:1324] new instance # 87 - [Sprite:1410] [Tween:1412] [PathFollow2D:1411] ontweenscompleted: [Sprite:1326] [Tween:1328] [PathFollow2D:1327] new instance # 88 - [Sprite:1413] [Tween:1415] [PathFollow2D:1414] ontweenscompleted: [Sprite:1329] [Tween:1331] [PathFollow2D:1330] new instance # 89 - [Sprite:1416] [Tween:1418] [PathFollow2D:1417] ontweenscompleted: [Sprite:1332] [Tween:1334] [PathFollow2D:1333] << #61 new instance # 90 - [Sprite:1419] [Tween:1421] [PathFollow2D:1420] ontweenscompleted: [Sprite:1335] [Tween:1337] [PathFollow2D:1336] << #62 new instance # 91 - [Sprite:1422] [Tween:1424] [PathFollow2D:1423] ontweenscompleted: [Sprite:1341] [Tween:1340] [PathFollow2D:1339] << #63 tween/pathfollow, but #64 sprite! new instance # 92 - [Sprite:1425] [Tween:1427] [PathFollow2D:1426] ontweenscompleted: [Sprite:1425] [Tween:1343] [PathFollow2D:1342] << #64 tween/pathfollow, but #92 sprite! new instance # 93 - [Sprite:1428] [Tween:1430] [PathFollow2D:1429] ontweenscompleted: [Sprite:1344] [Tween:1346] [PathFollow2D:1345] << #65 new instance # 94 - [Sprite:1431] [Tween:1433] [PathFollow2D:1432] ontweenscompleted: [Sprite:1347] [Tween:1349] [PathFollow2D:1348] << #66... new instance # 95 - [Sprite:1434] [Tween:1436] [PathFollow2D:1435] ontweenscompleted: [Sprite:1350] [Tween:1352] [PathFollow2D:1351] new instance # 96 - [Sprite:1437] [Tween:1439] [PathFollow2D:1438] ontweenscompleted: [Sprite:1353] [Tween:1355] [PathFollow2D:1354] new instance # 97 - [Sprite:1440] [Tween:1442] [PathFollow2D:1441] ontweenscompleted: [Sprite:1356] [Tween:1358] [PathFollow2D:1357] new instance # 98 - [Sprite:1443] [Tween:1445] [PathFollow2D:1444] ontweenscompleted: [Sprite:1359] [Tween:1361] [PathFollow2D:1360] new instance # 99 - [Sprite:1446] [Tween:1448] [PathFollow2D:1447] ontweenscompleted: [Sprite:1362] [Tween:1364] [PathFollow2D:1363] new instance # 100 - [Sprite:1449] [Tween:1451] [PathFollow2D:1450] ontweenscompleted: [Sprite:1365] [Tween:1367] [PathFollow2D:1366] new instance # 101 - [Sprite:1452] [Tween:1454] [PathFollow2D:1453] ontweenscompleted: [Sprite:1368] [Tween:1370] [PathFollow2D:1369] new instance # 102 - [Sprite:1455] [Tween:1457] [PathFollow2D:1456] ontweenscompleted: [Sprite:1371] [Tween:1373] [PathFollow2D:1372] new instance # 103 - [Sprite:1458] [Tween:1460] [PathFollow2D:1459] ontweenscompleted: [Sprite:1374] [Tween:1376] [PathFollow2D:1375] new instance # 104 - [Sprite:1461] [Tween:1463] [PathFollow2D:1462] ontweenscompleted: [Sprite:1377] [Tween:1379] [PathFollow2D:1378] new instance # 105 - [Sprite:1464] [Tween:1466] [PathFollow2D:1465] ontweenscompleted: [Sprite:1380] [Tween:1382] [PathFollow2D:1381] new instance # 106 - [Sprite:1467] [Tween:1469] [PathFollow2D:1468] ontweenscompleted: [Sprite:1383] [Tween:1385] [PathFollow2D:1384] new instance # 107 - [Sprite:1470] [Tween:1472] [PathFollow2D:1471] ontweenscompleted: [Sprite:1386] [Tween:1388] [PathFollow2D:1387] new instance # 108 - [Sprite:1473] [Tween:1475] [PathFollow2D:1474] ontweenscompleted: [Sprite:1389] [Tween:1391] [PathFollow2D:1390] new instance # 109 - [Sprite:1476] [Tween:1478] [PathFollow2D:1477] ontweenscompleted: [Sprite:1392] [Tween:1394] [PathFollow2D:1393] new instance # 110 - [Sprite:1479] [Tween:1481] [PathFollow2D:1480] ontweenscompleted: [Sprite:1395] [Tween:1397] [PathFollow2D:1396] new instance # 111 - [Sprite:1482] [Tween:1484] [PathFollow2D:1483] ontweenscompleted: [Sprite:1398] [Tween:1400] [PathFollow2D:1399] new instance # 112 - [Sprite:1485] [Tween:1487] [PathFollow2D:1486] ontweenscompleted: [Sprite:1401] [Tween:1403] [PathFollow2D:1402] new instance # 113 - [Sprite:1488] [Tween:1490] [PathFollow2D:1489] ontweenscompleted: [Sprite:1404] [Tween:1406] [PathFollow2D:1405] new instance # 114 - [Sprite:1491] [Tween:1493] [PathFollow2D:1492] ontweenscompleted: [Sprite:1407] [Tween:1409] [PathFollow2D:1408] new instance # 115 - [Sprite:1494] [Tween:1496] [PathFollow2D:1495] ontweenscompleted: [Sprite:1410] [Tween:1412] [PathFollow2D:1411] new instance # 116 - [Sprite:1497] [Tween:1499] [PathFollow2D:1498] ontweenscompleted: [Sprite:1413] [Tween:1415] [PathFollow2D:1414] new instance # 117 - [Sprite:1500] [Tween:1502] [PathFollow2D:1501] ontweenscompleted: [Sprite:1416] [Tween:1418] [PathFollow2D:1417] new instance # 118 - [Sprite:1503] [Tween:1505] [PathFollow2D:1504] ontweenscompleted: [Sprite:1419] [Tween:1421] [PathFollow2D:1420] << #90 new instance # 119 - [Sprite:1506] [Tween:1508] [PathFollow2D:1507] ontweenscompleted: [Sprite:1422] [Tween:1424] [PathFollow2D:1423] << #91 new instance # 120 - [Sprite:1509] [Tween:1511] [PathFollow2D:1510] ontweenscompleted: [Sprite:1428] [Tween:1427] [PathFollow2D:1426] << #92 tween/pathfollow, but #93 sprite! new instance # 121 - [Sprite:1512] [Tween:1514] [PathFollow2D:1513] ontweenscompleted: [Deleted Object] [Tween:1430] [PathFollow2D:1429] << #93 tween/pathfollow, but [DATA EXPUNGED] << error ```

If I add a tween.queue_free() in _remove_instance_prematurely as recommended, I see the intended behaviour.

Output sample ``` ** Debug Process Started ** OpenGL ES 3.0 Renderer: GeForce GTX 750 Ti/PCIe/SSE2 new instance # 1 - [Sprite:1150] [Tween:1152] [PathFollow2D:1151] new instance # 2 - [Sprite:1153] [Tween:1155] [PathFollow2D:1154] new instance # 3 - [Sprite:1156] [Tween:1158] [PathFollow2D:1157] new instance # 4 - [Sprite:1159] [Tween:1161] [PathFollow2D:1160] new instance # 5 - [Sprite:1162] [Tween:1164] [PathFollow2D:1163] removing instance prematurely!! << #5 sprite and tween removed new instance # 6 - [Sprite:1167] [Tween:1169] [PathFollow2D:1168] new instance # 7 - [Sprite:1170] [Tween:1172] [PathFollow2D:1171] new instance # 8 - [Sprite:1173] [Tween:1175] [PathFollow2D:1174] new instance # 9 - [Sprite:1176] [Tween:1178] [PathFollow2D:1177] new instance # 10 - [Sprite:1179] [Tween:1181] [PathFollow2D:1180] new instance # 11 - [Sprite:1182] [Tween:1184] [PathFollow2D:1183] new instance # 12 - [Sprite:1185] [Tween:1187] [PathFollow2D:1186] new instance # 13 - [Sprite:1188] [Tween:1190] [PathFollow2D:1189] new instance # 14 - [Sprite:1191] [Tween:1193] [PathFollow2D:1192] new instance # 15 - [Sprite:1194] [Tween:1196] [PathFollow2D:1195] new instance # 16 - [Sprite:1197] [Tween:1199] [PathFollow2D:1198] new instance # 17 - [Sprite:1200] [Tween:1202] [PathFollow2D:1201] new instance # 18 - [Sprite:1203] [Tween:1205] [PathFollow2D:1204] new instance # 19 - [Sprite:1206] [Tween:1208] [PathFollow2D:1207] new instance # 20 - [Sprite:1209] [Tween:1211] [PathFollow2D:1210] new instance # 21 - [Sprite:1212] [Tween:1214] [PathFollow2D:1213] new instance # 22 - [Sprite:1215] [Tween:1217] [PathFollow2D:1216] new instance # 23 - [Sprite:1218] [Tween:1220] [PathFollow2D:1219] new instance # 24 - [Sprite:1221] [Tween:1223] [PathFollow2D:1222] new instance # 25 - [Sprite:1224] [Tween:1226] [PathFollow2D:1225] new instance # 26 - [Sprite:1227] [Tween:1229] [PathFollow2D:1228] new instance # 27 - [Sprite:1230] [Tween:1232] [PathFollow2D:1231] new instance # 28 - [Sprite:1233] [Tween:1235] [PathFollow2D:1234] ontweenscompleted: [Sprite:1150] [Tween:1152] [PathFollow2D:1151] << #1 completed new instance # 29 - [Sprite:1236] [Tween:1238] [PathFollow2D:1237] new instance # 30 - [Sprite:1239] [Tween:1241] [PathFollow2D:1240] ontweenscompleted: [Sprite:1153] [Tween:1155] [PathFollow2D:1154] << #2 new instance # 31 - [Sprite:1242] [Tween:1244] [PathFollow2D:1243] ontweenscompleted: [Sprite:1156] [Tween:1158] [PathFollow2D:1157] << #3 new instance # 32 - [Sprite:1245] [Tween:1247] [PathFollow2D:1246] ontweenscompleted: [Sprite:1159] [Tween:1161] [PathFollow2D:1160] << #4 new instance # 33 - [Sprite:1248] [Tween:1250] [PathFollow2D:1249] new instance # 34 - [Sprite:1251] [Tween:1253] [PathFollow2D:1252] ontweenscompleted: [Sprite:1167] [Tween:1169] [PathFollow2D:1168] << #6 new instance # 35 - [Sprite:1254] [Tween:1256] [PathFollow2D:1255] ontweenscompleted: [Sprite:1170] [Tween:1172] [PathFollow2D:1171] << #7 new instance # 36 - [Sprite:1257] [Tween:1259] [PathFollow2D:1258] ontweenscompleted: [Sprite:1173] [Tween:1175] [PathFollow2D:1174] << #8... new instance # 37 - [Sprite:1260] [Tween:1262] [PathFollow2D:1261] ontweenscompleted: [Sprite:1176] [Tween:1178] [PathFollow2D:1177] new instance # 38 - [Sprite:1263] [Tween:1265] [PathFollow2D:1264] ontweenscompleted: [Sprite:1179] [Tween:1181] [PathFollow2D:1180] new instance # 39 - [Sprite:1266] [Tween:1268] [PathFollow2D:1267] ontweenscompleted: [Sprite:1182] [Tween:1184] [PathFollow2D:1183] new instance # 40 - [Sprite:1269] [Tween:1271] [PathFollow2D:1270] ontweenscompleted: [Sprite:1185] [Tween:1187] [PathFollow2D:1186] new instance # 41 - [Sprite:1272] [Tween:1274] [PathFollow2D:1273] ontweenscompleted: [Sprite:1188] [Tween:1190] [PathFollow2D:1189] new instance # 42 - [Sprite:1275] [Tween:1277] [PathFollow2D:1276] ontweenscompleted: [Sprite:1191] [Tween:1193] [PathFollow2D:1192] new instance # 43 - [Sprite:1278] [Tween:1280] [PathFollow2D:1279] ontweenscompleted: [Sprite:1194] [Tween:1196] [PathFollow2D:1195] new instance # 44 - [Sprite:1281] [Tween:1283] [PathFollow2D:1282] ontweenscompleted: [Sprite:1197] [Tween:1199] [PathFollow2D:1198] new instance # 45 - [Sprite:1284] [Tween:1286] [PathFollow2D:1285] ontweenscompleted: [Sprite:1200] [Tween:1202] [PathFollow2D:1201] new instance # 46 - [Sprite:1287] [Tween:1289] [PathFollow2D:1288] ontweenscompleted: [Sprite:1203] [Tween:1205] [PathFollow2D:1204] new instance # 47 - [Sprite:1290] [Tween:1292] [PathFollow2D:1291] ontweenscompleted: [Sprite:1206] [Tween:1208] [PathFollow2D:1207] new instance # 48 - [Sprite:1293] [Tween:1295] [PathFollow2D:1294] ontweenscompleted: [Sprite:1209] [Tween:1211] [PathFollow2D:1210] new instance # 49 - [Sprite:1296] [Tween:1298] [PathFollow2D:1297] ontweenscompleted: [Sprite:1212] [Tween:1214] [PathFollow2D:1213] new instance # 50 - [Sprite:1299] [Tween:1301] [PathFollow2D:1300] ontweenscompleted: [Sprite:1215] [Tween:1217] [PathFollow2D:1216] new instance # 51 - [Sprite:1302] [Tween:1304] [PathFollow2D:1303] ontweenscompleted: [Sprite:1218] [Tween:1220] [PathFollow2D:1219] new instance # 52 - [Sprite:1305] [Tween:1307] [PathFollow2D:1306] ontweenscompleted: [Sprite:1221] [Tween:1223] [PathFollow2D:1222] new instance # 53 - [Sprite:1308] [Tween:1310] [PathFollow2D:1309] ontweenscompleted: [Sprite:1224] [Tween:1226] [PathFollow2D:1225] new instance # 54 - [Sprite:1311] [Tween:1313] [PathFollow2D:1312] ontweenscompleted: [Sprite:1227] [Tween:1229] [PathFollow2D:1228] new instance # 55 - [Sprite:1314] [Tween:1316] [PathFollow2D:1315] ontweenscompleted: [Sprite:1230] [Tween:1232] [PathFollow2D:1231] new instance # 56 - [Sprite:1317] [Tween:1319] [PathFollow2D:1318] ontweenscompleted: [Sprite:1233] [Tween:1235] [PathFollow2D:1234] new instance # 57 - [Sprite:1320] [Tween:1322] [PathFollow2D:1321] ontweenscompleted: [Sprite:1236] [Tween:1238] [PathFollow2D:1237] new instance # 58 - [Sprite:1323] [Tween:1325] [PathFollow2D:1324] ontweenscompleted: [Sprite:1239] [Tween:1241] [PathFollow2D:1240] new instance # 59 - [Sprite:1326] [Tween:1328] [PathFollow2D:1327] ontweenscompleted: [Sprite:1242] [Tween:1244] [PathFollow2D:1243] new instance # 60 - [Sprite:1329] [Tween:1331] [PathFollow2D:1330] ontweenscompleted: [Sprite:1245] [Tween:1247] [PathFollow2D:1246] new instance # 61 - [Sprite:1332] [Tween:1334] [PathFollow2D:1333] ontweenscompleted: [Sprite:1248] [Tween:1250] [PathFollow2D:1249] new instance # 62 - [Sprite:1335] [Tween:1337] [PathFollow2D:1336] ontweenscompleted: [Sprite:1251] [Tween:1253] [PathFollow2D:1252] new instance # 63 - [Sprite:1338] [Tween:1340] [PathFollow2D:1339] ontweenscompleted: [Sprite:1254] [Tween:1256] [PathFollow2D:1255] new instance # 64 - [Sprite:1341] [Tween:1343] [PathFollow2D:1342] ontweenscompleted: [Sprite:1257] [Tween:1259] [PathFollow2D:1258] new instance # 65 - [Sprite:1344] [Tween:1346] [PathFollow2D:1345] etc... ```
tom-jk commented 4 years ago

Can reproduce in 3.1.1, 3.1.2, 3.2, 3.2.1. Can't reproduce in 3.2.2, 3.2.3.rc3.

Testing in 3.2.3.rc3, stopped with an error 80/80 runs when instance #5 reached the end.

Issue appears to be resolved.

akien-mga commented 3 years ago

Thanks, closing as fixed.