Cuberite Forum
Valgrind - Printable Version

+- Cuberite Forum (https://forum.cuberite.org)
+-- Forum: Cuberite (https://forum.cuberite.org/forum-4.html)
+--- Forum: Development (https://forum.cuberite.org/forum-13.html)
+--- Thread: Valgrind (/thread-598.html)

Pages: 1 2 3 4


RE: Valgrind - xoft - 11-12-2012

Could you try running valgrind on MCServer with this world loaded?
http://mc-server.xoft.cz/world/world_crashes_on_load.7z

The world causes the server to crash on me as soon as it starts, but the crash is cryptic, it looks as if memory is being overwritten somewhere prior to the crash.


RE: Valgrind - ThuGie - 11-12-2012

Sure i should have time tomorrow so i will do this then Smile.

Edit:
Its taking a bit but i do get this
Code:
==15816== Memcheck, a memory error detector
==15816== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==15816== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==15816== Command: ./MCServer
==15816==
==15816== Thread 4:
==15816== Conditional jump or move depends on uninitialised value(s)
==15816==    at 0x63A735: cLightingThread::PropagateLight(unsigned char*, int, int, int&, unsigned char*, unsigned int*) (LightingThread.h:165)
==15816==    by 0x63A4D1: cLightingThread::CalcLightStep(unsigned char*, int, unsigned char*, unsigned int*, int&, unsigned char*, unsigned int*) (LightingThread.cpp:494)
==15816==    by 0x63A23B: cLightingThread::CalcLight(unsigned char*) (LightingThread.cpp:444)
==15816==    by 0x639BD3: cLightingThread::LightChunk(cLightingThread::sItem&) (LightingThread.cpp:275)
==15816==    by 0x639AE2: cLightingThread::Execute() (LightingThread.cpp:247)
==15816==    by 0x64BFD8: cIsThread::thrExecute(void*) (IsThread.h:62)
==15816==    by 0x55DF8C9: start_thread (pthread_create.c:300)
==15816==    by 0x58C4B6C: clone (clone.S:112)
==15816==  Uninitialised value was created by a heap allocation
==15816==    at 0x4C2695A: operator new(unsigned long) (vg_replace_malloc.c:298)
==15816==    by 0x62678F: cRoot::LoadWorlds() (Root.cpp:236)
==15816==    by 0x625F4D: cRoot::Start() (Root.cpp:143)
==15816==    by 0x73136E: main (main.cpp:178)
==15816==
==15816== Conditional jump or move depends on uninitialised value(s)
==15816==    at 0x63A735: cLightingThread::PropagateLight(unsigned char*, int, int, int&, unsigned char*, unsigned int*) (LightingThread.h:165)
==15816==    by 0x63A4D1: cLightingThread::CalcLightStep(unsigned char*, int, unsigned char*, unsigned int*, int&, unsigned char*, unsigned int*) (LightingThread.cpp:494)
==15816==    by 0x63A2C6: cLightingThread::CalcLight(unsigned char*) (LightingThread.cpp:453)
==15816==    by 0x639BD3: cLightingThread::LightChunk(cLightingThread::sItem&) (LightingThread.cpp:275)
==15816==    by 0x639AE2: cLightingThread::Execute() (LightingThread.cpp:247)
==15816==    by 0x64BFD8: cIsThread::thrExecute(void*) (IsThread.h:62)
==15816==    by 0x55DF8C9: start_thread (pthread_create.c:300)
==15816==    by 0x58C4B6C: clone (clone.S:112)
==15816==  Uninitialised value was created by a heap allocation
==15816==    at 0x4C2695A: operator new(unsigned long) (vg_replace_malloc.c:298)
==15816==    by 0x62678F: cRoot::LoadWorlds() (Root.cpp:236)
==15816==    by 0x625F4D: cRoot::Start() (Root.cpp:143)
==15816==    by 0x73136E: main (main.cpp:178)
==15816==

When i try to login i get Failed to login: Error

Edit:
After a while i could login after that i checked the errorlog
Code:
==15816== Thread 5:
==15816== Conditional jump or move depends on uninitialised value(s)
==15816==    at 0x60ED29: deflate_slow (deflate.c:1262)
==15816==    by 0x60F84F: deflate (deflate.c:903)
==15816==    by 0x60CDD3: compress2 (compress.c:49)
==15816==    by 0x69D010: CompressString(char const*, int, std::string&) (StringCompression.cpp:23)
==15816==    by 0x6AAF21: cWSSAnvil::SaveChunkToData(cChunkCoords const&, std::string&) (WSSAnvil.cpp:452)
==15816==    by 0x6AA875: cWSSAnvil::SaveChunk(cChunkCoords const&) (WSSAnvil.cpp:313)
==15816==    by 0x6A8350: cWorldStorage::SaveOneChunk() (WorldStorage.cpp:355)
==15816==    by 0x6A8021: cWorldStorage::Execute() (WorldStorage.cpp:286)
==15816==    by 0x64BFD8: cIsThread::thrExecute(void*) (IsThread.h:62)
==15816==    by 0x55DF8C9: start_thread (pthread_create.c:300)
==15816==    by 0x58C4B6C: clone (clone.S:112)
==15816==  Uninitialised value was created by a heap allocation
==15816==    at 0x4C2695A: operator new(unsigned long) (vg_replace_malloc.c:298)
==15816==    by 0x6F155D: cChunkMap::cChunkLayer::GetChunk(int, int, int) (ChunkMap.cpp:1789)
==15816==    by 0x6EC1C0: cChunkMap::GetChunkNoGen(int, int, int) (ChunkMap.cpp:134)
==15816==    by 0x6EF560: cChunkMap::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (ChunkMap.cpp:1150)
==15816==    by 0x6BD82D: cWorld::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (World.cpp:1897)
==15816==    by 0x6CA853: cEntity::MoveToCorrectChunk(bool) (Entity.cpp:142)
==15816==    by 0x6CA561: cEntity::Initialize(cWorld*) (Entity.cpp:84)
==15816==    by 0x63F1E4: cPlayer::Initialize(cWorld*) (Player.cpp:128)
==15816==    by 0x62EE2B: cClientHandle::Authenticate() (ClientHandle.cpp:257)
==15816==    by 0x6DC52D: cServer::AuthenticateUser(int) (Server.cpp:641)
==15816==    by 0x627013: cRoot::AuthenticateUser(int) (Root.cpp:385)
==15816==    by 0x62AAC8: cAuthenticator::Execute() (Authenticator.cpp:144)
==15816==
==15816== Conditional jump or move depends on uninitialised value(s)
==15816==    at 0x60ED38: deflate_slow (deflate.c:1262)
==15816==    by 0x60F84F: deflate (deflate.c:903)
==15816==    by 0x60CDD3: compress2 (compress.c:49)
==15816==    by 0x69D010: CompressString(char const*, int, std::string&) (StringCompression.cpp:23)
==15816==    by 0x6AAF21: cWSSAnvil::SaveChunkToData(cChunkCoords const&, std::string&) (WSSAnvil.cpp:452)
==15816==    by 0x6AA875: cWSSAnvil::SaveChunk(cChunkCoords const&) (WSSAnvil.cpp:313)
==15816==    by 0x6A8350: cWorldStorage::SaveOneChunk() (WorldStorage.cpp:355)
==15816==    by 0x6A8021: cWorldStorage::Execute() (WorldStorage.cpp:286)
==15816==    by 0x64BFD8: cIsThread::thrExecute(void*) (IsThread.h:62)
==15816==    by 0x55DF8C9: start_thread (pthread_create.c:300)
==15816==    by 0x58C4B6C: clone (clone.S:112)
==15816==  Uninitialised value was created by a heap allocation
==15816==    at 0x4C2695A: operator new(unsigned long) (vg_replace_malloc.c:298)
==15816==    by 0x6F155D: cChunkMap::cChunkLayer::GetChunk(int, int, int) (ChunkMap.cpp:1789)
==15816==    by 0x6EC1C0: cChunkMap::GetChunkNoGen(int, int, int) (ChunkMap.cpp:134)
==15816==    by 0x6EF560: cChunkMap::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (ChunkMap.cpp:1150)
==15816==    by 0x6BD82D: cWorld::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (World.cpp:1897)
==15816==    by 0x6CA853: cEntity::MoveToCorrectChunk(bool) (Entity.cpp:142)
==15816==    by 0x6CA561: cEntity::Initialize(cWorld*) (Entity.cpp:84)
==15816==    by 0x63F1E4: cPlayer::Initialize(cWorld*) (Player.cpp:128)
==15816==    by 0x62EE2B: cClientHandle::Authenticate() (ClientHandle.cpp:257)
==15816==    by 0x6DC52D: cServer::AuthenticateUser(int) (Server.cpp:641)
==15816==    by 0x627013: cRoot::AuthenticateUser(int) (Root.cpp:385)
==15816==    by 0x62AAC8: cAuthenticator::Execute() (Authenticator.cpp:144)
==15816==
==15816== Conditional jump or move depends on uninitialised value(s)
==15816==    at 0x60ED47: deflate_slow (deflate.c:1262)
==15816==    by 0x60F84F: deflate (deflate.c:903)
==15816==    by 0x60CDD3: compress2 (compress.c:49)
==15816==    by 0x69D010: CompressString(char const*, int, std::string&) (StringCompression.cpp:23)
==15816==    by 0x6AAF21: cWSSAnvil::SaveChunkToData(cChunkCoords const&, std::string&) (WSSAnvil.cpp:452)
==15816==    by 0x6AA875: cWSSAnvil::SaveChunk(cChunkCoords const&) (WSSAnvil.cpp:313)
==15816==    by 0x6A8350: cWorldStorage::SaveOneChunk() (WorldStorage.cpp:355)
==15816==    by 0x6A8021: cWorldStorage::Execute() (WorldStorage.cpp:286)
==15816==    by 0x64BFD8: cIsThread::thrExecute(void*) (IsThread.h:62)
==15816==    by 0x55DF8C9: start_thread (pthread_create.c:300)
==15816==    by 0x58C4B6C: clone (clone.S:112)
==15816==  Uninitialised value was created by a heap allocation
==15816==    at 0x4C2695A: operator new(unsigned long) (vg_replace_malloc.c:298)
==15816==    by 0x6F155D: cChunkMap::cChunkLayer::GetChunk(int, int, int) (ChunkMap.cpp:1789)
==15816==    by 0x6EC1C0: cChunkMap::GetChunkNoGen(int, int, int) (ChunkMap.cpp:134)
==15816==    by 0x6EF560: cChunkMap::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (ChunkMap.cpp:1150)
==15816==    by 0x6BD82D: cWorld::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (World.cpp:1897)
==15816==    by 0x6CA853: cEntity::MoveToCorrectChunk(bool) (Entity.cpp:142)
==15816==    by 0x6CA561: cEntity::Initialize(cWorld*) (Entity.cpp:84)
==15816==    by 0x63F1E4: cPlayer::Initialize(cWorld*) (Player.cpp:128)
==15816==    by 0x62EE2B: cClientHandle::Authenticate() (ClientHandle.cpp:257)
==15816==    by 0x6DC52D: cServer::AuthenticateUser(int) (Server.cpp:641)
==15816==    by 0x627013: cRoot::AuthenticateUser(int) (Root.cpp:385)
==15816==    by 0x62AAC8: cAuthenticator::Execute() (Authenticator.cpp:144)
==15816==
==15816== Conditional jump or move depends on uninitialised value(s)
==15816==    at 0x60ED56: deflate_slow (deflate.c:1262)
==15816==    by 0x60F84F: deflate (deflate.c:903)
==15816==    by 0x60CDD3: compress2 (compress.c:49)
==15816==    by 0x69D010: CompressString(char const*, int, std::string&) (StringCompression.cpp:23)
==15816==    by 0x6AAF21: cWSSAnvil::SaveChunkToData(cChunkCoords const&, std::string&) (WSSAnvil.cpp:452)
==15816==    by 0x6AA875: cWSSAnvil::SaveChunk(cChunkCoords const&) (WSSAnvil.cpp:313)
==15816==    by 0x6A8350: cWorldStorage::SaveOneChunk() (WorldStorage.cpp:355)
==15816==    by 0x6A8021: cWorldStorage::Execute() (WorldStorage.cpp:286)
==15816==    by 0x64BFD8: cIsThread::thrExecute(void*) (IsThread.h:62)
==15816==    by 0x55DF8C9: start_thread (pthread_create.c:300)
==15816==    by 0x58C4B6C: clone (clone.S:112)
==15816==  Uninitialised value was created by a heap allocation
==15816==    at 0x4C2695A: operator new(unsigned long) (vg_replace_malloc.c:298)
==15816==    by 0x6F155D: cChunkMap::cChunkLayer::GetChunk(int, int, int) (ChunkMap.cpp:1789)
==15816==    by 0x6EC1C0: cChunkMap::GetChunkNoGen(int, int, int) (ChunkMap.cpp:134)
==15816==    by 0x6EF560: cChunkMap::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (ChunkMap.cpp:1150)
==15816==    by 0x6BD82D: cWorld::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (World.cpp:1897)
==15816==    by 0x6CA853: cEntity::MoveToCorrectChunk(bool) (Entity.cpp:142)
==15816==    by 0x6CA561: cEntity::Initialize(cWorld*) (Entity.cpp:84)
==15816==    by 0x63F1E4: cPlayer::Initialize(cWorld*) (Player.cpp:128)
==15816==    by 0x62EE2B: cClientHandle::Authenticate() (ClientHandle.cpp:257)
==15816==    by 0x6DC52D: cServer::AuthenticateUser(int) (Server.cpp:641)
==15816==    by 0x627013: cRoot::AuthenticateUser(int) (Root.cpp:385)
==15816==    by 0x62AAC8: cAuthenticator::Execute() (Authenticator.cpp:144)
==15816==
==15816== Conditional jump or move depends on uninitialised value(s)
==15816==    at 0x60ED65: deflate_slow (deflate.c:1262)
==15816==    by 0x60F84F: deflate (deflate.c:903)
==15816==    by 0x60CDD3: compress2 (compress.c:49)
==15816==    by 0x69D010: CompressString(char const*, int, std::string&) (StringCompression.cpp:23)
==15816==    by 0x6AAF21: cWSSAnvil::SaveChunkToData(cChunkCoords const&, std::string&) (WSSAnvil.cpp:452)
==15816==    by 0x6AA875: cWSSAnvil::SaveChunk(cChunkCoords const&) (WSSAnvil.cpp:313)
==15816==    by 0x6A8350: cWorldStorage::SaveOneChunk() (WorldStorage.cpp:355)
==15816==    by 0x6A8021: cWorldStorage::Execute() (WorldStorage.cpp:286)
==15816==    by 0x64BFD8: cIsThread::thrExecute(void*) (IsThread.h:62)
==15816==    by 0x55DF8C9: start_thread (pthread_create.c:300)
==15816==    by 0x58C4B6C: clone (clone.S:112)
==15816==  Uninitialised value was created by a heap allocation
==15816==    at 0x4C2695A: operator new(unsigned long) (vg_replace_malloc.c:298)
==15816==    by 0x6F155D: cChunkMap::cChunkLayer::GetChunk(int, int, int) (ChunkMap.cpp:1789)
==15816==    by 0x6EC1C0: cChunkMap::GetChunkNoGen(int, int, int) (ChunkMap.cpp:134)
==15816==    by 0x6EF560: cChunkMap::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (ChunkMap.cpp:1150)
==15816==    by 0x6BD82D: cWorld::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (World.cpp:1897)
==15816==    by 0x6CA853: cEntity::MoveToCorrectChunk(bool) (Entity.cpp:142)
==15816==    by 0x6CA561: cEntity::Initialize(cWorld*) (Entity.cpp:84)
==15816==    by 0x63F1E4: cPlayer::Initialize(cWorld*) (Player.cpp:128)
==15816==    by 0x62EE2B: cClientHandle::Authenticate() (ClientHandle.cpp:257)
==15816==    by 0x6DC52D: cServer::AuthenticateUser(int) (Server.cpp:641)
==15816==    by 0x627013: cRoot::AuthenticateUser(int) (Root.cpp:385)
==15816==    by 0x62AAC8: cAuthenticator::Execute() (Authenticator.cpp:144)
==15816==
==15816== Conditional jump or move depends on uninitialised value(s)
==15816==    at 0x60ED74: deflate_slow (deflate.c:1262)
==15816==    by 0x60F84F: deflate (deflate.c:903)
==15816==    by 0x60CDD3: compress2 (compress.c:49)
==15816==    by 0x69D010: CompressString(char const*, int, std::string&) (StringCompression.cpp:23)
==15816==    by 0x6AAF21: cWSSAnvil::SaveChunkToData(cChunkCoords const&, std::string&) (WSSAnvil.cpp:452)
==15816==    by 0x6AA875: cWSSAnvil::SaveChunk(cChunkCoords const&) (WSSAnvil.cpp:313)
==15816==    by 0x6A8350: cWorldStorage::SaveOneChunk() (WorldStorage.cpp:355)
==15816==    by 0x6A8021: cWorldStorage::Execute() (WorldStorage.cpp:286)
==15816==    by 0x64BFD8: cIsThread::thrExecute(void*) (IsThread.h:62)
==15816==    by 0x55DF8C9: start_thread (pthread_create.c:300)
==15816==    by 0x58C4B6C: clone (clone.S:112)
==15816==  Uninitialised value was created by a heap allocation
==15816==    at 0x4C2695A: operator new(unsigned long) (vg_replace_malloc.c:298)
==15816==    by 0x6F155D: cChunkMap::cChunkLayer::GetChunk(int, int, int) (ChunkMap.cpp:1789)
==15816==    by 0x6EC1C0: cChunkMap::GetChunkNoGen(int, int, int) (ChunkMap.cpp:134)
==15816==    by 0x6EF560: cChunkMap::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (ChunkMap.cpp:1150)
==15816==    by 0x6BD82D: cWorld::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (World.cpp:1897)
==15816==    by 0x6CA853: cEntity::MoveToCorrectChunk(bool) (Entity.cpp:142)
==15816==    by 0x6CA561: cEntity::Initialize(cWorld*) (Entity.cpp:84)
==15816==    by 0x63F1E4: cPlayer::Initialize(cWorld*) (Player.cpp:128)
==15816==    by 0x62EE2B: cClientHandle::Authenticate() (ClientHandle.cpp:257)
==15816==    by 0x6DC52D: cServer::AuthenticateUser(int) (Server.cpp:641)
==15816==    by 0x627013: cRoot::AuthenticateUser(int) (Root.cpp:385)
==15816==    by 0x62AAC8: cAuthenticator::Execute() (Authenticator.cpp:144)
==15816==
==15816== Conditional jump or move depends on uninitialised value(s)
==15816==    at 0x60ED86: deflate_slow (deflate.c:1262)
==15816==    by 0x60F84F: deflate (deflate.c:903)
==15816==    by 0x60CDD3: compress2 (compress.c:49)
==15816==    by 0x69D010: CompressString(char const*, int, std::string&) (StringCompression.cpp:23)
==15816==    by 0x6AAF21: cWSSAnvil::SaveChunkToData(cChunkCoords const&, std::string&) (WSSAnvil.cpp:452)
==15816==    by 0x6AA875: cWSSAnvil::SaveChunk(cChunkCoords const&) (WSSAnvil.cpp:313)
==15816==    by 0x6A8350: cWorldStorage::SaveOneChunk() (WorldStorage.cpp:355)
==15816==    by 0x6A8021: cWorldStorage::Execute() (WorldStorage.cpp:286)
==15816==    by 0x64BFD8: cIsThread::thrExecute(void*) (IsThread.h:62)
==15816==    by 0x55DF8C9: start_thread (pthread_create.c:300)
==15816==    by 0x58C4B6C: clone (clone.S:112)
==15816==  Uninitialised value was created by a heap allocation
==15816==    at 0x4C2695A: operator new(unsigned long) (vg_replace_malloc.c:298)
==15816==    by 0x6F155D: cChunkMap::cChunkLayer::GetChunk(int, int, int) (ChunkMap.cpp:1789)
==15816==    by 0x6EC1C0: cChunkMap::GetChunkNoGen(int, int, int) (ChunkMap.cpp:134)
==15816==    by 0x6EF560: cChunkMap::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (ChunkMap.cpp:1150)
==15816==    by 0x6BD82D: cWorld::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (World.cpp:1897)
==15816==    by 0x6CA853: cEntity::MoveToCorrectChunk(bool) (Entity.cpp:142)
==15816==    by 0x6CA561: cEntity::Initialize(cWorld*) (Entity.cpp:84)
==15816==    by 0x63F1E4: cPlayer::Initialize(cWorld*) (Player.cpp:128)
==15816==    by 0x62EE2B: cClientHandle::Authenticate() (ClientHandle.cpp:257)
==15816==    by 0x6DC52D: cServer::AuthenticateUser(int) (Server.cpp:641)
==15816==    by 0x627013: cRoot::AuthenticateUser(int) (Root.cpp:385)
==15816==    by 0x62AAC8: cAuthenticator::Execute() (Authenticator.cpp:144)
==15816==
==15816== Conditional jump or move depends on uninitialised value(s)
==15816==    at 0x60ED9F: deflate_slow (deflate.c:1262)
==15816==    by 0x60F84F: deflate (deflate.c:903)
==15816==    by 0x60CDD3: compress2 (compress.c:49)
==15816==    by 0x69D010: CompressString(char const*, int, std::string&) (StringCompression.cpp:23)
==15816==    by 0x6AAF21: cWSSAnvil::SaveChunkToData(cChunkCoords const&, std::string&) (WSSAnvil.cpp:452)
==15816==    by 0x6AA875: cWSSAnvil::SaveChunk(cChunkCoords const&) (WSSAnvil.cpp:313)
==15816==    by 0x6A8350: cWorldStorage::SaveOneChunk() (WorldStorage.cpp:355)
==15816==    by 0x6A8021: cWorldStorage::Execute() (WorldStorage.cpp:286)
==15816==    by 0x64BFD8: cIsThread::thrExecute(void*) (IsThread.h:62)
==15816==    by 0x55DF8C9: start_thread (pthread_create.c:300)
==15816==    by 0x58C4B6C: clone (clone.S:112)
==15816==  Uninitialised value was created by a heap allocation
==15816==    at 0x4C2695A: operator new(unsigned long) (vg_replace_malloc.c:298)
==15816==    by 0x6F155D: cChunkMap::cChunkLayer::GetChunk(int, int, int) (ChunkMap.cpp:1789)
==15816==    by 0x6EC1C0: cChunkMap::GetChunkNoGen(int, int, int) (ChunkMap.cpp:134)
==15816==    by 0x6EF560: cChunkMap::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (ChunkMap.cpp:1150)
==15816==    by 0x6BD82D: cWorld::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (World.cpp:1897)
==15816==    by 0x6CA853: cEntity::MoveToCorrectChunk(bool) (Entity.cpp:142)
==15816==    by 0x6CA561: cEntity::Initialize(cWorld*) (Entity.cpp:84)
==15816==    by 0x63F1E4: cPlayer::Initialize(cWorld*) (Player.cpp:128)
==15816==    by 0x62EE2B: cClientHandle::Authenticate() (ClientHandle.cpp:257)
==15816==    by 0x6DC52D: cServer::AuthenticateUser(int) (Server.cpp:641)
==15816==    by 0x627013: cRoot::AuthenticateUser(int) (Root.cpp:385)
==15816==    by 0x62AAC8: cAuthenticator::Execute() (Authenticator.cpp:144)
==15816==
==15816== Use of uninitialised value of size 8
==15816==    at 0x60E865: deflate_slow (deflate.c:1806)
==15816==    by 0x60F84F: deflate (deflate.c:903)
==15816==    by 0x60CDD3: compress2 (compress.c:49)
==15816==    by 0x69D010: CompressString(char const*, int, std::string&) (StringCompression.cpp:23)
==15816==    by 0x6AAF21: cWSSAnvil::SaveChunkToData(cChunkCoords const&, std::string&) (WSSAnvil.cpp:452)
==15816==    by 0x6AA875: cWSSAnvil::SaveChunk(cChunkCoords const&) (WSSAnvil.cpp:313)
==15816==    by 0x6A8350: cWorldStorage::SaveOneChunk() (WorldStorage.cpp:355)
==15816==    by 0x6A8021: cWorldStorage::Execute() (WorldStorage.cpp:286)
==15816==    by 0x64BFD8: cIsThread::thrExecute(void*) (IsThread.h:62)
==15816==    by 0x55DF8C9: start_thread (pthread_create.c:300)
==15816==    by 0x58C4B6C: clone (clone.S:112)
==15816==  Uninitialised value was created by a heap allocation
==15816==    at 0x4C2695A: operator new(unsigned long) (vg_replace_malloc.c:298)
==15816==    by 0x6F155D: cChunkMap::cChunkLayer::GetChunk(int, int, int) (ChunkMap.cpp:1789)
==15816==    by 0x6EC1C0: cChunkMap::GetChunkNoGen(int, int, int) (ChunkMap.cpp:134)
==15816==    by 0x6EF560: cChunkMap::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (ChunkMap.cpp:1150)
==15816==    by 0x6BD82D: cWorld::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (World.cpp:1897)
==15816==    by 0x6CA853: cEntity::MoveToCorrectChunk(bool) (Entity.cpp:142)
==15816==    by 0x6CA561: cEntity::Initialize(cWorld*) (Entity.cpp:84)
==15816==    by 0x63F1E4: cPlayer::Initialize(cWorld*) (Player.cpp:128)
==15816==    by 0x62EE2B: cClientHandle::Authenticate() (ClientHandle.cpp:257)
==15816==    by 0x6DC52D: cServer::AuthenticateUser(int) (Server.cpp:641)
==15816==    by 0x627013: cRoot::AuthenticateUser(int) (Root.cpp:385)
==15816==    by 0x62AAC8: cAuthenticator::Execute() (Authenticator.cpp:144)
==15816==
==15816== Use of uninitialised value of size 8
==15816==    at 0x60E86F: deflate_slow (deflate.c:1806)
==15816==    by 0x60F84F: deflate (deflate.c:903)
==15816==    by 0x60CDD3: compress2 (compress.c:49)
==15816==    by 0x69D010: CompressString(char const*, int, std::string&) (StringCompression.cpp:23)
==15816==    by 0x6AAF21: cWSSAnvil::SaveChunkToData(cChunkCoords const&, std::string&) (WSSAnvil.cpp:452)
==15816==    by 0x6AA875: cWSSAnvil::SaveChunk(cChunkCoords const&) (WSSAnvil.cpp:313)
==15816==    by 0x6A8350: cWorldStorage::SaveOneChunk() (WorldStorage.cpp:355)
==15816==    by 0x6A8021: cWorldStorage::Execute() (WorldStorage.cpp:286)
==15816==    by 0x64BFD8: cIsThread::thrExecute(void*) (IsThread.h:62)
==15816==    by 0x55DF8C9: start_thread (pthread_create.c:300)
==15816==    by 0x58C4B6C: clone (clone.S:112)
==15816==  Uninitialised value was created by a heap allocation
==15816==    at 0x4C2695A: operator new(unsigned long) (vg_replace_malloc.c:298)
==15816==    by 0x6F155D: cChunkMap::cChunkLayer::GetChunk(int, int, int) (ChunkMap.cpp:1789)
==15816==    by 0x6EC1C0: cChunkMap::GetChunkNoGen(int, int, int) (ChunkMap.cpp:134)
==15816==    by 0x6EF560: cChunkMap::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (ChunkMap.cpp:1150)
==15816==    by 0x6BD82D: cWorld::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (World.cpp:1897)
==15816==    by 0x6CA853: cEntity::MoveToCorrectChunk(bool) (Entity.cpp:142)
==15816==    by 0x6CA561: cEntity::Initialize(cWorld*) (Entity.cpp:84)
==15816==    by 0x63F1E4: cPlayer::Initialize(cWorld*) (Player.cpp:128)
==15816==    by 0x62EE2B: cClientHandle::Authenticate() (ClientHandle.cpp:257)
==15816==    by 0x6DC52D: cServer::AuthenticateUser(int) (Server.cpp:641)
==15816==    by 0x627013: cRoot::AuthenticateUser(int) (Root.cpp:385)
==15816==    by 0x62AAC8: cAuthenticator::Execute() (Authenticator.cpp:144)
==15816==
==15816== Use of uninitialised value of size 8
==15816==    at 0x60E704: deflate_slow (deflate.c:1755)
==15816==    by 0x60F84F: deflate (deflate.c:903)
==15816==    by 0x60CDD3: compress2 (compress.c:49)
==15816==    by 0x69D010: CompressString(char const*, int, std::string&) (StringCompression.cpp:23)
==15816==    by 0x6AAF21: cWSSAnvil::SaveChunkToData(cChunkCoords const&, std::string&) (WSSAnvil.cpp:452)
==15816==    by 0x6AA875: cWSSAnvil::SaveChunk(cChunkCoords const&) (WSSAnvil.cpp:313)
==15816==    by 0x6A8350: cWorldStorage::SaveOneChunk() (WorldStorage.cpp:355)
==15816==    by 0x6A8021: cWorldStorage::Execute() (WorldStorage.cpp:286)
==15816==    by 0x64BFD8: cIsThread::thrExecute(void*) (IsThread.h:62)
==15816==    by 0x55DF8C9: start_thread (pthread_create.c:300)
==15816==    by 0x58C4B6C: clone (clone.S:112)
==15816==  Uninitialised value was created by a heap allocation
==15816==    at 0x4C2695A: operator new(unsigned long) (vg_replace_malloc.c:298)
==15816==    by 0x6F155D: cChunkMap::cChunkLayer::GetChunk(int, int, int) (ChunkMap.cpp:1789)
==15816==    by 0x6EC1C0: cChunkMap::GetChunkNoGen(int, int, int) (ChunkMap.cpp:134)
==15816==    by 0x6EF560: cChunkMap::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (ChunkMap.cpp:1150)
==15816==    by 0x6BD82D: cWorld::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (World.cpp:1897)
==15816==    by 0x6CA853: cEntity::MoveToCorrectChunk(bool) (Entity.cpp:142)
==15816==    by 0x6CA561: cEntity::Initialize(cWorld*) (Entity.cpp:84)
==15816==    by 0x63F1E4: cPlayer::Initialize(cWorld*) (Player.cpp:128)
==15816==    by 0x62EE2B: cClientHandle::Authenticate() (ClientHandle.cpp:257)
==15816==    by 0x6DC52D: cServer::AuthenticateUser(int) (Server.cpp:641)
==15816==    by 0x627013: cRoot::AuthenticateUser(int) (Root.cpp:385)
==15816==    by 0x62AAC8: cAuthenticator::Execute() (Authenticator.cpp:144)
==15816==
==15816== Conditional jump or move depends on uninitialised value(s)
==15816==    at 0x60EB88: deflate_slow (deflate.c:1240)
==15816==    by 0x60F84F: deflate (deflate.c:903)
==15816==    by 0x60CDD3: compress2 (compress.c:49)
==15816==    by 0x69D010: CompressString(char const*, int, std::string&) (StringCompression.cpp:23)
==15816==    by 0x6AAF21: cWSSAnvil::SaveChunkToData(cChunkCoords const&, std::string&) (WSSAnvil.cpp:452)
==15816==    by 0x6AA875: cWSSAnvil::SaveChunk(cChunkCoords const&) (WSSAnvil.cpp:313)
==15816==    by 0x6A8350: cWorldStorage::SaveOneChunk() (WorldStorage.cpp:355)
==15816==    by 0x6A8021: cWorldStorage::Execute() (WorldStorage.cpp:286)
==15816==    by 0x64BFD8: cIsThread::thrExecute(void*) (IsThread.h:62)
==15816==    by 0x55DF8C9: start_thread (pthread_create.c:300)
==15816==    by 0x58C4B6C: clone (clone.S:112)
==15816==  Uninitialised value was created by a heap allocation
==15816==    at 0x4C2695A: operator new(unsigned long) (vg_replace_malloc.c:298)
==15816==    by 0x6F155D: cChunkMap::cChunkLayer::GetChunk(int, int, int) (ChunkMap.cpp:1789)
==15816==    by 0x6EC1C0: cChunkMap::GetChunkNoGen(int, int, int) (ChunkMap.cpp:134)
==15816==    by 0x6EF560: cChunkMap::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (ChunkMap.cpp:1150)
==15816==    by 0x6BD82D: cWorld::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (World.cpp:1897)
==15816==    by 0x6CA853: cEntity::MoveToCorrectChunk(bool) (Entity.cpp:142)
==15816==    by 0x6CA561: cEntity::Initialize(cWorld*) (Entity.cpp:84)
==15816==    by 0x63F1E4: cPlayer::Initialize(cWorld*) (Player.cpp:128)
==15816==    by 0x62EE2B: cClientHandle::Authenticate() (ClientHandle.cpp:257)
==15816==    by 0x6DC52D: cServer::AuthenticateUser(int) (Server.cpp:641)
==15816==    by 0x627013: cRoot::AuthenticateUser(int) (Root.cpp:385)
==15816==    by 0x62AAC8: cAuthenticator::Execute() (Authenticator.cpp:144)
==15816==
==15816== Conditional jump or move depends on uninitialised value(s)
==15816==    at 0x60EB93: deflate_slow (deflate.c:1240)
==15816==    by 0x60F84F: deflate (deflate.c:903)
==15816==    by 0x60CDD3: compress2 (compress.c:49)
==15816==    by 0x69D010: CompressString(char const*, int, std::string&) (StringCompression.cpp:23)
==15816==    by 0x6AAF21: cWSSAnvil::SaveChunkToData(cChunkCoords const&, std::string&) (WSSAnvil.cpp:452)
==15816==    by 0x6AA875: cWSSAnvil::SaveChunk(cChunkCoords const&) (WSSAnvil.cpp:313)
==15816==    by 0x6A8350: cWorldStorage::SaveOneChunk() (WorldStorage.cpp:355)
==15816==    by 0x6A8021: cWorldStorage::Execute() (WorldStorage.cpp:286)
==15816==    by 0x64BFD8: cIsThread::thrExecute(void*) (IsThread.h:62)
==15816==    by 0x55DF8C9: start_thread (pthread_create.c:300)
==15816==    by 0x58C4B6C: clone (clone.S:112)
==15816==  Uninitialised value was created by a heap allocation
==15816==    at 0x4C2695A: operator new(unsigned long) (vg_replace_malloc.c:298)
==15816==    by 0x6F155D: cChunkMap::cChunkLayer::GetChunk(int, int, int) (ChunkMap.cpp:1789)
==15816==    by 0x6EC1C0: cChunkMap::GetChunkNoGen(int, int, int) (ChunkMap.cpp:134)
==15816==    by 0x6EF560: cChunkMap::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (ChunkMap.cpp:1150)
==15816==    by 0x6BD82D: cWorld::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (World.cpp:1897)
==15816==    by 0x6CA853: cEntity::MoveToCorrectChunk(bool) (Entity.cpp:142)
==15816==    by 0x6CA561: cEntity::Initialize(cWorld*) (Entity.cpp:84)
==15816==    by 0x63F1E4: cPlayer::Initialize(cWorld*) (Player.cpp:128)
==15816==    by 0x62EE2B: cClientHandle::Authenticate() (ClientHandle.cpp:257)
==15816==    by 0x6DC52D: cServer::AuthenticateUser(int) (Server.cpp:641)
==15816==    by 0x627013: cRoot::AuthenticateUser(int) (Root.cpp:385)
==15816==    by 0x62AAC8: cAuthenticator::Execute() (Authenticator.cpp:144)
==15816==
==15816== Conditional jump or move depends on uninitialised value(s)
==15816==    at 0x60EC6D: deflate_slow (deflate.c:1242)
==15816==    by 0x60F84F: deflate (deflate.c:903)
==15816==    by 0x60CDD3: compress2 (compress.c:49)
==15816==    by 0x69D010: CompressString(char const*, int, std::string&) (StringCompression.cpp:23)
==15816==    by 0x6AAF21: cWSSAnvil::SaveChunkToData(cChunkCoords const&, std::string&) (WSSAnvil.cpp:452)
==15816==    by 0x6AA875: cWSSAnvil::SaveChunk(cChunkCoords const&) (WSSAnvil.cpp:313)
==15816==    by 0x6A8350: cWorldStorage::SaveOneChunk() (WorldStorage.cpp:355)
==15816==    by 0x6A8021: cWorldStorage::Execute() (WorldStorage.cpp:286)
==15816==    by 0x64BFD8: cIsThread::thrExecute(void*) (IsThread.h:62)
==15816==    by 0x55DF8C9: start_thread (pthread_create.c:300)
==15816==    by 0x58C4B6C: clone (clone.S:112)
==15816==  Uninitialised value was created by a heap allocation
==15816==    at 0x4C2695A: operator new(unsigned long) (vg_replace_malloc.c:298)
==15816==    by 0x6F155D: cChunkMap::cChunkLayer::GetChunk(int, int, int) (ChunkMap.cpp:1789)
==15816==    by 0x6EC1C0: cChunkMap::GetChunkNoGen(int, int, int) (ChunkMap.cpp:134)
==15816==    by 0x6EF560: cChunkMap::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (ChunkMap.cpp:1150)
==15816==    by 0x6BD82D: cWorld::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (World.cpp:1897)
==15816==    by 0x6CA853: cEntity::MoveToCorrectChunk(bool) (Entity.cpp:142)
==15816==    by 0x6CA561: cEntity::Initialize(cWorld*) (Entity.cpp:84)
==15816==    by 0x63F1E4: cPlayer::Initialize(cWorld*) (Player.cpp:128)
==15816==    by 0x62EE2B: cClientHandle::Authenticate() (ClientHandle.cpp:257)
==15816==    by 0x6DC52D: cServer::AuthenticateUser(int) (Server.cpp:641)
==15816==    by 0x627013: cRoot::AuthenticateUser(int) (Root.cpp:385)
==15816==    by 0x62AAC8: cAuthenticator::Execute() (Authenticator.cpp:144)
==15816==
==15816== Conditional jump or move depends on uninitialised value(s)
==15816==    at 0x60ECF8: deflate_slow (deflate.c:1240)
==15816==    by 0x60F84F: deflate (deflate.c:903)
==15816==    by 0x60CDD3: compress2 (compress.c:49)
==15816==    by 0x69D010: CompressString(char const*, int, std::string&) (StringCompression.cpp:23)
==15816==    by 0x6AAF21: cWSSAnvil::SaveChunkToData(cChunkCoords const&, std::string&) (WSSAnvil.cpp:452)
==15816==    by 0x6AA875: cWSSAnvil::SaveChunk(cChunkCoords const&) (WSSAnvil.cpp:313)
==15816==    by 0x6A8350: cWorldStorage::SaveOneChunk() (WorldStorage.cpp:355)
==15816==    by 0x6A8021: cWorldStorage::Execute() (WorldStorage.cpp:286)
==15816==    by 0x64BFD8: cIsThread::thrExecute(void*) (IsThread.h:62)
==15816==    by 0x55DF8C9: start_thread (pthread_create.c:300)
==15816==    by 0x58C4B6C: clone (clone.S:112)
==15816==  Uninitialised value was created by a heap allocation
==15816==    at 0x4C2695A: operator new(unsigned long) (vg_replace_malloc.c:298)
==15816==    by 0x6F155D: cChunkMap::cChunkLayer::GetChunk(int, int, int) (ChunkMap.cpp:1789)
==15816==    by 0x6EC1C0: cChunkMap::GetChunkNoGen(int, int, int) (ChunkMap.cpp:134)
==15816==    by 0x6EF560: cChunkMap::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (ChunkMap.cpp:1150)
==15816==    by 0x6BD82D: cWorld::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (World.cpp:1897)
==15816==    by 0x6CA853: cEntity::MoveToCorrectChunk(bool) (Entity.cpp:142)
==15816==    by 0x6CA561: cEntity::Initialize(cWorld*) (Entity.cpp:84)
==15816==    by 0x63F1E4: cPlayer::Initialize(cWorld*) (Player.cpp:128)
==15816==    by 0x62EE2B: cClientHandle::Authenticate() (ClientHandle.cpp:257)
==15816==    by 0x6DC52D: cServer::AuthenticateUser(int) (Server.cpp:641)
==15816==    by 0x627013: cRoot::AuthenticateUser(int) (Root.cpp:385)
==15816==    by 0x62AAC8: cAuthenticator::Execute() (Authenticator.cpp:144)
==15816==
==15816== Conditional jump or move depends on uninitialised value(s)
==15816==    at 0x60ED16: deflate_slow (deflate.c:1262)
==15816==    by 0x60F84F: deflate (deflate.c:903)
==15816==    by 0x60CDD3: compress2 (compress.c:49)
==15816==    by 0x69D010: CompressString(char const*, int, std::string&) (StringCompression.cpp:23)
==15816==    by 0x6AAF21: cWSSAnvil::SaveChunkToData(cChunkCoords const&, std::string&) (WSSAnvil.cpp:452)
==15816==    by 0x6AA875: cWSSAnvil::SaveChunk(cChunkCoords const&) (WSSAnvil.cpp:313)
==15816==    by 0x6A8350: cWorldStorage::SaveOneChunk() (WorldStorage.cpp:355)
==15816==    by 0x6A8021: cWorldStorage::Execute() (WorldStorage.cpp:286)
==15816==    by 0x64BFD8: cIsThread::thrExecute(void*) (IsThread.h:62)
==15816==    by 0x55DF8C9: start_thread (pthread_create.c:300)
==15816==    by 0x58C4B6C: clone (clone.S:112)
==15816==  Uninitialised value was created by a heap allocation
==15816==    at 0x4C2695A: operator new(unsigned long) (vg_replace_malloc.c:298)
==15816==    by 0x6F155D: cChunkMap::cChunkLayer::GetChunk(int, int, int) (ChunkMap.cpp:1789)
==15816==    by 0x6EC1C0: cChunkMap::GetChunkNoGen(int, int, int) (ChunkMap.cpp:134)
==15816==    by 0x6EF560: cChunkMap::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (ChunkMap.cpp:1150)
==15816==    by 0x6BD82D: cWorld::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (World.cpp:1897)
==15816==    by 0x6CA853: cEntity::MoveToCorrectChunk(bool) (Entity.cpp:142)
==15816==    by 0x6CA561: cEntity::Initialize(cWorld*) (Entity.cpp:84)
==15816==    by 0x63F1E4: cPlayer::Initialize(cWorld*) (Player.cpp:128)
==15816==    by 0x62EE2B: cClientHandle::Authenticate() (ClientHandle.cpp:257)
==15816==    by 0x6DC52D: cServer::AuthenticateUser(int) (Server.cpp:641)
==15816==    by 0x627013: cRoot::AuthenticateUser(int) (Root.cpp:385)
==15816==    by 0x62AAC8: cAuthenticator::Execute() (Authenticator.cpp:144)
==15816==
==15816== Syscall param write(buf) points to uninitialised byte(s)
==15816==    at 0x58B88ED: ??? (syscall-template.S:82)
==15816==    by 0x5862EE2: _IO_file_write@@GLIBC_2.2.5 (fileops.c:1276)
==15816==    by 0x5862B59: new_do_write (fileops.c:530)
==15816==    by 0x5862E84: _IO_do_write@@GLIBC_2.2.5 (fileops.c:503)
==15816==    by 0x5864726: _IO_switch_to_get_mode (genops.c:189)
==15816==    by 0x5863557: _IO_file_seekoff@@GLIBC_2.2.5 (fileops.c:986)
==15816==    by 0x585BB39: fseek (fseek.c:41)
==15816==    by 0x64B88C: cFile::Seek(int) (File.cpp:183)
==15816==    by 0x6ADDD2: cWSSAnvil::cMCAFile::SetChunkData(cChunkCoords const&, std::string const&) (WSSAnvil.cpp:1117)
==15816==    by 0x6AA9F3: cWSSAnvil::SetChunkData(cChunkCoords const&, std::string const&) (WSSAnvil.cpp:353)
==15816==    by 0x6AA89A: cWSSAnvil::SaveChunk(cChunkCoords const&) (WSSAnvil.cpp:317)
==15816==    by 0x6A8350: cWorldStorage::SaveOneChunk() (WorldStorage.cpp:355)
==15816==  Address 0x402e216 is not stack'd, malloc'd or (recently) free'd
==15816==  Uninitialised value was created by a heap allocation
==15816==    at 0x4C2695A: operator new(unsigned long) (vg_replace_malloc.c:298)
==15816==    by 0x6F155D: cChunkMap::cChunkLayer::GetChunk(int, int, int) (ChunkMap.cpp:1789)
==15816==    by 0x6EC1C0: cChunkMap::GetChunkNoGen(int, int, int) (ChunkMap.cpp:134)
==15816==    by 0x6EF560: cChunkMap::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (ChunkMap.cpp:1150)
==15816==    by 0x6BD82D: cWorld::CompareChunkClients(int, int, int, int, int, int, cClientDiffCallback&) (World.cpp:1897)
==15816==    by 0x6CA853: cEntity::MoveToCorrectChunk(bool) (Entity.cpp:142)
==15816==    by 0x6CA561: cEntity::Initialize(cWorld*) (Entity.cpp:84)
==15816==    by 0x63F1E4: cPlayer::Initialize(cWorld*) (Player.cpp:128)
==15816==    by 0x62EE2B: cClientHandle::Authenticate() (ClientHandle.cpp:257)
==15816==    by 0x6DC52D: cServer::AuthenticateUser(int) (Server.cpp:641)
==15816==    by 0x627013: cRoot::AuthenticateUser(int) (Root.cpp:385)
==15816==    by 0x62AAC8: cAuthenticator::Execute() (Authenticator.cpp:144)
==15816==

Wow.. after a while it seems to have generated chunks @ my location i did /top i see dirt blocks with lava on it..



RE: Valgrind - xoft - 11-13-2012

Weird, my server crashes when it tries to load this world. I'll look at the valgrind logs, but they don't seem to have much other things than uninitialized values.


RE: Valgrind - xoft - 11-14-2012

I've tried to fix the errors in the log (rev 1040), can you re-test?
You don't even need to login to the server, just let it start up, load the world and then stop it.
Thanks.


RE: Valgrind - ThuGie - 11-14-2012

Will do so tomorrow Smile.


RE: Valgrind - xoft - 11-16-2012

I managed to get valgrind running on my virtualboxed linux. And it seems to find different stuff than yours - there were other messages, and it even crashed with my "crashing world" (though only once).
So I'm valgrinding now; thanks for the help.

Do you have any tips, as to what arguments to use?
I'm currently using "--leak-check=yes --track-origins=yes".


RE: Valgrind - ThuGie - 11-16-2012

Hey great!,

Using
valgrind --tool=memcheck --leak-check=full --leak-resolution=high --show-reachable=yes --track-origins=yes ./MCServer > output.log 2> error.log


RE: Valgrind - xoft - 11-16-2012

Yay! I found the offender that was writing where it shouldn't. cLightingThread had its ranges wrong, a typical off-by-one error. Fixed in rev 1046; the world doesn't crash the server anymore.

And with this fixed, valgrind outputs no more major warnings Smile


RE: Valgrind - ThuGie - 11-16-2012

Yay Smile, i guess i can just now run the server in release Smile.


RE: Valgrind - xoft - 11-16-2012

yeah, you can finally get some gameplay again Smile