Jump to content
atmo

Increasing 'AllDead' and 'AllDeadmen' collections during game - can't deleteVehicle

Recommended Posts

Hi all,

 

I have left a dedicated server running overnight for testing purposes and during the game (AI fight AI) I have logged some numbers. It seems that the AllDead and AllDeadMen collections just keep on getting bigger and I can't delete them with

 

{deleteVehicle _x} forEach AllDead(men)

 

For example in my .rpt file I have at the beginning of the game:

 

 1:16:15 "------- 30.127 secs  ------------------------------------------------------------"
 1:16:15 "DEBUG: fps: 48.7805"
 1:16:15 "DEBUG: AllUnits: 54"
 1:16:15 "DEBUG: AllGroups: 23"
 1:16:15 "DEBUG: AllVehicles: 16"
 1:16:15 "DEBUG: AllDead: 1"
 1:16:15 "DEBUG: AllDeadMen: 1"

 1:16:15 "DEBUG: Scripts: [3,2,0,0]"
 1:16:15 "DEBUG: Scripts:

 

and after 8 hours or so I have:

 

 

10:40:07 "------- 33856 secs  ------------------------------------------------------------"
10:40:07 "DEBUG: fps: 48.4848"
10:40:07 "DEBUG: AllUnits: 293"
10:40:07 "DEBUG: AllGroups: 102"
10:40:07 "DEBUG: AllVehicles: 5"
10:40:07 "DEBUG: AllDead: 1562"
10:40:07 "DEBUG: AllDeadMen: 1562"

10:40:07 "DEBUG: Scripts: [15,2,0,0]"

 

If I use the console to try and debug using:

 

 

{diag_log format["%4 Deadmen: %1, %2, %3", _x, typeOf _x, _x getVariable "effects", _forEachIndex]} forEach allDead;

and use server exec; I get a report like:

 

"0 Deadmen: O Bravo 1-1:1, O_Soldier_TL_F, <null>"
10:37:10 "1 Deadmen: B Bravo 2-2:3, B_Soldier_GL_F, <null>"
10:37:10 "2 Deadmen: 1aca6761940# 2096805: o_soldier_01.p3d, O_Soldier_AR_F, <null>"
10:37:10 "3 Deadmen: 1acabff95c0# 2098210: o_soldier_01.p3d, O_Soldier_GL_F, <null>"
10:37:10 "4 Deadmen: 1acabb31640# 2103841: b_soldier_01.p3d, B_Soldier_GL_F, <null>"
10:37:10 "5 Deadmen: O Alpha 3-3:1, O_Soldier_AT_F, <null>"
10:37:10 "6 Deadmen: B Alpha 1-1:3, B_crew_F, <null>"
10:37:10 "7 Deadmen: 1acbb588fc0# 2110146: b_soldier_03.p3d, B_Soldier_TL_F, <null>"
10:37:10 "8 Deadmen: B Alpha 4-4:4, B_soldier_AR_F, <null>"
10:37:10 "9 Deadmen: 1ad813b1500# 1813642: b_soldier_01.p3d, B_Soldier_F, <null>"
10:37:10 "10 Deadmen: 1adb814e2c0# 1813645: o_soldier_01.p3d, O_crew_F, <null>"
10:37:10 "11 Deadmen: 1ad813c18c0# 1813651: o_soldier_01.p3d, O_crew_F, <null>"
10:37:10 "12 Deadmen: 1ad81549a00# 1813657: o_soldier_01.p3d, O_crew_F, <null>"
10:37:10 "13 Deadmen: 1ad81594100# 1813666: o_soldier_01.p3d, O_crew_F, <null>"
10:37:10 "14 Deadmen: 1ad816306c0# 1813687: b_soldier_01.p3d, B_Soldier_F, <null>"
10:37:10 "15 Deadmen: 1ad7c5a8c00# 1813702: b_soldier_03.p3d, B_crew_F, <null>"
10:37:10 "16 Deadmen: 1ad7c625180# 1813729: b_soldier_03.p3d, B_crew_F, <null>"
10:37:10 "17 Deadmen: 1ad7c605340# 1813738: b_soldier_03.p3d, B_crew_F, <null>"
10:37:10 "18 Deadmen: 1ad7c6a1700# 1813756: o_soldier_01.p3d, O_crew_F, <null>"
10:37:10 "19 Deadmen: 1ad7c5b1300# 1814984: o_soldier_01.p3d, O_Soldier_F, <null>"
10:37:10 "20 Deadmen: 1adf8536b80# 1814987: o_soldier_01.p3d, O_Soldier_F, <null>"
10:37:10 "21 Deadmen: 1ad81601980# 1816394: o_soldier_01.p3d, O_crew_F, <null>"
10:37:10 "22 Deadmen: 1ad759b1a00# 1816397: o_soldier_01.p3d, O_crew_F, <null>"
10:37:10 "23 Deadmen: 1ad764d4380# 1816407: o_soldier_01.p3d, O_crew_F, <null>"
10:37:10 "24 Deadmen: 1ad7f858ac0# 1816632: o_soldier_01.p3d, O_Soldier_F, <null>"
10:37:10 "25 Deadmen: 1ad723f4b80# 1816635: o_soldier_01.p3d, O_Soldier_F, <null>"

 

etc up to...

 

10:37:11 "1548 Deadmen: 1aca7df4280# 2109613: o_soldier_01.p3d, O_crew_F, <null>"
10:37:11 "1549 Deadmen: 1acb72f4180# 2110083: o_soldier_01.p3d, O_crew_F, <null>"
10:37:11 "1550 Deadmen: 1acbb400300# 2110089: o_soldier_01.p3d, O_crew_F, <null>"
10:37:11 "1551 Deadmen: 1aca6f24f40# 2110771: b_soldier_03.p3d, B_crew_F, <null>"

 

I'm also getting a lot of

 

10:43:26 Server: Object 2:32971 not found (message Type_93)
10:43:26 Server: Object 2:32970 not found (message Type_93)
10:43:26 Server: Object 2:32967 not found (message Type_93)
10:43:26 Server: Object 2:31427 not found (message Type_121)
10:43:26 Server: Object 2:32954 not found (message Type_121)
10:43:26 Server: Object 2:29991 not found (message Type_121)

 

messages.

 

I just can't seem to delete these objects. I have tried finding them with "WeaponHolder", "WeaponHolderSimulated" and "GroundWeaponHolder" but to no avail.

 

I am concerned they would be slowing down my game (although the fps seems fine on the server (DEBUG fps)... but it does drop earlier in the game.

 

Should I be worried? Have I missed something? The ever increasing nature of these make me worry.

 

 

(Ah - just a thought actually, I do create a lot of vehicles (respawning them) and use createVehicleCrew to crew them - a lot of these objects are those and I haven't added to the remains collector(? Does this really work?) and I may have deleted a few groups before deleting all the dead in the group.... if I run

 

{diag_log format["%4 Deadmen: %1, %2, %3", _x, typeOf _x, group _x, _forEachIndex]} forEach allDead;

 

in the console it produces:

 

10:50:24 "0 Deadmen: 1ad813b1500# 1813642: b_soldier_01.p3d, B_Soldier_F, <NULL-group>"
10:50:24 "1 Deadmen: 1adb814e2c0# 1813645: o_soldier_01.p3d, O_crew_F, <NULL-group>"
10:50:24 "2 Deadmen: 1ad813c18c0# 1813651: o_soldier_01.p3d, O_crew_F, <NULL-group>"

 

 

So they all belong to GrpNull.....hmmm. Any clues?

 

I am sort of using this thread as a 'note to self' but if anyone else can chip in I would be grateful!

 

Atmo

 

 

Share this post


Link to post
Share on other sites

Hi KillZone..(huge fan! read all your blogs! <simper!>)

 

Yes, I should have mentioned I did that in my description.ext.

 
corpseManagerMode = 1;    //Type of removed bodies: 0 - none, 1 - all, 2 - only respawnable, 3 - only non-respawnable
corpseLimit = 10;     //Max number of bodies which can be available at the same time. When exceeded, start deleting immediately.
corpseRemovalMinTime = 1;   //Minimal time in seconds a body stays in the scene (can't be removed sooner).
corpseRemovalMaxTime = 10;   //Maximal time in seconds after which a dead body is removed (can't stay longer)
wreckManagerMode = 1;    //Type of removed wrecks: 0 - none, 1 - all, 2 - only respawnable, 3 - only non-respawnable
wreckLimit = 5;     //Max number of wrecks which can be available at the same time. When exceeded, start deleting immediately.
wreckRemovalMinTime = 1;   //Minimal time in seconds a wreck stays in the scene (can't be removed sooner).
wreckRemovalMaxTime = 10;
 
(I was being tough with the times..)
 
I have tweaked it a bit thinking that I might be 'orphaning' some types of dynamically created units with 'CreatVehicleCrew' so am running another test. I will update my 'notes to self' if I find out the problem.
 
Atmo
 
 
 
 

Share this post


Link to post
Share on other sites

Not tested with spawned units on dedicated or headless client context.

 

On hosted, everything work fine for all units (edited or spawned) . (i'm using the attributes performance of 3den, so in mission.sqm, not in description.ext)

I just remarked that the corpses disappear in due time with parameters. They are sinking into ground.

But , the allDeadMen, allDead variables are updated only when the associated weaponHolder disappears also (primary weapon, launcher). And for unknown but understandable reason, this disappearance occur later (no figure) than corpse ones.

Share this post


Link to post
Share on other sites

I don't know what is happening. I've created a simple mission example which basically just spawns Hunters and TUSKs (they have different crew types) then blows them up on a regular basis. Setting the remains collector in the editor and the description.ext to really severe cleanup settings ie <10 seconds and a limit of 10 corpses (really don't know which one works as expected) and adding each unit on creation to the remains collector. Blowing things up and spawning and running this for 5 minutes gives me...

 

15:08:07 "------- 1001.15 secs  ------------------------------------------------------------"
15:08:07 "DEBUG: fps: 19.7531"
15:08:07 "DEBUG: AllUnits: 62"
15:08:07 "DEBUG: AllGroups: 144"
15:08:07 "DEBUG: AllVehicles: 44"
15:08:07 "DEBUG: AllDead: 1857"
15:08:07 "DEBUG: AllDeadMen: 1855"

 

Observations:

1. Empty groups do seem to be deleted if  _group deleteGroupWhenEmpty true; is set for the group.

2. The RemainsCollector seems to get flooded with units (I really did stress test the thing) and there are loads of units left in which just don't get deleted and it seems like I can't delete them either with deleteVehicle _x. I've tried testing for effects but none of them have any and I've compared them to AllMissionObjects "". And they don't seem to be in this collection either.... (I've only done a visual check in NotePad ++). So I get loads of these:

 

15:05:58 "Deadmen: 20826d71140# 1785462: b_soldier_01.p3d, B_Soldier_F, <NULL-group>, true, soldier"
15:05:58 "Deadmen: 207d1789300# 1785467: b_soldier_03.p3d, B_crew_F, <NULL-group>, true, soldier"
15:05:58 "Deadmen: 20806e8d380# 1785470: b_soldier_03.p3d, B_crew_F, <NULL-group>, true, soldier"
15:05:58 "Deadmen: 207bb0e1400# 1785473: b_soldier_03.p3d, B_crew_F, <NULL-group>, true, soldier"

 

which seem to keep accumulating and I can't delete them.

 

I have a test mission to upload.. I'll add it to my drive and add the link in a moment... (ok try this link https://drive.google.com/open?id=0B0vn5lvv8WcMdTNMb2lnVVdrTTA)

 

Atmo

Edited by atmo
Updated Link

Share this post


Link to post
Share on other sites
3 minutes ago, atmo said:

 

I have a test mission to upload.. I'll add it to my drive and add the link in a moment...

 

Atmo

 

Cool - I'll give this a go.  Try and keep it Vanilla if you can as others might not have mods etc  :)

 

Edit:  can you upload your rpt as well if possible?

Share this post


Link to post
Share on other sites

I will add it to the folder - it's a bit of a behemoth as I've used to debug console to spam report stuff....

 

Done... should be in there too.

Share this post


Link to post
Share on other sites

Cool thanks for that.

 

My observations are the same as yours, groups seems to stablilise around 130 - 150 (so I guess the empties are deleted after a minute or so).  The allDeadMen array keeps increasing though.

 

After 15 mins on a dedicated server, my debug was this:

 

2017/08/02, 16:09:29 "------- 1120.95 secs  ------------------------------------------------------------"
2017/08/02, 16:09:29 "DEBUG: fps: 48.9297"
2017/08/02, 16:09:29 "DEBUG: AllUnits: 52"
2017/08/02, 16:09:29 "DEBUG: AllGroups: 120"
2017/08/02, 16:09:29 "DEBUG: AllVehicles: 37"
2017/08/02, 16:09:29 "DEBUG: AllDead: 1963"
2017/08/02, 16:09:29 "DEBUG: AllDeadMen: 1962"
2017/08/02, 16:09:29 "DEBUG: Scripts: [17,1,0,0]"

 

 

I ran a further script to see who was in what group:

diag_log "--------------------------";
diag_log "---------TESTING----------";
diag_log "---------GROUPS-----------";
diag_log "--------------------------";
{
    diag_log "--------------------------";
    diag_log "--------------------------";
    diag_log format ["group: %1",_x];
    diag_log "--------------------------";
    {
        diag_log format ["unit: %1",_x]
    } forEach units _x
} forEach allGroups;
diag_log "--------------------------";
diag_log "---------TESTING----------";
diag_log "--------ALLDEADMEN--------";
diag_log "--------------------------";
{
    diag_log format ["unit: %1 - group: %2",_x,group _x]
} forEach allDeadMen;
diag_log "--------------------------";
diag_log "--------------------------";
diag_log "--------------------------";
diag_log "--------------------------";

 

And the majority of entries for allDeadMen were all like this:

 

2017/08/02, 16:09:29 "unit: 19cdcbbd080# 1817018: b_soldier_03.p3d - group: <NULL-group>"
2017/08/02, 16:09:29 "unit: 19ce03b1000# 1818306: b_soldier_01.p3d - group: <NULL-group>"
2017/08/02, 16:09:29 "unit: 19ceb3fc240# 1818870: b_soldier_01.p3d - group: <NULL-group>"
2017/08/02, 16:09:29 "unit: 19cedbcd5c0# 1819040: b_soldier_01.p3d - group: <NULL-group>"
2017/08/02, 16:09:29 "unit: 19ce2bc0640# 1819627: b_soldier_01.p3d - group: <NULL-group>"
2017/08/02, 16:09:29 "unit: 19ced7f8a80# 1819967: b_soldier_01.p3d - group: <NULL-group>"
2017/08/02, 16:09:29 "unit: 19c7d525880# 1813630: b_soldier_01.p3d - group: <NULL-group>"
2017/08/02, 16:09:29 "unit: 19c7c864380# 1813633: b_soldier_01.p3d - group: <NULL-group>"
2017/08/02, 16:09:29 "unit: 19c7c7bc480# 1813636: b_soldier_01.p3d - group: <NULL-group>"
2017/08/02, 16:09:29 "unit: 19c7d688540# 1813639: b_soldier_01.p3d - group: <NULL-group>"
2017/08/02, 16:09:29 "unit: 19c83bb8640# 1813642: b_soldier_01.p3d - group: <NULL-group>"
2017/08/02, 16:09:29 "unit: 19c83bdc740# 1813645: b_soldier_01.p3d - group: <NULL-group>"
2017/08/02, 16:09:29 "unit: 19ca3b51300# 1813648: b_soldier_01.p3d - group: <NULL-group>"
2017/08/02, 16:09:29 "unit: 19ca3b673c0# 1813651: b_soldier_01.p3d - group: <NULL-group>"

 

Full list is in the rpt.

 

Here's my rpt for reference

 

Share this post


Link to post
Share on other sites

Tried to get them to all join a group and see if that is the problem

 

Share this post


Link to post
Share on other sites
_grp = createGroup [west, true];
		{
			// diag_log Format["Cleanup AllDeadMen: %1", _x];		
			if ((group _x) isEqualTo GrpNull) then {
				[_x] joinSilent _grp;
			};
			deleteVehicle _x
		} forEach allDeadmen;

but that doesn't seem to work. There is something stopping them being deleted.. and it doesn't seem to be the 'effects' as it says in the wiki for 'deleteVehicle'.

 

What do I do now create a ticket? (How do I do that only a 'Private First Class')?

 

Share this post


Link to post
Share on other sites

I've got an account there so I made a ticket for you and sent it to Dwarden.

 

https://feedback.bistudio.com/T126362

 

If you need to report anything in the future,You'll have to log into the feedback tracker or make an account if you haven't done so:

 

https://feedback.bistudio.com/project/view/1/

 

Then look for the + button in the top right hand corner of the screen and click it to make a new bug report.  :)

 

It might be worth doing it now in case they ask you to test for something.

 

Well spotted btw  :)

 

 

 

  • Like 1

Share this post


Link to post
Share on other sites

thanks for the report, ticket, details , repro, looking into this 

Share this post


Link to post
Share on other sites

Ok. Great thanks. I will keep playing this end to see what I can find out. Some really big hitters in this thread so I feel very humbled!

 

Share this post


Link to post
Share on other sites

As an aside I have recently stumbled across http://www.log-expert.de/ for filtering and looking at rpt files. This seems a very powerful tool for filtering and analysing rpt files. (Nothing to do with me - an impartial view!)

  • Like 1

Share this post


Link to post
Share on other sites

Ha! I think I have found out what the problem is! But not quite the best solution yet. 

 

The issue seems to be trying to delete a vehicle without taking the crew out first. The crew seemed to be orphaned by the garbage collector. I may have just stumbled across a well know fact but I haven't yet searched the forums.

 

So if in the mission I:

1. Kill a vehicle with crew in with _veh setDamage 1;

2. at a later time delete _veh; before taking the crew out I get a AllDeadMen array looking like this...

 

 

14:16:31 "DEBUG ------- 282.282 secs  ------------------------------------------------------------"
14:16:31 "DEBUG: fps: 48.048"
14:16:31 "DEBUG: AllUnits: 37"
14:16:31 "DEBUG: AllGroups: 139"
14:16:31 "DEBUG: AllVehicles: 24"
14:16:31 "DEBUG: AllDead: 492"
14:16:31 "DEBUG: AllDeadMen: 490"
14:16:31 "DEBUG: Scripts: [27,2,0,1]"
14:16:31 "DEBUG: Scripts: [[""C:\Users\Michael\Documents\Arma 3 - Other Profiles\Atmo\mpmissions\Testing%20Garbage%20Collector\Test%20GC2.altis\serverMain.sqf"",""C:\Users\Michael\Documents\Arma 3 - Other Profiles\Atmo\mpmissions\Testing%20Garbage%20Collector\Test%20GC2.altis\serverMain.sqf"",true,163],[""C:\Users\Michael\Documents\Arma 3 - Other Profiles\Atmo\mpmissions\Testing%20Garbage%20Collector\Test%20GC2.altis\Common_player_markers.sqf"",""C:\Users\Michael\Documents\Arma 3 - Other Profiles\Atmo\mpmissions\Testing%20Garbage%20Collector\Test%20GC2.altis\Common_player_markers.sqf"",true,88],[""CleanupAndDebug"",""C:\Users\Michael\Documents\Arma 3 - Other Profiles\Atmo\mpmissions\Testing%20Garbage%20Collector\Test%20GC2.altis\serverMain.sqf"",true,77],[""<spawn>"",""C:\Users\Michael\Documents\Arma 3 - Other Profiles\Atmo\mpmissions\Testing%20Garbage%20Collector\Test%20GC2.altis\serverMain.sqf"",true,145],[""fn_effectKilledSecondaries_mainLoop"",""A3\functions_f\Effects\fn_effectKilledSecondaries.sqf [BIS_fnc_effec
14:16:31 "DEBUG: AllDeadMen 0: Obj: 1ded82f9a00# 1779937: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:16:31 "DEBUG: AllDeadMen 1: Obj: 1df645e1ac0# 1779940: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:16:32 "DEBUG: AllDeadMen 2: Obj: 1df7fc52100# 1779943: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:16:32 "DEBUG: AllDeadMen 3: Obj: 1df9086e200# 1779946: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:16:33 "DEBUG: AllDeadMen 4: Obj: 1de36654300# 1779949: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:16:33 "DEBUG: AllDeadMen 5: Obj: 1df7631c3c0# 1779952: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:16:34 "DEBUG: AllDeadMen 6: Obj: 1df920a24c0# 1779955: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
 

etc up to

 

14:17:19 "DEBUG: AllDeadMen 95: Obj: 1dfcd0c4440# 1780296: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:17:20 "DEBUG: AllDeadMen 96: Obj: 1dfc3a54540# 1780299: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
 

So 96 units in ~280 secs

 

but if I use

 

_veh = selectRandom vehicles;
		// Eject crew and Unassign them?
		{
			_x leaveVehicle _veh;
			_x setpos ((getpos player) getpos [10 + random 10, 60 + random 30]);
			//deleteVehicle _x; - still some orphaned objects left over....
			_x setDamage 1; // hmm. some orphaned but not as many....
		} forEach crew _veh;
		sleep 0.5; // pause... delete the object the next frame or something?
		_veh setDamage 1;

I get

 

14:23:31 "DEBUG ------- 240.399 secs  ------------------------------------------------------------"
14:23:31 "DEBUG: fps: 60.1504"
14:23:31 "DEBUG: AllUnits: 36"
14:23:31 "DEBUG: AllGroups: 62"
14:23:31 "DEBUG: AllVehicles: 45"
14:23:31 "DEBUG: AllDead: 20"
14:23:31 "DEBUG: AllDeadMen: 20"
14:23:31 "DEBUG -------------------------------------------------------------------"
14:23:31 "DEBUG: AllDeadMen 0: Obj: B Charlie 1-6:1, Local: true, Owner: 2, Hidden: false, Group: B Charlie 1-6"
14:23:31 "DEBUG: AllDeadMen 1: Obj: B Charlie 1-6:2, Local: true, Owner: 2, Hidden: false, Group: B Charlie 1-6"
14:23:31 "DEBUG: AllDeadMen 2: Obj: B Bravo 1-6:1, Local: true, Owner: 2, Hidden: false, Group: B Bravo 1-6"
14:23:31 "DEBUG: AllDeadMen 3: Obj: B Bravo 1-6:2, Local: true, Owner: 2, Hidden: false, Group: B Bravo 1-6"
14:23:31 "DEBUG: AllDeadMen 4: Obj: 1dfc7ebd500# 1780098: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:23:31 "DEBUG: AllDeadMen 5: Obj: 1dfa20a1600# 1780101: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:23:31 "DEBUG: AllDeadMen 6: Obj: 1df908cce00# 1780169: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:23:31 "DEBUG: AllDeadMen 7: Obj: 1de389beec0# 1780172: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:23:31 "DEBUG: AllDeadMen 8: Obj: 1dfa13a04c0# 1780213: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:23:31 "DEBUG: AllDeadMen 9: Obj: 1de389e65c0# 1780216: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:23:31 "DEBUG: AllDeadMen 10: Obj: 1dfcb189080# 1780223: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:23:31 "DEBUG: AllDeadMen 11: Obj: 1de31075140# 1780226: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:23:31 "DEBUG: AllDeadMen 12: Obj: 1dfa20c5780# 1780254: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:23:31 "DEBUG: AllDeadMen 13: Obj: 1de341e1800# 1780257: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:23:31 "DEBUG: AllDeadMen 14: Obj: 1dfc2f456c0# 1780292: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:23:31 "DEBUG: AllDeadMen 15: Obj: 1dfca1c5780# 1780295: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:23:31 "DEBUG: AllDeadMen 16: Obj: B Charlie 3-3:1, Local: true, Owner: 2, Hidden: false, Group: B Charlie 3-3"
14:23:31 "DEBUG: AllDeadMen 17: Obj: B Charlie 3-3:2, Local: true, Owner: 2, Hidden: false, Group: B Charlie 3-3"
14:23:31 "DEBUG: AllDeadMen 18: Obj: 1dfa0d69340# 1780608: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
14:23:31 "DEBUG: AllDeadMen 19: Obj: 1de363f3440# 1780611: b_soldier_01.p3d, Local: true, Owner: 0, Hidden: false, Group: <NULL-group>"
 

which is 20 units ~ 240 secs...

 

Which is a lot less.. however there are still some objects here which are 'orphaned'. I suspect that these are actually weaponholders/corpses of some sort but I haven't really delved into that yet. So it seems like trying to delete a vehicle with crew is a big no no. (but I suspect that is generally well known and I have fallen into one of the traps?). 

 

I probably that I have not deleted the crew then vehicle this the best way to guarantee that the objects aren't lost. 

 

As I have some of the big boys on this thread could they recommend the absolute best way to do this? (and I really do recommend the 'log-Expert' great for filtering custom messages from a rpt file....great tool!)

Share this post


Link to post
Share on other sites

I also note that the owner of the undeletable objects is 0... now is that the server - I tested this on a hosted server form the editor... will try dedicated server...

 

Share this post


Link to post
Share on other sites

Just for some info, I tried adding a unit on the map called "Mr_DeadMan", then in your unitKilled function, immediately joining them to his group on death:

 

[_unit] joinSilent group Mr_Deadman;

 

They still weren't removed from his group however, so I then tried manually with:

 

{deleteVehicle _x} forEach allDeadMen;

 

Then the rpt went nuts with tonnes of:

 

10:43:26 Server: Object 2:32971 not found (message Type_93)
10:43:26 Server: Object 2:32970 not found (message Type_93)
10:43:26 Server: Object 2:32967 not found (message Type_93)
10:43:26 Server: Object 2:31427 not found (message Type_121)
10:43:26 Server: Object 2:32954 not found (message Type_121)
10:43:26 Server: Object 2:29991 not found (message Type_121)

 

Up until that point, it was pretty clean.

 

They all joined grpNull as well when I tried to delete them.

  • Like 1

Share this post


Link to post
Share on other sites

I give up. It seems though that when a man is killed inside a vehicle either by an enemy unit or by script 'setDamage' There is a chance that it joins GrpNull and the owner gets set to 0 and the groupOwner is 0 (GrpNull presumably). It seems to get lost somewhere in some sort of objects table (I presume) and then the server can't find it. Which is odd because they have all been created and destroyed on the server.. I hand over to BIS!

 

However, you can definitely cut down on this problem if scripting a vehicle getting damaged by first making sure you removed the crew and un-assigning them from the vehicle....

 

Will be watching this ticket.

 

Share this post


Link to post
Share on other sites

i run into exactly same problem, any news on this ?

Share this post


Link to post
Share on other sites

i've just found that  achilles mod  can spot this   deads , and manually select and delete them!
maybe someone with greater experience can help here!

Share this post


Link to post
Share on other sites

@das attorney

@Dwarden

@pierremgi

@killzone_kid

 

Just to resurrect an old thread. I was still having a lot of trouble with this, but I think I have found the solution....(probably not knowing my luck)

 

I know the wiki has been updated re deleteVehicle and deleteVehicleCrew but I think it should apply to everything, not just vehicles.... 

 

When deleting *anything* form the allDead collection you need to use deleteVehicleCrew - even if the class is a kind of man. I found that for some reason some objects have themselves as their own crew. This is especially so when the object is some type of ***.p3d. This makes them self-referential (as far as I understand - and when you use deleteVehicle _x, the next time it tries to find it, it can't find the crew object and so fails. (I reckon :dummy:)

 

So when deleting anything... use:

{
	{(vehicle _x) deleteVehicleCrew _x} foreach crew _x;
	deleteVehicle _x;
} forEach allDead;

 

for those who want to here is the output from a test mission where the code is:

 

diag_log "****** DELETING DEADMEN *******";
		{
			_netID = _x call BIS_fnc_netId;
			_object = _netID call BIS_fnc_objectFromNetID;
			diag_log format ["allDead: %1, class: %2, netID %3, object %4, crew %5, vehicle %6", _forEachIndex, typeOf _x, _netID, _object, crew _x, vehicle _x];
		} forEach allDead;
		diag_log "****";
		{
			{(vehicle _x) deleteVehicleCrew _x} foreach crew _x;
			deleteVehicle _x;
		} forEach allDead;
		{
			
			_netID = _x call BIS_fnc_netId;
			_object = _netID call BIS_fnc_objectFromNetID;
			diag_log format ["allDead: %1, class: %2, netID %3, object %4, crew %5, vehicle %6", _forEachIndex, typeOf _x, _netID, _object, crew _x, vehicle _x];
		} forEach allDead;
		diag_log "******************************";

and the out put goes from each cycle....

 

"****** DELETING DEADMEN *******"
"allDead: 0, class: B_Soldier_F, netID 2:1005, object B Alpha 4-1:2, crew [B Alpha 4-1:2], vehicle B Alpha 4-1:2"
"allDead: 1, class: O_Soldier_F, netID 2:701, object O Alpha 2-6:2, crew [O Alpha 2-6:2], vehicle O Alpha 2-6:2"
"allDead: 2, class: I_soldier_F, netID 2:729, object R Alpha 2-6:1, crew [R Alpha 2-6:1], vehicle R Alpha 2-6:1"
"allDead: 3, class: O_Soldier_F, netID 2:1037, object O Alpha 4-1:2, crew [O Alpha 4-1:2], vehicle O Alpha 4-1:2"
"allDead: 4, class: B_Soldier_F, netID 2:1053, object B Alpha 4-2:2, crew [B Alpha 4-2:2], vehicle B Alpha 4-2:2"
"allDead: 5, class: O_Soldier_F, netID 2:1085, object O Alpha 4-2:2, crew [O Alpha 4-2:2], vehicle O Alpha 4-2:2"
"allDead: 6, class: B_Soldier_F, netID 2:625, object B Alpha 2-5:3, crew [B Alpha 2-5:3], vehicle B Alpha 2-5:3"
"allDead: 7, class: I_soldier_F, netID 2:298, object R Alpha 1-3:3, crew [R Alpha 1-3:3], vehicle R Alpha 1-3:3"
"allDead: 8, class: O_Soldier_F, netID 2:841, object O Alpha 3-3:1, crew [O Alpha 3-3:1], vehicle O Alpha 3-3:1"
"****"
"allDead: 0, class: B_Soldier_F, netID 2:1005, object <NULL-object>, crew [21859d71400# 1814123: b_soldier_01.p3d], vehicle 21859d71400# 1814123: b_soldier_01.p3d"
"allDead: 1, class: O_Soldier_F, netID 2:701, object <NULL-object>, crew [21856e50780# 1813952: o_soldier_01.p3d], vehicle 21856e50780# 1813952: o_soldier_01.p3d"
"allDead: 2, class: I_soldier_F, netID 2:729, object <NULL-object>, crew [2185c5a1040# 1813967: ia_soldier_01.p3d], vehicle 2185c5a1040# 1813967: ia_soldier_01.p3d"
"allDead: 3, class: O_Soldier_F, netID 2:1037, object <NULL-object>, crew [218565d51c0# 1814141: o_soldier_01.p3d], vehicle 218565d51c0# 1814141: o_soldier_01.p3d"
"allDead: 4, class: B_Soldier_F, netID 2:1053, object <NULL-object>, crew [2185644d6c0# 1814150: b_soldier_01.p3d], vehicle 2185644d6c0# 1814150: b_soldier_01.p3d"
"allDead: 5, class: O_Soldier_F, netID 2:1085, object <NULL-object>, crew [2185bae90c0# 1814173: o_soldier_01.p3d], vehicle 2185bae90c0# 1814173: o_soldier_01.p3d"
"allDead: 6, class: B_Soldier_F, netID 2:625, object <NULL-object>, crew [2185c8f0b00# 1813910: b_soldier_01.p3d], vehicle 2185c8f0b00# 1813910: b_soldier_01.p3d"
"allDead: 7, class: I_soldier_F, netID 2:298, object <NULL-object>, crew [21858c44500# 1813727: ia_soldier_01.p3d], vehicle 21858c44500# 1813727: ia_soldier_01.p3d"
"allDead: 8, class: O_Soldier_F, netID 2:841, object <NULL-object>, crew [2185b1c5300# 1814030: o_soldier_01.p3d], vehicle 2185b1c5300# 1814030: o_soldier_01.p3d"
"******************************"
"****** DELETING DEADMEN *******"
"allDead: 0, class: I_soldier_F, netID 2:737, object R Alpha 2-6:3, crew [R Alpha 2-6:3], vehicle R Alpha 2-6:3"
"allDead: 1, class: B_Soldier_F, netID 2:961, object B Alpha 3-6:3, crew [B Alpha 3-6:3], vehicle B Alpha 3-6:3"
"allDead: 2, class: I_soldier_F, netID 2:390, object 2185c0413c0# 1813778: ia_soldier_01.p3d, crew [2185c0413c0# 1813778: ia_soldier_01.p3d], vehicle 2185c0413c0# 1813778: ia_soldier_01.p3d"
"allDead: 3, class: O_Soldier_F, netID 2:749, object O Alpha 3-1:2, crew [O Alpha 3-1:2], vehicle O Alpha 3-1:2"
"allDead: 4, class: I_soldier_F, netID 2:929, object R Alpha 3-4:3, crew [R Alpha 3-4:3], vehicle R Alpha 3-4:3"
"****"
"allDead: 0, class: I_soldier_F, netID 2:737, object <NULL-object>, crew [2185c7b1040# 1813973: ia_soldier_01.p3d], vehicle 2185c7b1040# 1813973: ia_soldier_01.p3d"
"allDead: 1, class: B_Soldier_F, netID 2:961, object <NULL-object>, crew [2185baf48c0# 1814099: b_soldier_01.p3d], vehicle 2185baf48c0# 1814099: b_soldier_01.p3d"
"allDead: 2, class: I_soldier_F, netID 2:390, object <NULL-object>, crew [2185c0413c0# 1813778: ia_soldier_01.p3d], vehicle 2185c0413c0# 1813778: ia_soldier_01.p3d"
"allDead: 3, class: O_Soldier_F, netID 2:749, object <NULL-object>, crew [2185c8aca80# 1813979: o_soldier_01.p3d], vehicle 2185c8aca80# 1813979: o_soldier_01.p3d"
"allDead: 4, class: I_soldier_F, netID 2:929, object <NULL-object>, crew [2185ba1d240# 1814081: ia_soldier_01.p3d], vehicle 2185ba1d240# 1814081: ia_soldier_01.p3d"
"******************************"
  
  "****** DELETING DEADMEN *******"
"allDead: 0, class: O_Soldier_F, netID 2:354, object O Alpha 1-5:1, crew [O Alpha 1-5:1], vehicle O Alpha 1-5:1"
"allDead: 1, class: I_soldier_F, netID 2:877, object R Alpha 3-3:2, crew [R Alpha 3-3:2], vehicle R Alpha 3-3:2"
"****"
"allDead: 0, class: O_Soldier_F, netID 2:354, object <NULL-object>, crew [218576fc8c0# 1813757: o_soldier_01.p3d], vehicle 218576fc8c0# 1813757: o_soldier_01.p3d"
"allDead: 1, class: , netID , object <NULL-object>, crew [], vehicle <NULL-object>"
"******************************"

  

with none of the "Can't find object" spam in the log file.... and it seems to be able to delete a <NULL-object> type with out any problems.....

 

In particular notice

 

"allDead: 2, class: I_soldier_F, netID 2:390, object 2185c0413c0# 1813778: ia_soldier_01.p3d, crew [2185c0413c0# 1813778: ia_soldier_01.p3d], vehicle 2185c0413c0# 1813778: ia_soldier_01.p3d"

where the .p3d object is it's own crew (and vehicle!)......you can now delete these if you delete the crew and then it becomes a <NULL-object>

 

I'll set up a mission to test this thoroughly but I thought I would post for those interested. And I suspect this is no news at all to anyone!

 

Atmo

 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
On 1/7/2019 at 4:56 AM, atmo said:

I'll set up a mission to test this thoroughly but I thought I would post for those interested. And I suspect this is no news at all to anyone!

 

@Atmo

Give me a sample mission, please. AllDead is still increasing in my case.

Share this post


Link to post
Share on other sites

@magicsrp Hi,, did you try 

{
	_x deleteVehicleCrew _x;
} forEach allDead;

With the remains collector enabled in the mission editor? Running the above once in a while seems to fix the issue.

 

Can't quite find where I put it now but I'll piece something together again and post it for you (maybe tomorrow).

 

Atmo

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×