Page 1 of 2

World Crash in UnrealChannel::SetActor

Posted: Wed Apr 23, 2014 5:56 pm
by John Adams
This just happened while I was watching (for a change). Someone just logged into New Telon and the console shot some spam (which was fixed a while ago) and then crashed:

Linux bt:

Code: Select all

Program received signal SIGSEGV, Segmentation fault.
0x00000000004481ec in UnrealChannel::SetActor (this=0x0, p_actor=0x6b21a0)
    at UnrealChannel.cpp:67
67              actor = p_actor;
(gdb) bt
#0  0x00000000004481ec in UnrealChannel::SetActor (this=0x0, p_actor=0x6b21a0)
    at UnrealChannel.cpp:67
#1  0x000000000042fcb3 in ChunkServer::SendPlayerInitPackets (this=0x6a4ac0,
    client=0x7fffe0000950) at ChunkServer.cpp:444
#2  0x000000000043073d in ChunkServer::HandleClientAuthConfirm (this=0x6a4ac0,
    client=0x7fffe0000950, packet_struct=0x6b18c0) at ChunkServer.cpp:581
#3  0x000000000042cdc4 in ChunkServer::Process (this=0x6a4ac0)
    at ChunkServer.cpp:179
#4  0x0000000000431f62 in ChunkServerList::Process (
    this=0x67fba0 <chunk_server_list>) at ChunkServerList.cpp:172
#5  0x000000000043bdfa in main (argc=1, argv=0x7fffffffe678) at Main.cpp:107

Re: World Crash in UnrealChannel::SetActor

Posted: Wed Apr 23, 2014 6:03 pm
by John Adams
If this is any help, it is always the same IP that crashes my world. If the player is watching these posts, please speak up as to what you are doing to cause this. Maybe something changed in the Live client?

edit: haha it's Odinzz Speak up, man! What's going on on your end that can help us solve this crash?

Re: World Crash in UnrealChannel::SetActor

Posted: Wed Apr 23, 2014 6:10 pm
by Xen
That's interesting that it is just that IP. I wonder if it is something with the character they created. They should try creating a new character and joining.

Re: World Crash in UnrealChannel::SetActor

Posted: Wed Apr 23, 2014 6:11 pm
by theFoof
I'll take a look at this later as well if not resolved, but the chunkserver pointer is invalid it looks like.

EDIT:Unreal pointer..I'm losing my mind lol.

Re: World Crash in UnrealChannel::SetActor

Posted: Wed Apr 23, 2014 6:47 pm
by Odinzz
Lol ! Yeah its me ! And I didn't do anything I swear !
I just log in ..spin around and it boots me !
I dunno ...maybe it just doesn't like me : (

I will try a new toon and see if that does it too

Re: World Crash in UnrealChannel::SetActor

Posted: Wed Apr 23, 2014 7:17 pm
by Odinzz
ok made a new toon and i ran all over NT at what felt like 100 mph lol no problems ( the elevator doesnt work lol ) as soon as i chunked into the next zone to the north ( i forget what chunk it was) it dumped....

Re: World Crash in UnrealChannel::SetActor

Posted: Wed Apr 23, 2014 7:22 pm
by John Adams
Thanks for checking that out Odinzz. It was likely the previous character. I'll do a character wipe soon as we get more code done and we'll start fresh. At least there's 1 more thing to try for testers.

As for Xen, if there's a way to trap that explosion, can we do that to prevent ending the world?

Re: World Crash in UnrealChannel::SetActor

Posted: Wed Apr 23, 2014 7:26 pm
by Odinzz
Yep no problem ! it was really kinda cool to run thru NT with almost NO LAG ! Great job so far everyone this is great stuff so glad to be a part of it !

Re: World Crash in UnrealChannel::SetActor

Posted: Wed Apr 23, 2014 11:13 pm
by theFoof
Committed what should be a fix for this, the only way that pointer could go bad is if the channel index was > 1024 (max channel index). We were never closing channels on zoning, I added this in where we receive a HELLO request for a bitstream, this should be ok but Xen would know better. I didn't notice any ill effects from it so assuming it's good.

Re: World Crash in UnrealChannel::SetActor

Posted: Thu Apr 24, 2014 5:30 am
by Xen
I'm really surprised we haven't run into this sooner. Yes, we should be calling CloseAllChannels() when a client zones, so that it can reset each channel to the defaults and set the actor pointer to NULL. Thanks Foof.