GetQueuedCompletionStatus errors GS, CS + win2k3 sp2 solutions.

Joined
Mar 15, 2006
Messages
451
Reaction score
285
There are several problems related with IO Completition Port. One of them is that Connect Server has a bug related with IOCP, another problem is that in win2k3 sp2 after some hours GS disconnects all users and noone can enter game, everyone stuck awaiting for Login Results and then get disconnected with error in gs related with response error.

Let's try to fix first problem related with CS.
Most of the people who used WebZen CS noticed that after a period of time it logs a error related with connection aborted by local system. Here it is: "The network connection was aborted by the local system", error 1236.
When this error occurres thread that receives this error just exits. I don't know how much threads CS starts for receiving and parsing data, probably 2*cpus(or cores). So for example if our CS has 2 working threads and if all of them have received this error CS stops parsing received data, because there no more working threads. So you can connect to CS, send data, but it will be in the deaf state.

But the point is that when using IOCP some of the errors must be ignored and 1236 is one of them, but in CS it's not ignored, that's why it dies.

take a look in CS code and GS code.
GS ignores this error. 0x4D4(1236)
CS:
Gembrid - GetQueuedCompletionStatus errors GS, CS + win2k3 sp2 solutions. - RaGEZONE Forums


GS:
Gembrid - GetQueuedCompletionStatus errors GS, CS + win2k3 sp2 solutions. - RaGEZONE Forums



So the solution is by adding a code that ignores this error.


1. jump to free space
Gembrid - GetQueuedCompletionStatus errors GS, CS + win2k3 sp2 solutions. - RaGEZONE Forums



2. check for errors, decide ignore or exit thread
Gembrid - GetQueuedCompletionStatus errors GS, CS + win2k3 sp2 solutions. - RaGEZONE Forums


haven't tested it, but it should help.

Let's talk about GS and win2k3 sp2, i had a possibility to learn why gs disconnects all users and then doesn't allow them to enter. I noticed that when this problem occured Worker Threads were suspended, so like with CS, GS becomes deaf. Then i found that threads exit with error 0x79(121) ERROR_SEM_TIMEOUT, tryed to google it but found nothing, so i decided to add code that ignores this error and continues execution. I had the possibility to test server only 24 hours and it worked without problems.

So win2k3 sp2 solution is by adding ignore error code 0x79(121) to CS(it also gave this error) and GS like we did for CS.
 
Re: [Guide] GetQueuedCompletionStatus errors GS, CS + win2k3 sp2 solutions.

thanks man,my problem was finally solved(i hope) xD
PS: the problem dont appear only in win2k3 sp2,i got it in win xp sp2 too

i don't know all the parts of this problem, cause i don't have the possibility to learn about it
for example JS checks only for net name delete 0x40 error, may be it also has threads suspending problem, i noticed only GS and CS errors, so may be all these errors should be also ignored in JS if it will stop receiving data from GS
 
Re: [Guide] GetQueuedCompletionStatus errors GS, CS + win2k3 sp2 solutions.

thanks man,my problem was finally solved(i hope) xD
PS: the problem dont appear only in win2k3 sp2,i got it in win xp sp2 too

that must be because ur OS is windows xp 2003 version with SP2
 
Re: [Guide] GetQueuedCompletionStatus errors GS, CS + win2k3 sp2 solutions.

i got the windows xp 2003 version 64-bit.. but its genuine.. ^^
 
Re: [Guide] GetQueuedCompletionStatus errors GS, CS + win2k3 sp2 solutions.

Sorry for bumping this but is this tutorial really work?... Anyone Tested and have a success story?
 
Re: [Guide] GetQueuedCompletionStatus errors GS, CS + win2k3 sp2 solutions.

so basically if i use other connectserver instead of webzen i wont have this kind of problem? or this guide applies to all connectserver out there? well my question is not a help thing but information on the guide so i think i didnt violate any rules asking much here
 
Re: [Guide] GetQueuedCompletionStatus errors GS, CS + win2k3 sp2 solutions.

bor team cs dont have this problems

are you sure? the problem GetQueuedCompletionStatus is only on CS Webzen and no GS?

if me change mi CS Webzen x CS Borteam , I not will have problems? or need edit the GS?

plz help me :(
 
Re: [Guide] GetQueuedCompletionStatus errors GS, CS + win2k3 sp2 solutions.

Ok this is not help section. The question been answered in good way. Thanks.
 
Re: [Guide] GetQueuedCompletionStatus errors GS, CS + win2k3 sp2 solutions.

There are several problems related with IO Completition Port. One of them is that Connect Server has a bug related with IOCP, another problem is that in win2k3 sp2 after some hours GS disconnects all users and noone can enter game, everyone stuck awaiting for Login Results and then get disconnected with error in gs related with response error.

Let's try to fix first problem related with CS.
Most of the people who used WebZen CS noticed that after a period of time it logs a error related with connection aborted by local system. Here it is: "The network connection was aborted by the local system", error 1236.
When this error occurres thread that receives this error just exits. I don't know how much threads CS starts for receiving and parsing data, probably 2*cpus(or cores). So for example if our CS has 2 working threads and if all of them have received this error CS stops parsing received data, because there no more working threads. So you can connect to CS, send data, but it will be in the deaf state.

But the point is that when using IOCP some of the errors must be ignored and 1236 is one of them, but in CS it's not ignored, that's why it dies.

take a look in CS code and GS code.
GS ignores this error. 0x4D4(1236)
CS:
Gembrid - GetQueuedCompletionStatus errors GS, CS + win2k3 sp2 solutions. - RaGEZONE Forums


GS:
Gembrid - GetQueuedCompletionStatus errors GS, CS + win2k3 sp2 solutions. - RaGEZONE Forums



So the solution is by adding a code that ignores this error.


1. jump to free space
Gembrid - GetQueuedCompletionStatus errors GS, CS + win2k3 sp2 solutions. - RaGEZONE Forums



2. check for errors, decide ignore or exit thread
Gembrid - GetQueuedCompletionStatus errors GS, CS + win2k3 sp2 solutions. - RaGEZONE Forums


haven't tested it, but it should help.

Let's talk about GS and win2k3 sp2, i had a possibility to learn why gs disconnects all users and then doesn't allow them to enter. I noticed that when this problem occured Worker Threads were suspended, so like with CS, GS becomes deaf. Then i found that threads exit with error 0x79(121) ERROR_SEM_TIMEOUT, tryed to google it but found nothing, so i decided to add code that ignores this error and continues execution. I had the possibility to test server only 24 hours and it worked without problems.

So win2k3 sp2 solution is by adding ignore error code 0x79(121) to CS(it also gave this error) and GS like we did for CS.

how do i find these errors?
 
Re: [Guide] GetQueuedCompletionStatus errors GS, CS + win2k3 sp2 solutions.

Please, someone can do this in this CS


And fix and upload please.
 
Re: [Guide] GetQueuedCompletionStatus errors GS, CS + win2k3 sp2 solutions.

Please, someone can do this in this CS


And fix and upload please.




how do i find these errors?

what do you mean? you have to add 0x4D4 and 0x79
 
Back