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.
11-12-2012, 06:35 AM (This post was last modified: 11-13-2012, 08:03 AM by ThuGie.)
Sure i should have time tomorrow so i will do this then .
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..
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.
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.
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".
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