Download

Need some help debugging an access violation during replication

I’ve been trying to get component replication to work, and as it’s not very well documented I’ve made a stab at it. The problem is I get an access violation somewhere in the engine when I execute my test replication.

The problem comes after that - I have been stepping through the code trying to determine where the error actually is (stack trace is lying) - and after a few crashes the client is no longer able to connect to the server (it sits at a black screen, and triggering the replication on the listen server doesn’t cause the code to execute, so no client is connected.) That’s in the editor.

Now, assuming it was an editor issue, I made a client shortcut, ran the server in the editor and the client in the command line. Both run, but the client doesn’t connect to the server. It seems to be in standalone mode. The command line after UE4Editor is …RobotShooter.uproject 127.0.0.1 -game which is taken right from the Unreal Blueprint Networking tutorial.

So what I need:

How can I separate the client debug logs from the servers? Is there a command line parameter I can give it to get it to output somewhere else?

Is there some obvious fix to this issue? After it goes to a black screen, it will never work again. Restarting the machine causes it to work again a few times.

Is this a port issue? Is there some zombie process somewhere holding the port open or some other network resource? I don’t see anything in the process list (Windows 7).

The access violation appears to be a dereference of a bad pointer somewhere, but it’s hard to tell. The stack trace is lying to me, as it so often does with this type of crash. I’d love to be able to get a repeatable way to debug this without the engine failing to work after a few crashes.

Any help is appreciated.

NB: I’ve reproduced this behaviour (black screen after a few crashes) on 4.2 latest and 4.3 HEAD. Both have the replication access violation.