Crash when login with client on linux
#7
I can only think of this:

if ((BlockY >= cChunkDef::Height) || (BlockY < 0))
	{
		// Outside of the world


		cChunk * NextChunk = a_Chunk.GetNeighborChunk(BlockX, BlockZ); //POINTER ONE <-------------------------
		// See if we can commit our changes. If not, we will discard them.
		if (NextChunk != NULL)
		{
			SetSpeed(NextSpeed);
			NextPos += (NextSpeed * a_Dt);
			SetPosition(NextPos);
		}
		return;
	}


	// Make sure we got the correct chunk and a valid one. No one ever knows...
	cChunk * NextChunk = a_Chunk.GetNeighborChunk(BlockX, BlockZ); // POINTER TWO, DUPLICATE? <---------------------------------
	if (NextChunk != NULL)
	{
		int RelBlockX = BlockX - (NextChunk->GetPosX() * cChunkDef::Width);
		int RelBlockZ = BlockZ - (NextChunk->GetPosZ() * cChunkDef::Width);
		BLOCKTYPE BlockIn = NextChunk->GetBlock( RelBlockX, BlockY, RelBlockZ );
		BLOCKTYPE BlockBelow = NextChunk->GetBlock( RelBlockX, BlockY - 1, RelBlockZ );
		if (!g_BlockIsSolid[BlockIn])  // Making sure we are not inside a solid block


Another crash report with gdb (my cores aren't dumped :/):

Currently logging to "gdb.txt".
Future logs will be written to crash.txt.
Logs will be appended to the log file.
Output is being logged and displayed.
Starting program: /root/mcserver/MCServer 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[New Thread 0xb7d3bb70 (LWP 2305)]
[New Thread 0xb733bb70 (LWP 2306)]
[New Thread 0xb6085b70 (LWP 2307)]
[New Thread 0xb5685b70 (LWP 2308)]
[New Thread 0xb4c85b70 (LWP 2309)]
[New Thread 0xb3e84b70 (LWP 2310)]
[New Thread 0xb3484b70 (LWP 2311)]
[New Thread 0xb2a84b70 (LWP 2312)]
[New Thread 0xae09db70 (LWP 2313)]
[Thread 0xae09db70 (LWP 2313) exited]
[New Thread 0xae09db70 (LWP 2314)]
[Thread 0xae09db70 (LWP 2314) exited]
[New Thread 0xae09db70 (LWP 2315)]
[New Thread 0xad69cb70 (LWP 2316)]
[New Thread 0xacc9cb70 (LWP 2317)]
[New Thread 0xac29cb70 (LWP 2318)]
[New Thread 0xab89bb70 (LWP 2319)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xacc9cb70 (LWP 2317)]
0xb7fa3a47 in std::string::append(char const*, unsigned int) () from /usr/lib/i386-linux-gnu/libstdc++.so.6
  Id   Target Id         Frame 
  16   Thread 0xab89bb70 (LWP 2319) 0xb7e0cd77 in select () from /lib/i386-linux-gnu/libc.so.6
  15   Thread 0xac29cb70 (LWP 2318) 0xb7e048d1 in read () from /lib/i386-linux-gnu/libc.so.6
* 14   Thread 0xacc9cb70 (LWP 2317) 0xb7fa3a47 in std::string::append(char const*, unsigned int) ()
   from /usr/lib/i386-linux-gnu/libstdc++.so.6
  13   Thread 0xad69cb70 (LWP 2316) 0xb7e0cd77 in select () from /lib/i386-linux-gnu/libc.so.6
  12   Thread 0xae09db70 (LWP 2315) 0xb7dde29c in nanosleep () from /lib/i386-linux-gnu/libc.so.6
  9    Thread 0xb2a84b70 (LWP 2312) 0xb7dde29c in nanosleep () from /lib/i386-linux-gnu/libc.so.6
  8    Thread 0xb3484b70 (LWP 2311) 0xb7e990b0 in sem_wait@@GLIBC_2.1 ()
   from /lib/i386-linux-gnu/libpthread.so.0
  7    Thread 0xb3e84b70 (LWP 2310) 0xb7e990b0 in sem_wait@@GLIBC_2.1 ()
   from /lib/i386-linux-gnu/libpthread.so.0
  6    Thread 0xb4c85b70 (LWP 2309) 0xb7e990b0 in sem_wait@@GLIBC_2.1 ()
   from /lib/i386-linux-gnu/libpthread.so.0
  5    Thread 0xb5685b70 (LWP 2308) 0xb7e990b0 in sem_wait@@GLIBC_2.1 ()
   from /lib/i386-linux-gnu/libpthread.so.0
  4    Thread 0xb6085b70 (LWP 2307) 0xb7e990b0 in sem_wait@@GLIBC_2.1 ()
   from /lib/i386-linux-gnu/libpthread.so.0
  3    Thread 0xb733bb70 (LWP 2306) 0xb7e99f1e in accept () from /lib/i386-linux-gnu/libpthread.so.0
  2    Thread 0xb7d3bb70 (LWP 2305) 0xb7e990b0 in sem_wait@@GLIBC_2.1 ()
   from /lib/i386-linux-gnu/libpthread.so.0
  1    Thread 0xb7d3d6d0 (LWP 2302) 0xb7dde29c in nanosleep () from /lib/i386-linux-gnu/libc.so.6

Thread 16 (Thread 0xab89bb70 (LWP 2319)):
#0  0xb7e0cd77 in select () from /lib/i386-linux-gnu/libc.so.6
#1  0x083914bf in cSocketThreads::cSocketThread::Execute (this=0x93ff0d0)
    at source/OSSupport/SocketThreads.cpp:503
#2  0x08391c4e in cIsThread::thrExecute (a_Param=0x93ff0d0) at source/OSSupport/IsThread.h:73
#3  0xb7e92954 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#4  0xb7e1395e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 15 (Thread 0xac29cb70 (LWP 2318)):
#0  0xb7e048d1 in read () from /lib/i386-linux-gnu/libc.so.6
#1  0xb7dab92b in _IO_file_underflow () from /lib/i386-linux-gnu/libc.so.6
#2  0xb7dad1db in _IO_default_uflow () from /lib/i386-linux-gnu/libc.so.6
#3  0xb7dae618 in __uflow () from /lib/i386-linux-gnu/libc.so.6
#4  0xb7da3edc in getc () from /lib/i386-linux-gnu/libc.so.6
#5  0xb7f76385 in __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >::underflow() ()
   from /usr/lib/i386-linux-gnu/libstdc++.so.6
#6  0xb7f53de7 in ?? () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#7  0xb7f54d0c in std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char) () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#8  0x0835ec69 in getline<char, std::char_traits<char>, std::allocator<char> > (__str=..., __is=...)
    at /usr/include/c++/4.7/bits/basic_string.h:2794
Àcy	ØÓ<·
A debugging session is active.

	Inferior 1 [process 2302] will be killed.

Quit anyway? (y or n)

It happens after CI build #688 (http://ci.berboe.co.uk/job/MCServer%20Li...88/changes)

GDB gave me a dump, here it is!

https://copy.com/L6uuPnWwUnvK
Reply
Thanks given by:


Messages In This Thread
RE: Crash when login with client on linux - by tigerw - 09-16-2013, 06:47 AM



Users browsing this thread: 1 Guest(s)