Hyper.nl Unreal Services Forum Index Hyper.nl Unreal Services
The forum of Hyper.nl Unreal Services and the semi-offical resource for Winged Unicorn's Unreal mods
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

NaliPlayer crashing on reconnect or level switch

 
Post new topic   Reply to topic    Hyper.nl Unreal Services Forum Index -> Support
View previous topic :: View next topic  
Author Message
Hyper



Joined: 24 Jan 2004
Posts: 1227
Location: Middelburg, The Netherlands

PostPosted: Fri Apr 09, 2004 3:40 pm    Post subject: NaliPlayer crashing on reconnect or level switch Reply with quote

The MCoopNaliPlayer causes my client to crash on reconnect or level switch. The server keeps running without problems. Any clues?

Quote:

---------------------------
Critical Error
---------------------------
Assertion failed: Connection [File:C:\Build\UnrealGold\Engine\Src\UnScript.cpp] [Line: 1548]



History: AActor::ProcessRemoteFunction <- (Function MCoop2.MCoopNaliPlayer.NormallyVisible) <- UObject::ProcessEvent <- (MCoopNaliPlayer TheSunspire.MCoopNaliPlayer0, Function MCoop2.MCoopNaliPlayer.PlayerWalking.EndState) <- EndState <- ULevel::DestroyActor <- (MCoopNaliPlayer TheSunspire.MCoopNaliPlayer0) <- UPlayer::Destroy <- UNetConnection::Destroy <- UObject::ConditionalDestroy <- (TcpipConnection Transient.TcpipConnection0) <- DestroyServerConnection <- UNetDriver::Destroy <- UObject::ConditionalDestroy <- (TcpNetDriver Transient.TcpNetDriver0) <- DispatchDestroy <- (7104: TcpNetDriver Transient.TcpNetDriver0) <- DispatchDestroys <- UObject::PurgeGarbage <- UObject::CollectGarbage <- Cleanup <- UGameEngine::LoadMap <- AttemptLoadPending <- TickPending <- UGameEngine::Tick <- UpdateWorld <- MainLoop
---------------------------
OK
---------------------------

_________________
Alter your reality...forever.
Hyper.nl Unreal Services
unreal://hypercoop.tk
Back to top
View user's profile Send private message Visit poster's website
Winged Unicorn



Joined: 22 Jan 2004
Posts: 87

PostPosted: Fri Apr 09, 2004 8:12 pm    Post subject: Reply with quote

Hmm, I'll give it a look as soon as I can.
_________________
Ride to the starlight... there, where heroes lie
Back to top
View user's profile Send private message Visit poster's website
dark-_|_-night
Guest





PostPosted: Fri Apr 16, 2004 7:49 am    Post subject: Reply with quote

Hyper this happend mostly random on my ut server (im useing monster coop for ut )

Dose any one else crash randomly when people play as a monster cuz THIS happend to me ONCE when i played your server (i have unreal gold )

Mostly cuz i have to keep my name as a monster and when people see me i just hate it like he** when they start shooting at me

But for most these crashs are happen R-A-Ndomly on my lan server


P.S. hype could u tell people not to shoot monsters unless its a bot please thank you.
Back to top
dark-_|_-night
Guest





PostPosted: Fri Apr 16, 2004 7:59 am    Post subject: Reply with quote

I see your probelm This never (well not always) happend when i use a REGULAR install (not bundled up versions) of unreal

So probley its cuz unreal gold's incombabality sh*t i guss

OR seeing that error has something to do with destroy u may have to make sure a "Clone Reaparence Glitch,CRG" didint appear when he connected This happens with bots on most of my mods

Also if this happend ot a player that assertion failed thing might pop up

U might need to check for erros in the script to fix this problem

Also when players connect it takes time for every thing to get on DUe to unreals crappy net code SO my clue is He mustiv goten killed and a CRG error occoured and all of the sudden BAMM!!! assertion failed

This happend to one of my players on my lan game all he had to do was change his player class (From CY23 to CY19 "my stable version) so i could fixe Model23 "CY23" Aslo i made a bot play test and when the bot was killed The body was there but some how something spawned above it and it had the same name of the bot i shot it with a chain burst and it dissapered (The CRG error striked back) So i dug into the code and i mangaed to fixed it :shakehead: So i got him to play test Model-23 and when he Suicided No crash When i killed him No crash so u may need to see if u have a "Syntax" glitch as far as i can say

Rember unreal Gold has a heck load of incompatabilitys dont forgit that
Back to top
Zombie



Joined: 27 Jan 2004
Posts: 295

PostPosted: Fri Apr 16, 2004 11:49 am    Post subject: Reply with quote

I tend to see those "ProcessRemoteFunction" errors whenever a client is destroyed or disconnects from the server at the moment of an initiated replication instance. I had quite a few of those while doing my v226 garbage collection experiements when a player disconnects. I think a Role<Authority always requires the client to recieve a replication reply back from the server before communication is closed or else it spits that error out.

According to normal destruction procedures the current state's EndState() is supposed to be called. My guess (and some obvious hints in that log) is the call to "NormallyVisible" in any EndState() on the PlayerPawn at destruction during disconnect/levelswitch results in the error. What you think? I'd say it's a safe bet to never try any form of Role<Authority replicated function calls in an EndState() and rather keep it to BeginState().


Last edited by Zombie on Fri Apr 16, 2004 12:27 pm; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail
Winged Unicorn



Joined: 22 Jan 2004
Posts: 87

PostPosted: Fri Apr 16, 2004 4:41 pm    Post subject: Reply with quote

What you said is basically right, Zombie. In fact, by giving a look at the log you can easily get some useful hints:

Code:
History: AActor::ProcessRemoteFunction <- (Function MCoop2.MCoopNaliPlayer.NormallyVisible) <- UObject::ProcessEvent <- (MCoopNaliPlayer TheSunspire.MCoopNaliPlayer0, Function MCoop2.MCoopNaliPlayer.PlayerWalking.EndState)


As you can easily see, that piece of log shows how the crash happened when the replicated (client -> server) function NormallyVisible() was called while leaving the PlayerWalking state (PlayerWalking.EndState()).

Now, so far we know where the crash happened, but we also know why it happened:

Code:
Assertion failed: Connection [File:C:\Build\UnrealGold\Engine\Src\UnScript.cpp] [Line: 1548]


Basically, when a player calls a replicated function the engine will make sure that the player itself is valid. That's done with a simple assert( Connection ) where Connection is a pointer to the "network" player (UNetConnection).

If the player is not valid anymore - for example, if it has been destroyed due to a level change or he/she has disconnected (but the PlayerPawn actor hasn't been destroyed yet) - that Connection pointer will be NULL... therefore the assertion will result in a crash.

Possible solutions: as Zombie suggested, never call a replicated function in EndState() or, if that's absolutely needed, make sure that the UNetConnection is valid (that is, check that PlayerPawn.Player is not None)
_________________
Ride to the starlight... there, where heroes lie
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Hyper.nl Unreal Services Forum Index -> Support All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group