Client side not recognizing a move, then player getting timed out as a result -- happens a lot in th

Sort:
riv3r

@SimonJin

Thats what makes bugs hard to diagnose. The bug might not manifest itself in the browser you use.

check_out_23

@christopher_parsons: That is plain wrong. The clientside code may have a bug so that it simply does not refresh its state, i.e. the data. That means it will not realize it needs to refresh until it contacts the server for some reason, and the server tells it that it is out of state, i.e. "no longer knows what's going on". That is entirely unrelated to lag of any kind, which is a delay of information being transferred due to network issues.

check_out_23

I am also an experienced developer, and the point of this is to make the devs realize that this issue is not experienced only by the few people who actually bother to file bug reports.

Also, it is extremely difficult to file a bug report about this correctly, because the bug reporting software in the app allows screenshots - but the bug can only be observed in play, so one would have to experience this while streaming or similar.

So it's simply not helpful for you to keep discussing what it might be otherwise. Because that in effect makes this post useless. Any support person looking at this will go "ah, it's lag" and we can be certain nothing will be done.

riv3r

@check_out_23

Well written, thanks.

I did post a screen shot of this happening to me. I just did a "print screen" once I realized it as happening -- which is easy to do on both Windows or Mac. I then edited the image and uploaded it to this thread.

This bug does seem less frequent now than it was a few days ago, but it is still happening (which is why I posted the followup screen shot).

BabYagun

Did you guys play today? Did this particular bug happen today? Did disconnections happen today?

Christopher_Parsons
riv3r wrote:

@check_out_23

Well written, thanks.

I did post a screen shot of this happening to me. I just did a "print screen" once I realized it as happening -- which is easy to do on both Windows or Mac. I then edited the image and uploaded it to this thread.

This bug does seem less frequent now than it was a few days ago, but it is still happening (which is why I posted the followup screen shot).

While I won't deny that you guys are probably more experienced than myself in understanding code, I was simply attempting to approach the problem from the point of view of logic. 

Obviously it isn't a syntax error, or the code wouldn't run at all. It isn't a logic error, since the task would be impossible to be completed by the system, as opposed to being completely intermittently or too late. I don't see this as a runtime error, since the task does get completed in time, eventually in some cases, as opposed to the wrong task getting completed, or the task completed ends up with an incorrect result. ( ex. moving the pawn physically to d4, but the notation produced by command of the code is the wrong notation)

The only way I could remotely seeing this being in any way semantic in nature is, if somehow the moving of the piece involved, has a notation that is similar to the way the code was written and it is confusing the system, but as I stated earlier, this would result in a task not being able to be completed at all. 

 

Please do elaborate in more detail about how you think the code is causing delay....

riv3r

@christopher_parsons,

Are you a dev working for this site? If not, why are you diluting this bug report with your obvious lack of programming experience?

There could be many ways that the bug is happening, but since none of us can see the code, we can't really solve this.

The best we can do is report the bug and the symptoms to the devs here, and your attempt to derail the bug report with your bloated hypothesis isn't helping the situation.

The only way to solve this, is for an experienced developer or tester for this site to investigate, ideally, but running the code in a debugger while playing the game in various browsers.

Chipster2015
Christopher_Parsons wrote:

Obviously it isn't a syntax error, or the code wouldn't run at all.

 

Definitely true.

Christopher_Parsons wrote:

It isn't a logic error, since the task would be impossible to be completed by the system, as opposed to being completely intermittently or too late.

Logic errors have many forms. There's no way to tell this side of the code.

Christopher_Parsons wrote:

 I don't see this as a runtime error, since the task does get completed in time, eventually in some cases, as opposed to the wrong task getting completed, or the task completed ends up with an incorrect result.

Runtime errors ironically have nothing to do with a task being done on time, They are more akin to syntax errors, but don't show up until runtime. That's not a perfect description, but hopefully you get the idea.

Runtime errors would probably get logged or, worst case scenario, crash the server. In that case, the devs should already know about it or find it somewhat easily (relatively easily, of course. Code can be tricky.)

Christopher_Parsons wrote:

 ( ex. moving the pawn physically to d4, but the notation produced by command of the code is the wrong notation)

That's actually a good example of a logic error, not a runtime error. Doing something and ending up with the wrong result is a logic error. 

Christopher_Parsons wrote:

The only way I could remotely seeing this being in any way semantic in nature is, if somehow the moving of the piece involved, has a notation that is similar to the way the code was written and it is confusing the system, but as I stated earlier, this would result in a task not being able to be completed at all. 

I don't know how their code is written, but that's highly unlikely. Similar notation shouldn't make a difference, but then again bugs can be tricky like that, so who knows.

@BabYagun to answer your question, no I haven't noticed it today. I've noticed less disconnections from people today too.

riv3r

@BabYagun,

The issue does not happen in every game, just sometimes. It seems random. 

But no, I have not seen it yet today. 

It seems to be happening less than it did right after you guys had us accept the new terms of service about not teaming -- but it has still happened to me even after one of your staff members said that you "reset the server". That staff member never explained how "reseting the server" was supposed to help -- because if this is a client side bug -- I'd think the client js would need to be fixed.  Maybe "reseting the server" is just a catch all phrase that some use to communicate?

Christopher_Parsons
riv3r wrote:

@christopher_parsons,

Are you a dev working for this site? If not, why are you diluting this bug report with your obvious lack of programming experience?

There could be many ways that the bug is happening, but since none of us can see the code, we can't really solve this.

The best we can do is report the bug and the symptoms to the devs here, and your attempt to derail the bug report with your bloated hypothesis isn't helping the situation.

The only way to solve this, is for an experienced developer or tester for this site to investigate, ideally, but running the code in a debugger while playing the game in various browsers.

Why are you seemingly so offended that that someone puts their two cents in and has some desire to learn. You seem more interested in being right and staff being impressed with you. I like solving problems with people who are willing to reason through things. So far all you have contributed is how you know you are right, but haven't offered a single shred of evidence as to how you are right or how I could be wrong, other than my own admitted lack of experience. 

 

Beyond that, I doubt your own two cents is the deciding factor in it getting solved, any more than mine, considering you yourself don't know how the code is written. You yourself don't even see a pattern. From my perspective, there would be a consistent problem, with a discernible pattern, if it is directly code related.

 

riv3r

@Christopher_Parsons

"Why are you seemingly so offended that that someone puts their two cents"

I'm trying to get the devs here to fix the bug. Not give you an education in coding. And you keep spamming this thread with your uniformed opinion. 

If you want to learn coding, read some books and take some courses and start your own thread.

This thread is a bug report. Not a place for you to try your pet theories and ask for education.

Christopher_Parsons
Chipster2015 wrote:
Christopher_Parsons wrote:

Obviously it isn't a syntax error, or the code wouldn't run at all.

 

Definitely true.

Christopher_Parsons wrote:

It isn't a logic error, since the task would be impossible to be completed by the system, as opposed to being completely intermittently or too late.

Logic errors have many forms. There's no way to tell this side of the code.

Christopher_Parsons wrote:

 I don't see this as a runtime error, since the task does get completed in time, eventually in some cases, as opposed to the wrong task getting completed, or the task completed ends up with an incorrect result.

Runtime errors ironically have nothing to do with a task being done on time, They are more akin to syntax errors, but don't show up until runtime. That's not a perfect description, but hopefully you get the idea.

Runtime errors would probably get logged or, worst case scenario, crash the server. In that case, the devs should already know about it or find it somewhat easily (relatively easily, of course. Code can be tricky.)

Christopher_Parsons wrote:

 ( ex. moving the pawn physically to d4, but the notation produced by command of the code is the wrong notation)

That's actually a good example of a logic error, not a runtime error. Doing something and ending up with the wrong result is a logic error. 

Christopher_Parsons wrote:

The only way I could remotely seeing this being in any way semantic in nature is, if somehow the moving of the piece involved, has a notation that is similar to the way the code was written and it is confusing the system, but as I stated earlier, this would result in a task not being able to be completed at all. 

I don't know how their code is written, but that's highly unlikely. Similar notation shouldn't make a difference, but then again bugs can be tricky like that, so who knows.

@BabYagun to answer your question, no I haven't noticed it today. I've noticed less disconnections from people today too.

First of all, I just wanted to reiterate, I didn't claim that a runtime error had anything to do with time or anything being completed on time. It is a name for a type of error that I probably wouldn't have chosen, for that very reason. 

 

It seems when I was refreshing my memory about the different types of errors you can encounter in coding, I go information from a site that had the definitions of runtime and logic errors backwards. When I went to double check, it stated on a different site what you are saying about runtime errors. 

Christopher_Parsons
riv3r wrote:

@Christopher_Parsons

"Why are you seemingly so offended that that someone puts their two cents"

I'm trying to get the devs here to fix the bug. Not give you an education in coding. And you keep spamming this thread with your uniformed opinion. 

If you want to learn coding, read some books and take some courses and start your own thread.

This thread is a bug report. Not a place for you to try your pet theories and ask for education.

Wow, some of the same snobbery and arrogance I got from asking a question on a coding site, while learning code in the past. No surprise....

 

I will say what I want and I still think it is not a code bug...

So, you can keep this up if you want, since the last word seems important to you, but still, you have offered no tangible evidence other than your opinion that I am wrong and derailing the thread. I propose you offer something concrete or cease and desist yourself....

Christopher_Parsons
Christopher_Parsons wrote:
Chipster2015 wrote:
Christopher_Parsons wrote:

Obviously it isn't a syntax error, or the code wouldn't run at all.

 

Definitely true.

Christopher_Parsons wrote:

It isn't a logic error, since the task would be impossible to be completed by the system, as opposed to being completely intermittently or too late.

Logic errors have many forms. There's no way to tell this side of the code.

Christopher_Parsons wrote:

 I don't see this as a runtime error, since the task does get completed in time, eventually in some cases, as opposed to the wrong task getting completed, or the task completed ends up with an incorrect result.

Runtime errors ironically have nothing to do with a task being done on time, They are more akin to syntax errors, but don't show up until runtime. That's not a perfect description, but hopefully you get the idea.

Runtime errors would probably get logged or, worst case scenario, crash the server. In that case, the devs should already know about it or find it somewhat easily (relatively easily, of course. Code can be tricky.)

Christopher_Parsons wrote:

 ( ex. moving the pawn physically to d4, but the notation produced by command of the code is the wrong notation)

That's actually a good example of a logic error, not a runtime error. Doing something and ending up with the wrong result is a logic error. 

Christopher_Parsons wrote:

The only way I could remotely seeing this being in any way semantic in nature is, if somehow the moving of the piece involved, has a notation that is similar to the way the code was written and it is confusing the system, but as I stated earlier, this would result in a task not being able to be completed at all. 

I don't know how their code is written, but that's highly unlikely. Similar notation shouldn't make a difference, but then again bugs can be tricky like that, so who knows.

@BabYagun to answer your question, no I haven't noticed it today. I've noticed less disconnections from people today too.

First of all, I just wanted to reiterate, I didn't claim that a runtime error had anything to do with time or anything being completed on time. It is a name for a type of error that I probably wouldn't have chosen, for that very reason. 

 

It seems when I was refreshing my memory about the different types of errors you can encounter in coding, I got information from a site that had the definitions of runtime and logic errors backwards. When I went to double check, it stated on a different site what you are saying about runtime errors. 

 

Chipster2015
Christopher_Parsons wrote:

First of all, I just wanted to reiterate, I didn't claim that a runtime error had anything to do with time or anything being completed on time. It is a name for a type of error that I probably wouldn't have chosen, for that very reason. 

Point taken. 

I agree it's probably not a runtime error. I was just trying to say your reasoning why it's not was wrong. The example that you gave wasn't a runtime error, which, if I understood you correctly, you were implying it was.

riv3r

@Christopher_Parsons

"So, you can keep this up if you want, since the last word seems important to you"

It isn't about the last word. 

This post is a bug report.

You continue to litter it with conjecture that isn't helpful to getting the bug solved.

If you want a post about helping you to learn how to code, start your own post.

Stop littering in my post.

Christopher_Parsons
riv3r wrote:

@Christopher_Parsons

"So, you can keep this up if you want, since the last word seems important to you"

It isn't about the last word. 

This post is a bug report.

You continue to litter it with conjecture that isn't helpful to getting the bug solved.

If you want a post about helping you to learn how to code, start your own post.

Stop littering in my post.

Ok pot...

spacebar
riv3r wrote:

@christopher_parsons,

I have 25 years worth of experience as a developer, bugs are bugs for a reason, they aren't obvious to the developers, and they normally just crop up in odd circumstances... especially when javascript has to work well on 4-6 different browser brands and multiple versions. 

Based on the symptoms I'm seeing, I still 100% suspect a bug in the client side js code.

I wish it were a clientside problem (and i can't be 100% sure it's not), but I suspect the general connection issues are due to socket.io - the last remnant of the old 4pc app. In my limited experience with socket.io, i have found it to be unreliable, slow, complicated, and not well documented.

I will now undertake an attempt to replace socket.io with something more up to date. I hope this will solve the bad connections 4pc has suffered from since i can remember. Wish me luck happy.png

spacebar

fyi, It has happened to me too that I played a move and nothing happens. I then reloaded the window and saw that my move had been played! Everyone except me had received the move, and I didn't lose any time on my clock either. It looks like the server did not send it to me (unlikey, but possible if the server "thought" I was disconnected. Or the move got lost somewhere along the way. Hard to tell, but it doesn't look like a clientside problem to me.

spacebar

two days ago, I got "reconnecting.." like every two minutes. it was really bad. Cost me a couple games.

Yesterday, I removed the games list, then played, and not a single connection gap. Then added 100 games to the list, played, still not a single connection gap.

No changes were made to server or code. The only thing i can think of is there might have been more traffic (>400 players) two days ago.

Bottom line, I still do not know what causes the connection gaps. sad.png