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 .
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 .
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
RE: Valgrind - ThuGie - 11-16-2012
Yay , i guess i can just now run the server in release .
RE: Valgrind - xoft - 11-16-2012
yeah, you can finally get some gameplay again
|