Deleting non-local object produces RPT spam
Assigned, WishlistPublic


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}


Legacy ID
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.

MDCCLXXVI edited Additional Information. (Show Details)
MDCCLXXVI set Category to Performance.
MDCCLXXVI set Reproducibility to Always.
MDCCLXXVI set Severity to None.
MDCCLXXVI set Resolution to Open.
MDCCLXXVI set Legacy ID to 2610728805.May 8 2016, 12:16 PM
MDCCLXXVI edited a custom field.

This would be a welcome fix!

Cyruz added a subscriber: Cyruz.May 8 2016, 12:16 PM
Cyruz added a comment.Jul 22 2015, 3:35 PM

This is a needed fix!

Tophi added a subscriber: Tophi.May 8 2016, 12:16 PM
Adam added a comment.Jul 28 2015, 8:02 AM

Unfortunately, the code you have provided does not seem to work when executed. Could you please check the code again / make a simple repro mission? Thanks.

havena added a subscriber: havena.May 8 2016, 12:16 PM

whats wrong? try Publicvariableserver until PV from client.

//============================ EXEC ON CLIENT:

  • spawn { QS_client_objectTest = TRUE; QS_client_testObj = objNull; publicVariableServer 'QS_client_testObj'; while {QS_client_objectTest} do { if (isNull QS_client_testObj) then { QS_client_testObj = createVehicle ['C_man_1',[-10,-10,0],[],0,'NONE']; publicVariableServer 'QS_client_testObj'; }; if (!isNil 'QS_server_testObj') then { if (!isNull QS_server_testObj) then { deleteVehicle QS_server_testObj; QS_server_testObj = objNull; publicVariableServer "QS_server_testObj"; }; }; uiSleep 1; };


More than 20mb rpt file only...
Error: Object(* : *) not found
Server: Object *:
* not found (message Type_162)

For those interested, the output when #exportJIPQueue is called, will answer some more questions about the spam.

Please fix this one

Adam added a comment.Aug 3 2015, 9:21 AM

Still unable to reproduce it. The code you have provided in your comment above is not working for some reason.

Just run altis life or something.
Modding is part of this game so stop saying you wont fix things because this was no in vanilla arma3.

I upload you a RPT so you can see how useless it is for a real situation.

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...

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