Page 9 of 14

Re: NT Crash Thread

Posted: Sat Feb 28, 2015 6:13 am
by Faux
Going back to the abilities crash, I removed the delete calls for the constructed packets. I have seen this in a few places in the code where we are attempting to "delete" packets that were not created with "new". According to some online wikis, this actually can yield unpredictable results, one of which may be a crash. Since the packets in HandleClientTrainingBegin are not created with "new", this could have been leading to an unpredictable, unreproducible crash. Those delete calls were made immediately after serializing the non_trainable_abilities packet, which aligns with the logs that John was seeing.

https://msdn.microsoft.com/en-us/library/h6227113.aspx

Code: Select all

Using delete on a pointer to an object not allocated with new gives unpredictable results.
I'll make a pass through all my code, but I would recommend others do the same. If you are "deleting" something as part of your cleanup, make sure it was actually allocated with "new". Otherwise, just reassigning a pointer to nullptr should be enough.

Re: NT Crash Thread

Posted: Tue Mar 10, 2015 8:57 am
by Xinux

Code: Select all

>	WorldServer.exe!WorldCharacter::GetInventory() Line 1836	C++
 	WorldServer.exe!ChunkServer::HandleClientEquip(std::shared_ptr<Client> & client, PacketStruct * packet) Line 1941	C++
 	WorldServer.exe!ChunkServer::ProcessPackets() Line 543	C++
 	WorldServer.exe!ChunkPacketThread(void * data) Line 142	C++
 	WorldServer.exe!ThreadRun(void * arg) Line 77	C++
 	WorldServer.exe!_callthreadstart() Line 255	C
 	WorldServer.exe!_threadstart(void * ptd) Line 239	C
 	kernel32.dll!7694338a()	Unknown
 	[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]	
 	ntdll.dll!77b49f72()	Unknown

Code: Select all

08:00:26.314 D Char     Setting player online
08:00:26.314 D Char     Successfully loaded character 'Rigor Mortis' (713)
08:00:26.314 D Chunk    Loading Unreal File List for Chunk 74
08:00:26.345 D Chunk    Starting chunk 'Ahgram' (74)
08:00:26.408 D NPC      547 NPCs Loaded in Chunk ID: 74
08:00:26.408 D PPO      1 PPOs Loaded in Chunk ID: 74
08:00:26.408 D Music    7 Music Tracks Loaded in Chunk ID: 74
08:00:26.408 D Sound    10 Sounds Loaded in Chunk ID: 74
08:00:26.423 D Mover    66 Movers Loaded in Chunk ID: 74
08:00:26.782 I UDP      New client connected from 91.19.113.231:51252
08:00:26.782 I UDP      Received session request from 91.19.113.231:51252 with connection ID 1947763353
08:00:27.110 I Chunk    New Session: Account ID: 33  Session ID: 'a5h3jdb8odib35gfkv3v6mp6r2'
08:00:27.453 D Chunk     control_text='HELLO REVISION=0 MINVER=3151 VER=3186'
08:00:27.765 D Chunk     control_text='LOGIN'
08:00:46.593 D Chunk     control_text='JOIN'
08:00:46.687 D Item     Chunkserver:: Sending Character Inventory.
08:00:46.827 D Item     Mail::CheckMail: Checking for mail.
08:00:46.827 D Item     Mail::CheckMail: Character has 0 unread mail messages.
08:01:33.236 I UDP      Client from 91.19.113.231:51251 set to disconnect : Timeout
08:01:33.267 I UDP      Client from 91.19.113.231:51252 set to disconnect : Timeout
08:01:35.264 I UDP      Client from 91.19.113.231:51251 has been removed.
08:01:35.295 I UDP      Client from 91.19.113.231:51252 has been removed.
08:01:35.311 I Chunk    Starting chunk shutdown timer for Ahgram.
08:01:36.028 D Char     Saving character 'Rigor Mortis' (713)
08:01:36.060 D Char     Saved successful for character 'Rigor Mortis' (713)
08:02:01.877 I UDP      New client connected from 91.19.113.231:51251
08:02:03.109 I UDP      New client connected from 91.19.113.231:51252
08:02:03.140 I Chunk    Chunk shutdown cancelled for Ahgram.
08:02:03.187 E Chunk    HandleClientNpcFaction: No character for client at c:\vgoemu\src\world\chunkserver.cpp:3505


Re: NT Crash Thread

Posted: Wed Mar 25, 2015 2:59 pm
by Xinux

Code: Select all

 	WorldServer.exe!Mutex::ReadLock() Line 99	C++
 	WorldServer.exe!UDPServer::GetClient(unsigned int account_id) Line 196	C++
 	WorldServer.exe!ChunkServer::GetClient(unsigned int account_id) Line 290	C++
 	WorldServer.exe!UDPServer::KickDupeClients(unsigned int account_id, unsigned int connection_id) Line 270	C++
>	WorldServer.exe!Net::HandleCharacterSelected(std::shared_ptr<Client> & client, PacketStruct * packet_struct) Line 551	C++
 	WorldServer.exe!Net::Process() Line 168	C++
 	WorldServer.exe!main(int argc, char * * argv) Line 227	C++
 	WorldServer.exe!__tmainCRTStartup() Line 241	C
 	WorldServer.exe!mainCRTStartup() Line 164	C

Code: Select all

14:16:27.937 I Char     Loaded 19 items for character_id 1129
14:16:27.940 D Char     ToggleIsOnline: Setting player online
14:16:27.943 D Char     Successfully loaded character 'Xanil Kobzon' (1129)
14:16:27.944 D Chunk    Loading Unreal File List for Chunk 180
14:16:27.948 D Chunk    Starting chunk 'Dahknarg' (180)
14:16:28.513 D NPC      1249 NPCs Loaded in Chunk ID: 180
14:16:28.537 D PPO      29 PPOs Loaded in Chunk ID: 180
14:16:28.538 D Music    34 Music Tracks Loaded in Chunk ID: 180
14:16:28.540 D Sound    29 Sounds Loaded in Chunk ID: 180
14:16:28.541 W Mover    Found mover of type MT_Other with movet_time == 0, legacy_mover_id=1
14:16:28.542 W Mover    Found mover of type MT_Other with movet_time == 0, legacy_mover_id=2
14:16:28.544 W Mover    Found mover of type MT_Other with movet_time == 0, legacy_mover_id=3
14:16:28.545 W Mover    Found mover of type MT_Other with movet_time == 0, legacy_mover_id=4
14:16:28.546 D Mover    5 Movers Loaded in Chunk ID: 180
14:16:29.119 I UDP      New client connected from 5.18.58.5:55551
14:16:29.120 I UDP      Received session request from 5.18.58.5:55551 with connection ID 1962240418
14:16:29.402 I Chunk    New Session: Account ID: 638  Session ID: '3vnta9h1qhihu91bsf31g04bt4'
14:16:51.117 W Chunk    Camp requested from client with character==null
14:16:54.288 W Chunk    Camp requested from client with character==null
14:17:26.962 I UDP      New client connected from 5.18.58.5:56708
14:17:26.963 I UDP      Received session request from 5.18.58.5:56708 with connection ID 786924072
14:17:27.218 I Net      New Session: Account ID: 638  Session ID: '3vnta9h1qhihu91bsf31g04bt4'
14:17:27.824 D Char     Loading 12 characters for account_id: 638
14:17:27.829 D Char     Loaded 1 characters for account_id: 638
14:17:27.831 D Net      Net:Loading character inventory for Xanil Kobzon.
14:17:27.832 D Char     Loading Inventory for character_id 1129
14:17:27.836 I Char     Loaded 19 items for character_id 1129
14:17:27.837 D Net      Net:Character inventory loaded.


Re: NT Crash Thread

Posted: Thu Mar 26, 2015 4:11 pm
by Xinux
Never seen this one before.

Code: Select all

 	KernelBase.dll!7701c41f()	Unknown
 	[Frames below may be incorrect and/or missing, no symbols loaded for KernelBase.dll]	
 	WorldServer.exe!_CxxThrowException(void * pExceptionObject, const _s__ThrowInfo * pThrowInfo) Line 152	C++
 	WorldServer.exe!operator new(unsigned int size) Line 63	C++
 	WorldServer.exe!operator new[](unsigned int count) Line 6	C++
>	WorldServer.exe!FragmentedPacket::FragmentedPacket(unsigned int size) Line 1189	C++
 	WorldServer.exe!std::_Ref_count_obj<FragmentedPacket>::_Ref_count_obj<FragmentedPacket><unsigned int &>(unsigned int & _V0) Line 873	C++
 	WorldServer.exe!std::make_shared<FragmentedPacket,unsigned int &>(unsigned int & _V0) Line 972	C++
 	WorldServer.exe!UDPServer::HandleFragmentedPacket(std::shared_ptr<Client> & client, SocketData * data) Line 1087	C++
 	WorldServer.exe!UDPServer::HandleReadHelper(std::shared_ptr<Client> & client, SocketData * data) Line 454	C++
 	WorldServer.exe!UDPServer::HandleMultiPacket(std::shared_ptr<Client> & client, SocketData * data) Line 912	C++
 	WorldServer.exe!UDPServer::HandleReadHelper(std::shared_ptr<Client> & client, SocketData * data) Line 448	C++
 	WorldServer.exe!UDPServer::HandleRead() Line 397	C++
 	WorldServer.exe!ReaderThread(void * data) Line 120	C++
 	WorldServer.exe!ThreadRun(void * arg) Line 77	C++
 	WorldServer.exe!_callthreadstart() Line 255	C
 	WorldServer.exe!_threadstart(void * ptd) Line 239	C
 	kernel32.dll!7694338a()	Unknown
 	ntdll.dll!77b49f72()	Unknown
 	ntdll.dll!77b49f45()	Unknown


Re: NT Crash Thread

Posted: Fri Mar 27, 2015 10:19 am
by Xinux

Code: Select all

 	WorldServer.exe!DataStruct::SerializeStringWide(char * buf, int * offset) Line 979	C++
 	WorldServer.exe!DataStruct::Serialize(char * buf, int * offset) Line 739	C++
 	WorldServer.exe!DataStructArray::Serialize(char * buf, int * offset) Line 233	C++
 	WorldServer.exe!DataStruct::Serialize(char * buf, int * offset) Line 745	C++
 	WorldServer.exe!PacketStruct::SerializeIntoBuffer() Line 711	C++
 	WorldServer.exe!SOEProtocolData::SetData(PacketStruct * packet_struct) Line 85	C++
 	WorldServer.exe!PacketStruct::Serialize() Line 724	C++
>	WorldServer.exe!ChunkServer::HandleClientTrainingBegin(const std::shared_ptr<Client> & client) Line 4178	C++
 	WorldServer.exe!ChunkServer::ProcessPackets() Line 413	C++
 	WorldServer.exe!ChunkPacketThread(void * data) Line 144	C++
 	WorldServer.exe!ThreadRun(void * arg) Line 77	C++
 	WorldServer.exe!_callthreadstart() Line 255	C
 	WorldServer.exe!_threadstart(void * ptd) Line 239	C
 	kernel32.dll!7694338a()	Unknown
 	[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]	
 	ntdll.dll!77b49f72()	Unknown
 	ntdll.dll!77b49f45()	Unknown


Re: NT Crash Thread

Posted: Fri Mar 27, 2015 2:06 pm
by Xinux

Code: Select all

 	ntdll.dll!77be0574()	Unknown
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	ntdll.dll!77b9b0b2()	Unknown
 	ntdll.dll!77b9b19c()	Unknown
 	ntdll.dll!77b43cfe()	Unknown
>	WorldServer.exe!_heap_alloc_base(unsigned int size) Line 57	C
 	WorldServer.exe!_heap_alloc_dbg_impl(unsigned int nSize, int nBlockUse, const char * szFileName, int nLine, int * errno_tmp) Line 431	C++
 	WorldServer.exe!_nh_malloc_dbg_impl(unsigned int nSize, int nhFlag, int nBlockUse, const char * szFileName, int nLine, int * errno_tmp) Line 239	C++
 	WorldServer.exe!_nh_malloc_dbg(unsigned int nSize, int nhFlag, int nBlockUse, const char * szFileName, int nLine) Line 302	C++
 	WorldServer.exe!malloc(unsigned int nSize) Line 56	C++
 	WorldServer.exe!operator new(unsigned int size) Line 59	C++
 	WorldServer.exe!std::_Allocate<std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> >(unsigned int _Count, std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * __formal) Line 28	C++
 	WorldServer.exe!std::allocator<std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> >::allocate(unsigned int _Count) Line 591	C++
 	WorldServer.exe!std::_Wrap_alloc<std::allocator<std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> > >::allocate(unsigned int _Count) Line 877	C++
 	WorldServer.exe!std::_Tree_buy<std::pair<unsigned int const ,std::shared_ptr<Npc> >,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > > >::_Buynode0() Line 898	C++
 	WorldServer.exe!std::_Tree_buy<std::pair<unsigned int const ,std::shared_ptr<Npc> >,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > > >::_Buynode<std::pair<unsigned int const ,std::shared_ptr<Npc> > &>(std::pair<unsigned int const ,std::shared_ptr<Npc> > & _V0) Line 945	C++
 	WorldServer.exe!std::_Tree<std::_Tmap_traits<unsigned int,std::shared_ptr<Npc>,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > >,0> >::_Copy_or_move<std::integral_constant<bool,0>,std::integral_constant<bool,1> >(std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * _Rootnode, std::integral_constant<bool,0> __formal, std::integral_constant<bool,1> __formal) Line 1952	C++
 	WorldServer.exe!std::_Tree<std::_Tmap_traits<unsigned int,std::shared_ptr<Npc>,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > >,0> >::_Copy_nodes<std::integral_constant<bool,0> >(std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * _Rootnode, std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * _Wherenode, std::integral_constant<bool,0> _Movefl) Line 1969	C++
 	WorldServer.exe!std::_Tree<std::_Tmap_traits<unsigned int,std::shared_ptr<Npc>,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > >,0> >::_Copy_nodes<std::integral_constant<bool,0> >(std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * _Rootnode, std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * _Wherenode, std::integral_constant<bool,0> _Movefl) Line 1977	C++
 	WorldServer.exe!std::_Tree<std::_Tmap_traits<unsigned int,std::shared_ptr<Npc>,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > >,0> >::_Copy_nodes<std::integral_constant<bool,0> >(std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * _Rootnode, std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * _Wherenode, std::integral_constant<bool,0> _Movefl) Line 1977	C++
 	WorldServer.exe!std::_Tree<std::_Tmap_traits<unsigned int,std::shared_ptr<Npc>,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > >,0> >::_Copy_nodes<std::integral_constant<bool,0> >(std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * _Rootnode, std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * _Wherenode, std::integral_constant<bool,0> _Movefl) Line 1977	C++
 	WorldServer.exe!std::_Tree<std::_Tmap_traits<unsigned int,std::shared_ptr<Npc>,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > >,0> >::_Copy_nodes<std::integral_constant<bool,0> >(std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * _Rootnode, std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * _Wherenode, std::integral_constant<bool,0> _Movefl) Line 1977	C++
 	WorldServer.exe!std::_Tree<std::_Tmap_traits<unsigned int,std::shared_ptr<Npc>,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > >,0> >::_Copy_nodes<std::integral_constant<bool,0> >(std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * _Rootnode, std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * _Wherenode, std::integral_constant<bool,0> _Movefl) Line 1977	C++
 	WorldServer.exe!std::_Tree<std::_Tmap_traits<unsigned int,std::shared_ptr<Npc>,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > >,0> >::_Copy_nodes<std::integral_constant<bool,0> >(std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * _Rootnode, std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * _Wherenode, std::integral_constant<bool,0> _Movefl) Line 1977	C++
 	WorldServer.exe!std::_Tree<std::_Tmap_traits<unsigned int,std::shared_ptr<Npc>,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > >,0> >::_Copy_nodes<std::integral_constant<bool,0> >(std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * _Rootnode, std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * _Wherenode, std::integral_constant<bool,0> _Movefl) Line 1977	C++
 	WorldServer.exe!std::_Tree<std::_Tmap_traits<unsigned int,std::shared_ptr<Npc>,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > >,0> >::_Copy_nodes<std::integral_constant<bool,0> >(std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * _Rootnode, std::_Tree_node<std::pair<unsigned int const ,std::shared_ptr<Npc> >,void *> * _Wherenode, std::integral_constant<bool,0> _Movefl) Line 1977	C++
 	WorldServer.exe!std::_Tree<std::_Tmap_traits<unsigned int,std::shared_ptr<Npc>,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > >,0> >::_Copy<std::integral_constant<bool,0> >(const std::_Tree<std::_Tmap_traits<unsigned int,std::shared_ptr<Npc>,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > >,0> > & _Right, std::integral_constant<bool,0> _Movefl) Line 1933	C++
 	WorldServer.exe!std::_Tree<std::_Tmap_traits<unsigned int,std::shared_ptr<Npc>,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > >,0> >::_Tree<std::_Tmap_traits<unsigned int,std::shared_ptr<Npc>,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > >,0> >(const std::_Tree<std::_Tmap_traits<unsigned int,std::shared_ptr<Npc>,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > >,0> > & _Right, const std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > > & _Al) Line 1090	C++
 	WorldServer.exe!std::map<unsigned int,std::shared_ptr<Npc>,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > > >::map<unsigned int,std::shared_ptr<Npc>,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > > >(const std::map<unsigned int,std::shared_ptr<Npc>,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::shared_ptr<Npc> > > > & _Right) Line 111	C++
 	WorldServer.exe!ChunkServer::ReplicateSpawns() Line 3642	C++
 	WorldServer.exe!ChunkServer::Process() Line 242	C++
 	WorldServer.exe!ChunkProcessThread(void * data) Line 131	C++
 	WorldServer.exe!ThreadRun(void * arg) Line 77	C++
 	WorldServer.exe!_callthreadstart() Line 255	C
 	WorldServer.exe!_threadstart(void * ptd) Line 239	C
 	kernel32.dll!7694338a()	Unknown
 	ntdll.dll!77b49f72()	Unknown
 	ntdll.dll!77b49f45()	Unknown


Re: NT Crash Thread

Posted: Fri Mar 27, 2015 2:22 pm
by John Adams
Are these really 4 crashes in 2 days? We had been pretty stable. Hope someone takes the time to look into these.

Re: NT Crash Thread

Posted: Sun Mar 29, 2015 6:08 am
by Faux
[quote="Xinux"]

Code: Select all

 	WorldServer.exe!DataStruct::SerializeStringWide(char * buf, int * offset) Line 979	C++
 	WorldServer.exe!DataStruct::Serialize(char * buf, int * offset) Line 739	C++
 	WorldServer.exe!DataStructArray::Serialize(char * buf, int * offset) Line 233	C++
 	WorldServer.exe!DataStruct::Serialize(char * buf, int * offset) Line 745	C++
 	WorldServer.exe!PacketStruct::SerializeIntoBuffer() Line 711	C++
 	WorldServer.exe!SOEProtocolData::SetData(PacketStruct * packet_struct) Line 85	C++
 	WorldServer.exe!PacketStruct::Serialize() Line 724	C++
[b]>	WorldServer.exe!ChunkServer::HandleClientTrainingBegin(const std::shared_ptr<Client> & client) Line 4178	C++[/b]
 	WorldServer.exe!ChunkServer::ProcessPackets() Line 413	C++
 	WorldServer.exe!ChunkPacketThread(void * data) Line 144	C++
 	WorldServer.exe!ThreadRun(void * arg) Line 77	C++
 	WorldServer.exe!_callthreadstart() Line 255	C
 	WorldServer.exe!_threadstart(void * ptd) Line 239	C
 	kernel32.dll!7694338a()	Unknown
 	[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]	
 	ntdll.dll!77b49f72()	Unknown
 	ntdll.dll!77b49f45()	Unknown

[/quote]

Oops, I think I actually reported this post in my first attempt to reply.

Anyways, I hate to see HandleClientTrainingBegin show up again. I think I'll end up completely rewriting this code segment this week.

Re: NT Crash Thread

Posted: Sun Mar 29, 2015 8:26 am
by John Adams
Finally! A crashing Guild Bug Took long enough...

Code: Select all

>	WorldServer.exe!std::_Debug_message(const wchar_t * message, const wchar_t * file, unsigned int line) Line 15	C++
 	WorldServer.exe!std::_Debug_pointer<char>(const char * _First, const wchar_t * _File, unsigned int _Line) Line 612	C++
 	WorldServer.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign(const char * _Ptr) Line 1143	C++
 	WorldServer.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator=(const char * _Ptr) Line 990	C++
 	WorldServer.exe!GuildsList::SetGuildDescription(std::shared_ptr<Client> & client, std::shared_ptr<WorldCharacter> & character, PacketStruct * packet) Line 1913	C++
 	WorldServer.exe!Net::HandleClientGuildDescription(std::shared_ptr<Client> & client, PacketStruct * packet) Line 1573	C++
 	WorldServer.exe!Net::Process() Line 235	C++
 	WorldServer.exe!main(int argc, char * * argv) Line 227	C++
 	WorldServer.exe!__tmainCRTStartup() Line 241	C
 	WorldServer.exe!mainCRTStartup() Line 164	C
 	kernel32.dll!7694338a()	Unknown
 	[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]	
 	ntdll.dll!77b49f72()	Unknown
 	ntdll.dll!77b49f45()	Unknown
I do not know how a non-Officer was updating the guild MOTD, but if I read the stack right, someone was processing SetGuildDescription() ?? Looks like it was Rottstein

Code: Select all

	 guild->guild_description = packet->GetString("description");
and in the console, quite literally nothing about Guilds was happening at all.
[quote]19:10:24.711 D Mover RotatingDoor::Activate requested
19:10:24.778 D Mover RotatingDoor pathing started
19:10:27.814 I Chunk Shutdown timer expired. Shutting down Bridge of Destiny.
19:10:31.817 D Mover RotatingDoor::Activate requested
19:10:32.493 D Mover RotatingDoor::Activate requested
19:10:33.184 D Mover RotatingDoor::Activate requested
19:10:35.216 D Mover RotatingDoor::Activate requested
19:10:38.732 D Mover RotatingDoor::Activate requested
19:10:40.638 D Mover RotatingDoor::Activate requested
19:10:40.796 D Mover RotatingDoor pathing started
19:10:40.909 D Mover RotatingDoor::Activate requested
19:10:44.666 D Mover RotatingDoor::Activate requested
19:11:13.353 D Mover RotatingDoor::Activate requested
19:11:13.432 D Mover RotatingDoor pathing started
19:11:17.999 D Mover RotatingDoor::Activate requested
19:11:50.730 D Mover RotatingDoor::Activate requested
19:11:50.870 D Mover RotatingDoor pathing started
19:12:18.931 D Mover RotatingDoor::Activate requested
19:12:19.100 D Mover RotatingDoor pathing started
19:12:25.107 E TCP TCP Connection disconnected from 68.98.218.5:10102
19:12:56.757 D Mover RotatingDoor::Activate requested
19:12:56.838 D Mover RotatingDoor pathing started
19:13:19.651 I Chunk Shutdown timer expired. Shutting down Forgotten Peninsula.
19:13:43.983 D Mover RotatingDoor::Activate requested
19:13:44.019 D Mover RotatingDoor pathing started
19:14:35.303 D Char BeginDisconnectFromServer: Character Mulder Set to Offline
19:14:35.304 D Char ToggleIsOnline: Setting player offline
19:14:35.333 I UDP Client from 50.29.235.140:58450 set to disconnect : Timeout
19:14:38.303 I UDP Client from 50.29.235.140:58450 has been removed.
19:14:42.842 D Char BeginDisconnectFromServer: Character Mulder Set to Offline
19:14:42.843 D Char ToggleIsOnline: Setting player offline
19:14:42.847 I UDP Client from 50.29.235.140:50073 set to disconnect : Timeout
19:14:45.842 I UDP Client from 50.29.235.140:50073 has been removed.
19:14:45.867 I Chunk Starting chunk shutdown timer for Blinding Shallows.
19:19:45.875 I Chunk Shutdown timer expired. Shutting down Blinding Shallows.[/quote]

None of the vars used at that part of the code were bad, so I'm at a loss.

Re: NT Crash Thread

Posted: Sun Mar 29, 2015 2:24 pm
by Faux
Thats very strange. Those permissions are really handled client side based on the guild rank permissions. If the motd permissions are set to only allow officers to change the motd, the button is greyed out for all non-officers. I had initially put some functions into guild.cpp that would return a bool value for whether or not someone could invite, could remove, or could set the motd and then realized they weren't needed because the client handles it.