it happens since 2 or 3 weeks and i dont know why :/
i never had this probs before :l
Hyper wrote:Yes, I have non-open packet crashes quite often. It happens at my server too. You probably experienced it more often because you play at my server. I have no idea what it is. I'll post the error message when I get it again.
Zombie wrote:This error can happen just about anywhere. It all depends on how much is going on at once in a server and what type of action is taking place on screen. From my observations this happens most whenever there are a LOT of non-instant hit weapons firing projectiles on screen at once from multiple pawns. Most of the crashes I've had occured during large packed battles with many smoke trailing rockets in the air.
There is no exact known cause, but I've been trying to figure something of it based on when I get the crashes. I'm guessing it has something do with how much spawning effects come from certain projectiles and problems updating a client with it. Maybe weapons and there projectiles can be re-designed to re-use their projectile effects rather then destroying them? One problem is I haven't found a definite way to re-create this crash at will in order to further my research.
-Zombie
Hyper wrote:Interesting. If it's related to projectiles this can explain why it happens more often at Boodaflow's and my server. Some Aura weapons produce a lot of projectiles.
}TCP{Wolf wrote:Just for your information, Projectiles are special in network replication in so far, as their "simulated" functios are executed on ALL clients (rather than just one like the owner/instigator). Smoke trails and similar effects are spawned client side only, and not sent over the network at all. At least according to the code... There may be some exceptions too...
Zombie wrote:Doh...makes sense, a part of Epic's method of saving network bandwidth while simulating some of the movements/effects instead for fluidness. Although data must be sent over the network at some point during a projectile spawning in game because they will not appear when too much higher priority net traffic floods a client connection. Anyone else have a better guess to the source of the problem?
I can try spawning an insane amount of SkaarjGunners or other monster types in a test server, but it seems to only happen in full network games the most.
-Zombie
}TCP{Wolf wrote:Yup...
consider spawning 100 rockets simultaniously... your client will only draw smoketrails from that point on it KNOWS the rocket was there, so even if you spawned all rockets at location X, over half the smoketrails on your client will start at X+(some value)...
Hyper wrote:Okay, I got some detailed information for people who understand it:
---------------------------
Critical Error
---------------------------
New actor channel received non-open packet: 0/0/0
History: InitialClientActor <- UActorChannel::ReceivedBunch <- (Actor None) <- UChannel::ReceivedSequencedBunch <- Direct <- UChannel::ReceivedRawBunch <- DispatchDataToChannel <- BunchData <- UNetConnection::ReceivedPacket <- UNetConnection::ReceivedRawPacket <- UTcpNetDriver::TickDispatch <- UpdatePreNet <- ULevel::Tick <- (NetMode=3) <- TickLevel <- UGameEngine::Tick <- UpdateWorld <- MainLoop
---------------------------
OK
---------------------------
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: UPakConsole Transient.UPakConsole0 (Function UPak.UPakConsole.KeyEvent:0042) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: UPakConsole Transient.UPakConsole0 (Function UPak.UPakConsole.KeyEvent:0042) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
ScriptWarning: MCoopMaleThree Dig.MCoopMaleThree0 (Function Engine.Pawn.TakeDamage:009F) Accessed None
Critical: appError called:
Critical: New actor channel received non-open packet: 0/0/0
Critical: Windows GetLastError: De bewerking is voltooid. (0)
Exit: Executing UObject::StaticShutdownAfterError
Exit: UGalaxyAudioSubsystem::ShutdownAfterError
Exit: Executing UWindowsClient::ShutdownAfterError
Log: DirectDraw End Mode
Exit: UOpenGLRenderDevice::ShutdownAfterError
Critical: InitialClientActor
Critical: UActorChannel::ReceivedBunch
Critical: (Actor None)
Critical: UChannel::ReceivedSequencedBunch
Critical: Direct
Critical: UChannel::ReceivedRawBunch
Critical: DispatchDataToChannel
Critical: BunchData
Critical: UNetConnection::ReceivedPacket
Critical: UNetConnection::ReceivedRawPacket
Critical: UTcpNetDriver::TickDispatch
Critical: UpdatePreNet
Critical: ULevel::Tick
Critical: (NetMode=3)
Critical: TickLevel
Critical: UGameEngine::Tick
Critical: UpdateWorld
Critical: MainLoop
Exit: appExit
Uninitialized: Name subsystem shut down
Uninitialized: Log file closed, 12/09/04 16:42:19
Zombie wrote:Nice log capture.I've never seen that much Accessed Nones from script in Pawn.TakeDamage. Usually at most it's about 4-5 accessed nones when it does occur. I'm not at my normal workstation for debuging, but when I get back to it I'll compare this to other recorded findings.
The accessed nones and the crash might be connected, but I could be off given the amount of projectiles aura guns shoot. The 'Actor None' kinda stuff usually happens when an actor is attempting to replicate while it is being destroyed. I think we should find out what object reference is at offset 009F in the Pawn.TakeDamage script and see if that can lead us anywhere further.
-Zombie
Hyper wrote:I don't think it's related to MCoop2. I was shooting the PainGusher, a gun which shoots explosive shrapnel grenades that also make a lot of smoke. So there were a lot of projectiles and parts of projectiles flying around.
}TCP{Wolf wrote:Hyper is correct, this crash is not (technically) related to MCoop. If you look in the brackets it says exactly where the Access none occured, and that was in Engine.Pawn.TakeDamage:9F
The line of code in question is
0009 / 008a
actualDamage = Level.Game.ReduceDamage(Damage, DamageType, Self, instigatedBy);
0010 / 00b8
Since only OBJECT REFERENCES can be None, that would leave the following possibilities:
1) Level.Game
2) Self (well that is usually never none)
3) instigatedBy
Due to the index given (9F), it must be "Level.Game".
I am assuming this function was executed clientside, because typically there is no Level.Game object on clients! The gameinfo object is purely serverside and does not replicate ever.
This function should never have been called on the client in the first place, this bug would be fixable by putting
if (Role < ROLE_Authority) return 0;
in the first line, however, I think you will still crash. As I said, this function should never have been CALLED in the first place, so the question is where it got called from... You might start guessing about accidently clientside spawned actors that had the (local) Role_Authority, maybe simulated projectiles... oh ... weren't you firing guns?Anyway there is pbviously and underlying replication issue which manifests in this error, but the real bug is likely NOT really at this location.
Zombie wrote:I was going to post about the Level.Game/IinstigatedBy part and it being a client log, but ya got to it first. Anyway, if you noticed I was talking about Pawn.TakeDamage so it was already known it didn't come from MCoop2.When the error comes from script contained within the mod it would of had an MCoop prefix in the accessed none (ex. MCoopUnrealiPlayer.TakeDamage), and I also knew Winged didn't even make any changes to that function (although he should have for adding in a nice anti-hit momentum coop feature
).
As for the break down of this problem being elsewhere you're probably completely right Wolf. However I refuse to believe that some crashing bugs like this are non-repairable (or preventable) within UScript to some extent so I'll still be looking over bugs like this when I have little to do. Others have given up on some common errors when they just needed to get a good log capture to track down a fix. I'd consider this topic a cold case until some type of lead can be found.
-Zombie
}TCP{Furious wrote:two Anti-Bug-Specialists met together...
a dark moment 4 all bugs...
Zombie wrote:I did a little digging on some websites and came across a cache archived topic that seems nearly the same.
I can't seem to get working link anymore so this is basic summary. The guy managed to get his errors to stop by changing his NIC, drivers or NIC settings. According to his observations it is a packet receive issue from an overwelmed NIC from traffic.
That sort of stuff shouldn't be required in order to try fixing the problem because this error is common across all Unreal egnine based games.
-Zombie
Hyper wrote:Interesting. Maybe it happens then when there is more projectile data to send to the players than there is bandwidth available.