08-29-2014, 05:30 PM (This post was last modified: 08-29-2014, 06:12 PM by xoft.)
I get this errors in skyblock
Code:
[09:26:53] cChunk::UnboundedRelGetBlock: requesting a block with a_RelY out of range: -1
This error spams the whole console, I have no idea why this error occurs.
If you have a idea how I could provide more informations, then I will try it.
This means that someone somewhere is trying to query blocks in chunk but has forgotten to check the Y coord. Compile a debug version of the server and try that, it will assert (break into debugger when running under one, or simply crash and possibly create a crashdump) when this error occurs, this way you'll find out the stack trace that leads up to the problem.
(08-29-2014, 06:13 PM)xoft Wrote: This means that someone somewhere is trying to query blocks in chunk but has forgotten to check the Y coord. Compile a debug version of the server and try that, it will assert (break into debugger when running under one, or simply crash and possibly create a crashdump) when this error occurs, this way you'll find out the stack trace that leads up to the problem.
I created a debug version with Visual Studio and tested it. Same errors occurs, no crash.
Put a breakpoint to the line producing the warning (src/Chunk.cpp, line 1112) and run under MSVC, the debugger should hit that breakpoint and you should be able to see the callstack. You can actually select everything in the callstack window and copy-paste it here as text; but you could also investigate as to why is the function called with Y set to -1.
(08-29-2014, 08:46 PM)xoft Wrote: Put a breakpoint to the line producing the warning (src/Chunk.cpp, line 1112) and run under MSVC, the debugger should hit that breakpoint and you should be able to see the callstack. You can actually select everything in the callstack window and copy-paste it here as text; but you could also investigate as to why is the function called with Y set to -1.
Got a list.
Windows Auto:
Code:
this 0x05d3c708 {m_IsValid=true m_IsLightValid=false m_IsDirty=true ...} const cChunk * const
a_RelX 12 int
a_RelY -1 int
a_RelZ 1 int
a_BlockType 11 '' unsigned char &
a_BlockMeta 2 '' unsigned char &
Window call stack:
Code:
MCServer_debug.exe!cChunk::UnboundedRelGetBlock(int a_RelX, int a_RelY, int a_RelZ, unsigned char & a_BlockType, unsigned char & a_BlockMeta) Zeile 1086 C++
MCServer_debug.exe!cVanillaFluidSimulator::CalculateFlowCost(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ, Direction a_Dir, unsigned int a_Iteration) Zeile 101 + 0x1f Bytes C++
MCServer_debug.exe!cVanillaFluidSimulator::SpreadXZ(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ, unsigned char a_NewMeta) Zeile 42 + 0x1f Bytes C++
MCServer_debug.exe!cFloodyFluidSimulator::SimulateBlock(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ) Zeile 122 + 0x24 Bytes C++
MCServer_debug.exe!cDelayedFluidSimulator::SimulateChunk(float a_Dt, int a_ChunkX, int a_ChunkZ, cChunk * a_Chunk) Zeile 149 + 0x36 Bytes C++
MCServer_debug.exe!cSimulatorManager::SimulateChunk(float a_Dt, int a_ChunkX, int a_ChunkZ, cChunk * a_Chunk) Zeile 52 + 0x2f Bytes C++
MCServer_debug.exe!cChunk::Tick(float a_Dt) Zeile 574 C++
MCServer_debug.exe!cChunkMap::cChunkLayer::Tick(float a_Dt) Zeile 2847 C++
MCServer_debug.exe!cChunkMap::Tick(float a_Dt) Zeile 2615 + 0x16 Bytes C++
MCServer_debug.exe!cWorld::Tick(float a_Dt, int a_LastTickDurationMSec) Zeile 908 C++
MCServer_debug.exe!cWorld::cTickThread::Execute() Zeile 216 C++
MCServer_debug.exe!cIsThread::thrExecute(void * a_Param) Zeile 75 + 0xe Bytes C++
Have set a debug point on all lines with the message. Here has been called the line 1086.
Hope that helps to find a solution for that problem.
(08-29-2014, 09:55 PM)xoft Wrote: Oh, so it's water flowing down out of the world, someone forgot to check their Y in the vanilla simulator That should be pretty easy to fix.
Well BlockType 11 is lava, but it doesn't matter both flows