Jump to content
  • 0

L2Off , Some Errors :s (Pending Write)


madocter

Question

Im geting some errors but i need have more information about them, someone with more knowledge than me could giveme a hand ? i need all information posible from the errors that i get on L2server / log / error. :All help is welcome, Thanks a lot

 

I have Raid 0 SAS 15 k
Xeon E31220 , 4 cores , 3.10 GHz
16 GB ram ECC

 

Runing on a windows 2003

Console:
Iobufferpoolsize: 6100
User socket : 79
User(n) connected : 52
user playing: 53
user max : 79
Elapsed time: 10H 56M
Pending write: 5 450 294 , /8k (665

01/28/2014 14:33:13.343, [ioc.cpp][1190] Write to invalid socket.
01/28/2014 14:33:13.343, pending write > 2M
01/28/2014 14:33:13.343, [ioc.cpp][1190] Write to invalid socket.
01/28/2014 14:33:13.343, pending write > 2M
01/28/2014 14:33:13.343, [ioc.cpp][1190] Write to invalid socket.
01/28/2014 14:33:13.343, pending write > 2M
01/28/2014 14:33:13.343, [ioc.cpp][1190] Write to invalid socket.
01/28/2014 14:33:13.343, pending write > 2M

*When it start  server still get this shit for a while it can create big log error files.

*As i know is that server have pending to write 2M and trying all the time write to a invalid socket

*But dont know Why i get this error , and what i can do to solve ?

#

Other casual errors:

01/28/2014 07:04:14.687, [ioc.cpp][1212] CIOSocket::_Write - WSASend fail. error(10038)

*I get this one often.

 

01/28/2014 04:13:15.921, [c:\serverservice\l2server\ThreadLocalWorldMap.h][642] removing not linked item

01/28/2014 04:20:37.843, [DBSocket.cpp][9217] ReplyGiveItemToPet(0) failed. cannot find item in inventory

/2014 07:03:22.140, Invalid Memory (-1) on MemoryObject(498058)
01/28/2014 07:03:22.140, Caller : file[userSocket.cpp], line[8938]
01/28/2014 07:03:52.265, [DBSocket.cpp][9217] ReplyGiveItemToPet(0) failed. cannot find item in inventory



01/28/2014 07:06:16.312, [user.cpp][7904]PrivateStoreBuy request error. nItemServerId[-3469],

01/28/2014 07:11:23.015, [userSocket.cpp][2991]Invalid withdraw item. dbid[59], count[6144]

01/28/2014 07:12:29.390, [user.cpp][7920]PrivateStoreBuy request error. nItemPrice[0],

01/28/2014 14:12:09.781, invalid amount at file[userSocket.cpp], line[1380]

01/28/2014 08:35:15.906, error in movestraight3! [GeoData.cpp][1040]
01/28/2014 08:35:17.218, error in movestraight3! [GeoData.cpp][1040]

01/28/2014 08:39:52.046, inserting deleted object
01/28/2014 08:39:52.062, inserting deleted object

Edited by madocter
Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Stop using c1.

 

It's horribly coded and half of those errors are indirect errors of other issues most likely caused by bad script + dll fixing combinations.

 

 

No one really knew how stuff worked back then, they just made direct assumptions on every hook.

Youd need to spend time researching c1 binary to figure out more and view the current dlls you use.

Link to comment
Share on other sites

  • 0

That answer just made roll on the floor most likely.

He has no clue what you have said.

 

I know what he say . but i cant stop using C1 :)

Pending write error is who giving me problems the rest are just casual and never make a crash

Edited by madocter
Link to comment
Share on other sites

  • 0

We can see how buffer pool size decrease meanwhile pending write increase. i still dont know why server trying write to some invalid socket ..

 

Iobufferpoolsize 4642

User socket 156

user connected : 35

user playing : 43

user max 150

Elapsed time 1D 13H

Pending write 17125000 , /8k (2090)

 

*In adition i want add that sometimes player get stucked at game and can't be kicked they get "access failed" when try enter to game.

This happend to players sometimes when they try 1) setup private store 2) they doing a trade.  then they get game freeze and force close l2

 

So pending write can be because of this ? i mean server try write to character that is not online and cant be kicked.. ?

 

 

 

 

ioc.cpp

 

Line 1190   if (bind(m_hSocket, (struct sockaddr*)&sin, sizeof(sin))) {
        AddLog("bind error %d", WSAGetLastError());
        goto fail;
    }


INIT_ID(CIOServer)

CIOServer::CIOServer()
{
	guard(CIOServer::CIOServer());

	m_hSocket = INVALID_SOCKET;
	m_hAcceptEvent = WSA_INVALID_EVENT;

	unguard;
}

CIOServer::~CIOServer()
{
	guard(CIOServer::~CIOServer());

	Close();

	unguard;
}

void CIOServer::Close()
{
	guard(void CIOServer::Close());

	if (m_hSocket != INVALID_SOCKET) {
		closesocket(m_hSocket);
		m_hSocket = INVALID_SOCKET;
	}
	if (m_hAcceptEvent != WSA_INVALID_EVENT) {
		WSACloseEvent(m_hAcceptEvent);
		m_hAcceptEvent = WSA_INVALID_EVENT;
	}

	unguard;
}

BOOL CIOServer::Create(int nPort)
{
	guard(BOOL CIOServer::Create(int nPort));

	m_hSocket = socket(AF_INET, SOCK_STREAM, 0);
	if (m_hSocket == INVALID_SOCKET) {
		AddLog("socket error %d", WSAGetLastError());
		return FALSE;
	}
	struct sockaddr_in sin;
	sin.sin_family = AF_INET;
	sin.sin_addr.s_addr = htonl(INADDR_ANY);
	sin.sin_port = htons(nPort);

	if (bind(m_hSocket, (struct sockaddr*)&sin, sizeof(sin))) {
		AddLog("bind error %d", WSAGetLastError());
		goto fail;
	}
	if (listen(m_hSocket, 5)) {
		AddLog("listen error %d", WSAGetLastError());
		goto fail;
	}

	m_hAcceptEvent = WSACreateEvent();
	WSAEventSelect(m_hSocket, m_hAcceptEvent, FD_ACCEPT);
	if (!RegisterWait(m_hAcceptEvent)) {
		AddLog("RegisterWait error on port %d", nPort);
		goto fail;
	}
	return TRUE;
fail:
	Close();
	return FALSE;

	unguard;
}
Edited by madocter
Link to comment
Share on other sites

  • 0

I think you mostly have a socket problem, mostly being flooded. Extending and adding a socket filtering option would be good, if you limit the sockets and prevent the flooding.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...