MovingBlocks / Terasology

Terasology - open source voxel world
http://terasology.org
Apache License 2.0
3.69k stars 1.34k forks source link

NullPointerException of some kind. I'm new, sorry. #2663

Closed RepComm closed 4 years ago

RepComm commented 7 years ago

What you were trying to do

Hitting a Pine tree log attempting to obtain it in all of its woody greatness...

What actually happened

The end of the stack trace said NullPointerException, so.. (Again, I'm new. I just submitted incase it helps!)

How to reproduce

Log details and game version

https://drive.google.com/uc?id=0B5l2RT_UOCXRclQ4RmZSTHNMVlU&export=download This is what you need right?

Computer details

Win. 8 Hp Laptop 4g ram, 4g gpu.. Not sure what you want here really. I don't do this often..

If this isn't at all helpful, I'm sorry. I just vaguely wanted to participate in helping devs if at all possible.

JustAnotherUser19401 commented 7 years ago

Looks like an issue with the rendering system. I'm not super advanced with OpenGL or anything, but there is a vague description for you.

Also I don't understand Step 3 😕 Also, since this may be a video card problem what is your GPU model? I see it has 4GB of VRAM, far more than enough, but what is the model?

emanuele3d commented 7 years ago

Hmmm... no, although it's true this is connected to the rendering engine, this is not an OpenGL thing, so it shouldn't be a matter of GPUs.

It appears the (non-rendering) engine is passing a null object when it should pass a chunk, a chunk being the data structure holding the information regarding a 32x64x32 (blocks) chunk of the world.

I think this is a problem that has come up already and there might be an open issue about it. @Cervator ?

Cervator commented 7 years ago

Heya @RepComm - yep this is a known issue, documented primarily in #2590

It happens while the rendering system is active, but has something to do with duplicate chunk loading. Like something that normally happens only once gets queued up twice and then processing is attempted the second time and something fails.

No current workaround is known, but it seems non-destructive - as in, you can join again and everything seems fine (since chunks at that point reload). We need to identify this problem more closely when somebody is available to dive deeper into the chunk loading process.

JustAnotherUser19401 commented 7 years ago

I agree. I'll see what I can do to help fix the problem in the meantime.

RepComm commented 7 years ago

In the mean time it may be useful to add a try-catch at the point in code that it fails (where expecting a chunk, but getting null) and simply cancel that loading attempt. I may have a look later.

keturn commented 4 years ago

Closing as stale.