Page MenuHomeFeedback Tracker

Deleting non-local object produces RPT spam
Assigned, WishlistPublic

Description

This causes:

  • Increased, unnecessary Network Traffic
  • RPT file size increase (file operations are not cost-free?)
  • Unnecessary diag_log/logFormat calls.
  • RPT becomes illegible. 2,000,000 lines with only a few thousand are any use.

Deleting a server-owned object from the client, causes server to write to RPT a message like this:

Error: Object(4 : 481) not found
Server: Object 4:481 not found (message Type_162)

Deleting a client-owned object from the server, causes client to write to server RPT a message like this:

Error: Object(3 : 119) not found
Client: Object 3:119 (type Type_119) not found. {F26505} {F26506}

Details

Legacy ID
2610728805
Severity
None
Resolution
Open
Reproducibility
Always
Category
Performance
Steps To Reproduce
  • snipped unreliable repro *

View attached PBO, run on dedicated server.

Once in session, use action menu to start/stop the repro.

Once the test is running, view the servers RPT file.

Additional Information

I don't think so many recursive diag_log/logFormat calls is good for performance, neither is a growing RPT file.

Also it is the client writing to the servers RPT file, meaning each line represents network traffic.

Seems as if there is an object array being iterated through. Perhaps delete the null element from that array rather than log a report, or at least allow scripters the ability to switch off that diag_log/logFormat call to cut down on network traffic, RPT size, diag_log calls, and make the RPT more user-friendly.

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Hey Adam,

I'll sort out a reliable REPRO this weekend.

Ticket updated with repro PBO. Sorry about the delay! :)

  1. Run PBO in dedicated environment
  1. In-game, use action menu to toggle Test on/off.
  1. While test is on, view the servers RPT.
  1. Some control variables in the initPlayerLocal.sqf to toggle on/off creation of certain types of objects, as well as the recursive slaying of the player.

Sample should be filled with this type of text:

Error: Object(3 : 518) not found
Server: Object 3:769 not found (message Type_125)
Server: Object 3:770 not found (message Type_112)
Error: Object(3 : 765) not found
Error: Object(3 : 768) not found
Error: Object(3 : 764) not found
Server: Object 3:776 not found (message Type_125)
Server: Object 3:777 not found (message Type_112)

Adam added a comment.Aug 24 2015, 10:53 AM

Thanks for the repro mission! But unfortunately i only got one
0:42:44 Server: Object 3:30 not found
for the 5-10 mins the server has been running

Cyruz added a comment.Aug 24 2015, 4:41 PM

Ok but the point is that we don't need that level of debugging in the general RPT because anything that cleans up on a large scale will generate way more entries than this test with just a single client connected.

With this example can you trace it's origin and remove the unwanted diag_log/logFormat calls?

I have no idea how you cant reproduce this?
This is literally in every multiplaye game thousands and thoussands of this lines.

Do you even play your game?


BIS Adam
Thanks for the repro mission! But unfortunately i only got one
0:42:44 Server: Object 3:30 not found
for the 5-10 mins the server has been running


Did use the 'Run Test' action?

Also, are viewing the client RPT or the server RPT? The pasted output above is from my dedi's RPT only a few seconds into the test.

Client RPT will not show anything of note in this repro.

Adam added a comment.Aug 25 2015, 9:41 AM

I was viewing the server .RPT of course :). I also did run the test action.

Adam added a comment.Aug 25 2015, 10:18 AM

Scratch that. Finally managed to reproduced thanks to your awesome repro mission!

i am running 1.54 hotfix and still waiting for a fix :/ is there any progress?

My 800,000 line RPT file (zero script errors) from yesterday says no. At the very least we should be able to filter this crap out, similar to BE filters.

The most useful solution is simply to remove this logging since it serves no positive value and simply renders the RPT file useless for quick review.

_object remoteExecCall ["deleteVehicle",_object];

Little workaround, because the command will executed where the object is local ;D

havena added a comment.Dec 7 2015, 1:43 AM

already try with bis_fnc_mp but without success

In my opinion a better solution (workaround) is to add garbage to a global array and each machine can run a (local _x) on it before deleting the element. Then the server comes along and removes null elements periodically. Still a sloppy fix for a problem that BI could easily solve.

I think they are trying to fix it completly without a workaround. For clients the -nolog should help. I think there is something bigger behind this rpt spam than just the spam.

havena added a comment.Dec 8 2015, 2:44 PM

i try _object remoteExecCall ["deleteVehicle",_object];

but always the same spam

Still having this issue running 1.54.133741.

Still an issue 1.62.xxxxxx

Still occurring in 1.64

still in 1.66

BI Please fix we have same issues on HCs

10:01:41 Can't change owner from 0 to 2
10:01:41 Server: Object info 2:6182 not found.
10:01:41 Can't change owner from 0 to 2
10:01:41 Server: Object info 2:6182 not found.
10:01:41 Can't change owner from 0 to 2
10:01:41 Server: Object info 2:6182 not found.
10:01:41 Can't change owner from 0 to 2
10:01:41 Server: Object info 2:6182 not found.

**diag_log format ["object: %1, type: %2", (objectfromnetid "2:6182"),(typeof(objectfromnetid "2:6182"))];

"object: a2fa1d00# 1833521: dummyweapon.p3d, type: Supply30"**

WTF? @Dwarden

I had this message 18,221 times in 4 hours for this object and it is like this every reboot.

Yeah ffs Bohemia please mute this useless garbage once and for all, it provides no relevant information whatsoever to end users, all it does is clog I/O and make everything else harder to analyze.

Can't change owner from %d to %d
 
Server: Object info %d:%d not found
 
Server: Object %d:%d not found (message %s)

Together, these 3 message types make up 97% of a 13 MB log from a 4-hour peak-time session.

wyattwic added a subscriber: wyattwic.EditedMay 6 2017, 8:56 AM

Confirming this is still an issue as of 1.68.141205 on Linux Dedicated server. We have about 40MB in the last day of "Server: Object 2:2841 not found (message Type_93)" and similar.

Edit: This is happening even when the server is empty.

Still occurring in 1.70

hobart added a subscriber: hobart.May 31 2017, 1:10 PM

Yes indeed this is still an issue, AgentRev do you have a fix?

reekoj added a subscriber: reekoj.Jun 1 2017, 11:05 AM

Still happening on dev branch...
@Adam

Jigsor added a subscriber: Jigsor.Jul 8 2017, 11:43 AM
tspate added a subscriber: tspate.Jul 12 2017, 8:29 AM

So i can see this is almost two years old now and the issue is still happening. is there going to be a fix?

This is still an issue, and very annoying. Fills my logs with information we don't need to see.

So i can see this is almost two years old now and the issue is still happening. is there going to be a fix?

Doubtful, they seem to fix things that affect normal clients directly not back-end things that cause instability such as this. The true disconnect is that they (BIS) don't see or care that this causes issues for those clients in the form of lag. But yessir they're too busy atm making objects such as cans have physx (they now fall over and roll sometimes when you shoot them...) to fool with anything such as this. C'mon let's be real the only reason we now have a x64 .exe is because someone close to them or in the community trolled the Sh** outta them for being in the dark ages....

Manzarek added a comment.EditedNov 29 2017, 1:05 AM

Can be reproduced with setunitloadout on a multplayer game.
Just run getunitloadout then setunitloadout from a client.

It is creating backpack and Supply20 or (Supply40, ...) outside of map with simulation enabled.

@Dwarden This can cause massive performance issue in multiplayer

reekoj added a subscriber: Wulf.EditedJan 11 2018, 10:29 AM

Still occuring in last stable version...
This ticket is 2.5 years old , can you please have a look at it once for all ?
@Wulf @Adam @Dwarden @razazel

shukari added a comment.EditedMar 22 2018, 10:41 PM

Has many duplicates -> T79285 T83321 T77860 T76277

Mods like ALiVE trigger this problem really hard... because of there virtual ai feature i suppose?!?!
To many AI that get deleted and created?!?
They dont use setUnitLoadout/getUnitLoadout for there virtual ai feature... so this is not the problem there.

Commands that seams to trigger this:
setGroupOwner
setUnitLoadout
deleteVehicle

In my case are the 150mb rpt log all Supply* containers that are -1,6m in the ground from dead ai...
i use the corpseManager and i suppose that that dont delete the supply* things.

shukari added a comment.EditedApr 4 2018, 6:26 PM

The most spam was produced because of the corpseManager...
I use the manager for every corpse... and it deletes the body but not the Supply100/20/40/120 container of the corpse/backpack ... this container is then 1,6m under the ground.
Only the server has this Supply??? container... and the rpt is spamming:

Error: Object(4 : 481) not found
Server: Object 4:481 not found (message Type_162)

Please look into this corpsemanager problem!

Manzarek added a comment.EditedMay 13 2018, 1:02 AM

@Wulf @Adam @Dwarden @razazel

The Error: Object(x:xx) not found happen when changing gear (rapidly for best results).

Its a few line of RPT spam when a player connect and you have to equip it.
A few more RPT lines when a player disconnect and you delete the unit
A few more RPT lines when a player browse the clothing shop
A few more RPT lines when a player dies/respawn
...

And all of this make the RPT unusable.
This is a repro that make it quite obvious

TEST 1:
Connect on a dedicated server and run this

for [{_i=0}, {_i<100}, {_i=_i+1}] do { 
    loadout = getUnitLoadout player;
    player setUnitLoadout loadout;
};

RESULT:
Check the dedicated server RPT:

0:57:01 Server: Object 4:14830 not found (message Type_454)
0:57:01 Server: Object 4:14829 not found (message Type_93)
0:57:01 Server: Object 4:14831 not found (message Type_121)
0:57:01 Server: Object 4:14854 not found (message Type_454)
0:57:01 Server: Object 4:14853 not found (message Type_93)
0:57:01 Server: Object 4:14855 not found (message Type_121)
0:57:01 Server: Object 4:14878 not found (message Type_454)
0:57:01 Server: Object 4:14877 not found (message Type_93)
0:57:01 Server: Object 4:14879 not found (message Type_121)
0:57:01 Server: Object 4:14902 not found (message Type_454)
0:57:01 Server: Object 4:14901 not found (message Type_93)
0:57:01 Server: Object 4:14903 not found (message Type_121)
0:57:01 Server: Object 4:14926 not found (message Type_454)
0:57:01 Server: Object 4:14925 not found (message Type_93)
0:57:01 Server: Object 4:14927 not found (message Type_121)
0:57:01 Server: Object 4:14953 not found (message Type_454)
0:57:01 Server: Object 4:14952 not found (message Type_93)
0:57:01 Server: Object 4:14954 not found (message Type_121)
0:57:01 Server: Object 4:14974 not found (message Type_454)
0:57:01 Server: Object 4:14973 not found (message Type_93)
0:57:01 Server: Object 4:14975 not found (message Type_121)
0:57:01 Server: Object 4:14998 not found (message Type_454)
0:57:01 Server: Object 4:14997 not found (message Type_93)
0:57:01 Server: Object 4:14999 not found (message Type_121)
0:57:01 Server: Object 4:15022 not found (message Type_454)
0:57:01 Server: Object 4:15021 not found (message Type_93)
0:57:01 Server: Object 4:15023 not found (message Type_121)
0:57:01 Server: Object 4:15043 not found (message Type_454)
0:57:01 Server: Object 4:15042 not found (message Type_93)
0:57:01 Server: Object 4:15044 not found (message Type_121)
0:57:01 Server: Object 4:15064 not found (message Type_454)
0:57:01 Server: Object 4:15063 not found (message Type_93)
0:57:01 Server: Object 4:15065 not found (message Type_121)
0:57:01 Server: Object 4:15088 not found (message Type_454)
0:57:01 Server: Object 4:15087 not found (message Type_93)
0:57:01 Server: Object 4:15089 not found (message Type_121)
0:57:01 Server: Object 4:15106 not found (message Type_454)
0:57:01 Server: Object 4:15105 not found (message Type_93)
0:57:01 Server: Object 4:15107 not found (message Type_121)
0:57:03 Error: Object(4 : 15043) not found
0:57:03 Error: Object(4 : 15064) not found
0:57:03 Error: Object(4 : 15088) not found

TEST 2:
Connect on a dedicated server and run this

for [{_i=0}, {_i<100}, {_i=_i+1}] do { 
    player addBackpackGlobal "B_TacticalPack_ocamo";
    player addBackpackGlobal "B_TacticalPack_oli";
};

RESULT:
Check the dedicated server RPT:

....
0:46:36 Error: Object(4 : 13319) not found
0:46:36 Error: Object(4 : 13318) not found
0:46:36 Error: Object(4 : 13325) not found
0:46:36 Error: Object(4 : 13324) not found
0:46:36 Error: Object(4 : 13327) not found
0:46:36 Error: Object(4 : 13326) not found
0:46:36 Error: Object(4 : 13329) not found
0:46:36 Error: Object(4 : 13328) not found
0:46:36 Error: Object(4 : 13334) not found
0:46:36 Error: Object(4 : 13335) not found
0:46:36 Error: Object(4 : 13337) not found
0:46:36 Error: Object(4 : 13336) not found
0:46:36 Error: Object(4 : 13341) not found
0:46:36 Error: Object(4 : 13340) not found
0:46:36 Error: Object(4 : 13343) not found
0:46:36 Error: Object(4 : 13342) not found
0:46:36 Error: Object(4 : 13345) not found
0:46:36 Error: Object(4 : 13344) not found
0:46:36 Error: Object(4 : 13351) not found
0:46:36 Error: Object(4 : 13350) not found
0:46:36 Error: Object(4 : 13357) not found
0:46:36 Error: Object(4 : 13356) not found
0:46:36 Error: Object(4 : 13358) not found
0:46:36 Error: Object(4 : 13359) not found
0:46:36 Error: Object(4 : 13360) not found
0:46:36 Error: Object(4 : 13361) not found
0:46:36 Error: Object(4 : 13366) not found
0:46:36 Error: Object(4 : 13367) not found
0:46:36 Error: Object(4 : 13372) not found
0:46:36 Error: Object(4 : 13373) not found
0:46:36 Error: Object(4 : 13375) not found
0:46:36 Error: Object(4 : 13374) not found
0:46:36 Error: Object(4 : 13380) not found
0:46:36 Error: Object(4 : 13381) not found
0:46:36 Error: Object(4 : 13382) not found
0:46:36 Error: Object(4 : 13383) not found
0:46:36 Error: Object(4 : 13390) not found
0:46:36 Error: Object(4 : 13391) not found
...

AND MORE

This comment was removed by Manzarek.
razazel reassigned this task from Adam to Wulf.May 14 2018, 12:15 PM
razazel added a subscriber: Adam.

something to my point with the garbage collector grpNull and allDeadmen problem that cause many "not found" messages -> https://forums.bohemia.net/forums/topic/208893-increasing-alldead-and-alldeadmen-collections-during-game-cant-deletevehicle/?do=findComment&comment=3220644

ph1823 added a subscriber: ph1823.Jun 30 2018, 2:22 PM

Hi, the bug is still present on version 1.82, please fixed this :D

C0kkie added a subscriber: C0kkie.Jul 10 2018, 8:03 PM

Pleaaaaaassssseeeeeeeeeeeee fix

i dont think they care any more about arma3

version 1.84, please fixed this

C0kkie added a comment.Sep 6 2018, 4:43 PM

still not fixed :I

DrSova added a subscriber: DrSova.Feb 13 2019, 3:20 PM

Still present

topden added a subscriber: topden.EditedMar 10 2019, 11:04 PM

1.90 !!!!!!!!!!!! pplleeaassee ffiixx!!

0:43:54 Server: Object 2:14030 not found (message Type_121)
0:43:55 Server: Object 2:14029 not found (message Type_121)
0:43:55 Server: Object 2:10185 not found (message Type_93)
0:43:55 Server: Object 2:10189 not found (message Type_93)
0:43:56 Server: Object 2:14044 not found (message Type_121)
0:43:58 Server: Object 2:14030 not found (message Type_93)
0:43:58 Server: Object 2:14029 not found (message Type_93)
0:43:58 Server: Object 2:14044 not found (message Type_93)
0:43:58 Server: Object 2:14045 not found (message Type_93)
0:43:58 Server: Object 2:20446 not found (message Type_121)
0:43:58 Server: Object 2:9541 not found (message Type_121)
0:43:58 Server: Object 2:9542 not found (message Type_121)
0:43:58 Server: Object 2:20445 not found (message Type_121)
0:43:59 Server: Object 2:9560 not found (message Type_121)
0:44:00 Server: Object 2:9559 not found (message Type_121)
0:44:03 Server: Object 2:6771 not found (message Type_93)
0:44:03 Server: Object 2:6775 not found (message Type_93)
0:44:03 Server: Object 2:6808 not found (message Type_93)
0:44:03 Server: Object 2:6829 not found (message Type_93)
0:44:04 Server: Object 2:6845 not found (message Type_93)
0:44:05 Server: Object 2:18286 not found (message Type_93)
0:44:05 Server: Object 2:18287 not found (message Type_93)
0:44:05 Server: Object 2:9541 not found (message Type_93)
0:44:05 Server: Object 2:9542 not found (message Type_93)
0:44:07 Server: Object 2:9559 not found (message Type_93)
0:44:07 Server: Object 2:9560 not found (message Type_93)
0:44:12 Server: Object 2:6771 not found (message Type_121)
0:44:12 Server: Object 2:10137 not found (message Type_93)
0:44:12 Server: Object 2:10138 not found (message Type_93)
0:44:12 Server: Object 2:20445 not found (message Type_93)
0:44:12 Server: Object 2:20446 not found (message Type_93)

Very much present - bump

This kills system resources and crashes server with out of memory errors. Last one I got was over 130mb in my server rpt of nothing but

not found (message Type_93)
not found (message Type_120)

Over 800,000 lines.

Turning logs off for now...Wish I didn't have to with all the money I spent on this game for a 3 year old issue that still is not been addressed Logs are imperative for server owners!

@Dwarden please fix this

razazel reassigned this task from Wulf to Astaroth.May 7 2019, 1:09 PM
Sparker added a subscriber: Sparker.May 7 2019, 6:34 PM

5K lines in one hour of play on Antistasi

the problem is solved or are we going to look at this sh*t in the logs ??

still not fixed !!!

If it was fixed this ticket wouldn't be open.

I think its a shame that this Bug is opened for about 5 years now. Is there any satisfactory answer why Bohemia doesnt fix this issue? I guess there was plenty of time to do this bugfix. Proof me wrong if you dont agree with my opinion...

Tequiller added a subscriber: Tequiller.EditedJul 24 2020, 4:12 AM

Do you need a new task for my comment?

By testing script alone with a server and two games (on the same computer), with only CBA and a mod from and for me (a personal light console), I have same Spam.
My script is executed from mission files, without any mod.

During tests I observe that spamming messages are linked to objects that are not present in several players interface. So several objects are not created among all clients.

Goal of my script: follow an object with an infinite smoke.

  • If any player take the oibject, a smoke is created and attached to the player
  • If this player enter into a vehicle, smoke is now attached to vehicle
  • If this player put the object on the ground, smoke is attached to the ground (dummyweapon)
  • If this player put the object in a box, smoke disapear

(no event handlers used because of possibility to lost the object by using some actions where none EH could see... it was a high puzzle but it works very well)

This script is completely oriented Server. Clients don't execute nothing.

What I observe:

  1. In the server spam

Server: Object 2:XXX not found (message Type_XXX)

since starting game. I regret to not have tested all of them, but one of those objects was a dummyweapon that was "jumping" at [0,0,0] position. I was surprising to observe this object was well knows by the Server but not to both players! I've just done this to stop spam :

deleteVehicle objectFromNetId _x;
  1. In Client those dummyweapons (or objects which spammed the server rpt file) was unknown but no message into the client rpt file.
  2. In Client, there're spam :

Client: Object 2:XXX (type Type_XXX) not found.

But this problem was also physic in game : This object is the infinite smoke! And when the rpt was spammed, in game the smoke wasn't visible.
I could have:

  • no errors
  • only player 1 can see the smoke and was not spammed
  • only player 2 can see the smoke and was not spammed
  • both players are spammed and can't see the smoke

And always no error in Server about the infinite smoke.
Client spams stop when server deletes the object.

I hope to be understandable, if needed I could shared my script...
In SP I had no problems.

First ask: is it possible my errors are just from a bug because both games and server are all executed from the same computer? (i.e. same IP address...)

First ask: is it possible my errors are just from a bug because both games and server are all executed from the same computer? (i.e. same IP address...)

no

Thank you, that information is awesome! Yes please share your script, if possible in a minimal form.

dedmen claimed this task.Jul 26 2020, 1:51 AM
dedmen added a subscriber: Astaroth.

I've deleted all scripts that are not about this subject.

The smoke works thanks function TEK_MISSION_fnc_followArtefact, with the parameter _step = PUT_SMOKE.
Just launch this test in solo / multi host / multi server with at least two players...
And take the helmet, throw it on the ground, take it again, put it in a car, drag it from the car to the ground (event handlers don't permit to check this last action, that's why the complexity of my script), etc, etc.
Only the initial crate doesn't react with the helmet. All others objects and players react.

So I try to follow an item called in script artefact (the helmet) and mark the wearer of the artefact.
You could find in initPlayerLocal.sqf that I create deliberately an error to avoid a popup in game, because I didn't found a function that permits to check if a file exists or not. This is only for functions that change texture and materials. Except for object damages where I've "convoluted" problems, this function work very well.

I wished to delete IA playable units in solo for this test, but isMultiplayer doesn't seem to work during initialisation game. *should I create a task for this remark? ^^ I'll go to move for several days... don't have more times now...

Hope this could help you.