Problems due to bugs in new lobby server (uberserver)

Problems due to bugs in new lobby server (uberserver)

SpringRTS Perl Autohost for Dedicated Server

Moderators: Moderators, Lobby Developers, SPADS AutoHost

Post Reply
User avatar
bibim
Lobby Developer
Posts: 952
Joined: 06 Dec 2007, 11:12

Problems due to bugs in new lobby server (uberserver)

Post by bibim »

A global SPADS crash occured this morning, due to inconsistent commands sent by new lobby server (uberserver).

Most of SPADS code is server-bug proof to a certain extent, that's why since lobby server migration you can see a lot of non-blocking errors in logs such as (non exhaustive list):

Code: Select all

20100812205502 - ERROR    - [PerlLobbyInterface] Ignoring CLIENTSTATUS command (unknown user:"SpringRTSRelaySlave1")
20100812215705 - ERROR    - [PerlLobbyInterface] Ignoring LEFTBATTLE command (user already out of battle:"shrek")
20100813083040 - ERROR    - [PerlLobbyInterface] Ignoring UPDATEBATTLEINFO command (unknown battle:"176")
20100813114541 - ERROR    - [PerlLobbyInterface] Ignoring CLIENTBATTLESTATUS command (client "Kazalkon" out of current battle)
These errors are due to inconsistent commands sent by lobby server, and these bugs should be fixed in a near future I guess...

SPADS should operate normally anyway, however I found a part of SPADS code which wasn't totally server-bug proof and which is likely to be the cause of today's crash. This should be fixed in SPADS 0.9.2a, which has just been deployed on all SPADS releases.
User avatar
Hobo Joe
Posts: 1001
Joined: 02 Jan 2008, 21:55

Re: SPADS AutoHost beta release

Post by Hobo Joe »

Thanks for all the work and fixes, bibim
User avatar
bibim
Lobby Developer
Posts: 952
Joined: 06 Dec 2007, 11:12

Re: SPADS AutoHost beta release

Post by bibim »

You're welcome, unfortunately there are still some severe lobby server bugs which prevent using SPADS normally. For example when someone is kicked from a battle lobby, the battle becomes totally non functionnal, messages from the host are no longer transmitted in battle lobby, some players can't see and/or join the battle anymore, some clients host several battles at the same time etc.
User avatar
bibim
Lobby Developer
Posts: 952
Joined: 06 Dec 2007, 11:12

Re: SPADS AutoHost

Post by bibim »

Due to the increase of bugs introduced recently in uberserver and the fact that all the SPADS bug reports I received lately were actually regressions in uberserver, from now I have to ignore all SPADS bug reports which haven't been reproduced using aegis' version of uberserver.
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: SPADS AutoHost

Post by abma »

bibim wrote:Due to the increase of bugs introduced recently in uberserver
details? no bug was reported. before blaming other stuff, blame yourself for not reporting.
User avatar
bibim
Lobby Developer
Posts: 952
Joined: 06 Dec 2007, 11:12

Re: SPADS AutoHost

Post by bibim »

I'm not blaming you, I'm just explaining my choices.
I used to investigate and report the regressions I encountered in uberserver but it became too much time consuming for me.
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: SPADS AutoHost

Post by abma »

oO i didn't feel personally blamed. fixing the major bugs (lost user accounts / non-sql db) in "old" uberserver comes at some costs. but without others help this can't be fixed. code of uberserver was only touched because of problems, it wasn't touched to just change it to change it. i have no clue why some of the people think its changed to break stuff / for fun / ...?! its changed to FIX stuff.

imo all developers should know that changing stuff has the risk of breaking it, but it doesn't look like all know. or maybe some devs just don't know what is broken?!

uberserver recently had memleaks which are fixed, bud idk if they are fully fixed as licho reverted changes.


if you refuse to help then it will take much longer fixing these bugs/problems.

so please, keep reporting bugs!

(i'm sure if will save your time as fewer bugs will be reported as well)
User avatar
bibim
Lobby Developer
Posts: 952
Joined: 06 Dec 2007, 11:12

Re: SPADS AutoHost

Post by bibim »

abma wrote:fixing the major bugs (lost user accounts / non-sql db) in "old" uberserver comes at some costs.
The regressions I'm speaking about have nothing to do with these major changes.
abma wrote:code of uberserver was only touched because of problems, it wasn't touched to just change it to change it. i have no clue why some of the people think its changed to break stuff / for fun / ...?! its changed to FIX stuff.
Wrong, you changed/removed working code for various reasons going from "cleaning up" to "no clue what this should do". For example as I already explained to you here, removing code just because you don't understand what it does is a bad habbit...

I could also just take my latest SPADS bug report as example, where some SPADS users tell me that SPADS doesn't respect flood thresholds and gets kicked by lobby server whereas it's just because for some reason you decided to remove the specific flood limit for bots here, without warning anyone.

I don't have time to make an exhaustive list and tbh I didn't want to blame you and pinpoint such things, but with your answer you forced me to prove my point with a few examples...
abma wrote:imo all developers should know that changing stuff has the risk of breaking it, but it doesn't look like all know.
Indeed, it doesn't seem that you are aware of this risk because if you were, I guess you would follow the "if it ain't broke, don't fix it" rule, and would only try to fix broken code.
abma wrote:if you refuse to help then it will take much longer fixing these bugs/problems.
Do you really think I would have contributed to lobby protocol evolutions and implementations if I refused to help? Seriously, how can you translate "investigating possible uberserver regressions takes too much time for me now" as "I refuse to help"?
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: SPADS AutoHost

Post by abma »

bibim wrote:The regressions I'm speaking about have nothing to do with these major changes.
bibim wrote:
abma wrote:fixing the major bugs (lost user accounts / non-sql db) in "old" uberserver comes at some costs.
The regressions I'm speaking about have nothing to do with these major changes.
these changes where the reasons why i started changing uberserver. while changing the code i found many other issues as well :-|

i'm not done with this major changes. it works but because of the major changes some new bugs were introduced and some old are revealed.

bibim wrote:
abma wrote:code of uberserver was only touched because of problems, it wasn't touched to just change it to change it. i have no clue why some of the people think its changed to break stuff / for fun / ...?! its changed to FIX stuff.
Wrong, you changed/removed working code for various reasons going from "cleaning up" to "no clue what this should do". For example as I already explained to you here, removing code just because you don't understand what it does is a bad habbit...
its bad habbit but its a way to understand code. also i added comments about such stuff, this way others can understand the code (much easier) as well.

bibim wrote: I could also just take my latest SPADS bug report as example, where some SPADS users tell me that SPADS doesn't respect flood thresholds and gets kicked by lobby server whereas it's just because for some reason you decided to remove the specific flood limit for bots here, without warning anyone.
it was removed because bots flooded the lobby server with commands causing 100% cpu load causing many timeouts to clients.

bibim wrote: I don't have time to make an exhaustive list and tbh I didn't want to blame you and pinpoint such things, but with your answer you forced me to prove my point with a few examples...
please just keep on going writing bug reports / about issues. just dumping reports will cause them to be recreated by some other person at some later time.
bibim wrote:
abma wrote:imo all developers should know that changing stuff has the risk of breaking it, but it doesn't look like all know.
Indeed, it doesn't seem that you are aware of this risk because if you were, I guess you would follow the "if it ain't broke, don't fix it" rule, and would only try to fix broken code.
abma wrote:if you refuse to help then it will take much longer fixing these bugs/problems.
Do you really think I would have contributed to lobby protocol evolutions and implementations if I refused to help? Seriously, how can you translate "investigating possible uberserver regressions takes too much time for me now" as "I refuse to help"?
no, but this sounds like you just stop doing stuff related to lobby server as most bugs could be because of uberserver regressions. so please ask me or report a bug about it.
User avatar
bibim
Lobby Developer
Posts: 952
Joined: 06 Dec 2007, 11:12

Re: SPADS AutoHost

Post by bibim »

abma wrote:these changes where the reasons why i started changing uberserver. while changing the code i found many other issues as well :-|
So why do you say "fixing the major bugs (lost user accounts / non-sql db) in old uberserver comes at some costs.", as if you were trying to justify the regressions with these changes, whereas as I said the regressions I'm speaking about have nothing to do with these major changes? And I repeat, what you call "many other issues" encompasses working and used code you removed arbitrarily just because you didn't understand it or estimated it needed to be cleaned up despite it had nothing to do with any bug.
abma wrote:
bibim wrote:removing code just because you don't understand what it does is a bad habbit...
its bad habbit but its a way to understand code.
No.
It's a way to understand code if you just apply it in a test environment.
If you apply this method in a production environment it's an obvious way to introduce bugs.
abma wrote:it was removed because bots flooded the lobby server with commands causing 100% cpu load causing many timeouts to clients.
Thank you! Now with your "secret fix", 100% of the bots can be kicked by anyone just by issuing a command triggering a long output, great job it's much better.
bibim wrote:this sounds like you just stop doing stuff related to lobby server as most bugs could be because of uberserver regressions. so please ask me or report a bug about it.
No, as I explained already I can't report lobby server bugs anymore. Each lobby server bug requires investigations to check whether the bug is really due to a regression in uberserver or simply a bug in the lobby client in use. And as I said, these regressions became more frequent recently so it's too much time consuming for me.
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: SPADS AutoHost

Post by abma »

bibim wrote:So why do you say "fixing the major bugs (lost user accounts / non-sql db) in old uberserver comes at some costs.", as if you were trying to justify the regressions with these changes, whereas as I said the regressions I'm speaking about have nothing to do with these major changes? And I repeat, what you call "many other issues" encompasses working and used code you removed arbitrarily just because you didn't understand it or estimated it needed to be cleaned up despite it had nothing to do with any bug.
this is no black/white area. changing code written bei a foreign people requires to understand it. for understanding it code needs to be cleaned up."many other issues":
- memleaks
- crashes
- many unused code (which makes fixing the above bugs somelike impossible for me)
- breakages because of backend switch (which required changes to huge areas of the existing code)

imo its VERY difficult to change/fix code written by a foreign person. especially when its written a bad style, for example stuff like this:

Code: Select all

if ...:
   if ...:
      if ... :
   else:
else:
(which should be if not ...: return as its much better readable, but thats just an example.)


this is out of the scope of this topic:
abma wrote:No, as I explained already I can't report lobby server bugs anymore.
please at least share the information about the bugs/problems.
User avatar
bibim
Lobby Developer
Posts: 952
Joined: 06 Dec 2007, 11:12

Re: SPADS AutoHost

Post by bibim »

abma wrote:[...] imo its VERY difficult to change/fix code written by a foreign person. [...]
I realized already that you had trouble understanding uberserver's code and liked removing working code for the sake of "cleaning" it or just because you didn't understand it, no need to repeat all that... And as you said, pointing out bad practice in uberserver code is totally out of scope of this topic, no one here is responsible for that.
abma wrote:please at least share the information about the bugs/problems.
I will certainly not endorse the role of a forwarding box. If you want users to report lobby problems to you say this to them, not me. Personally I rarely use the lobby these days so I don't see what I could report to you.
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: SPADS AutoHost

Post by abma »

bibim wrote:
abma wrote:please at least share the information about the bugs/problems.
I will certainly not endorse the role of a forwarding box. If you want users to report lobby problems to you say this to them, not me. Personally I rarely use the lobby these days so I don't see what I could report to you.
i don't know who reports lobby server problems to you, i can't do that!

also lobby server shows in MOTD a message about where to report bugs + http://springrts.com/phpbb/viewtopic.php?f=64&t=31345
User avatar
bibim
Lobby Developer
Posts: 952
Joined: 06 Dec 2007, 11:12

Re: SPADS AutoHost

Post by bibim »

abma wrote:i don't know who reports lobby server problems to you
They don't report "lobby server problems" to me...
They report problems which they think are due to SPADS, whereas when I spend time investigating them it happens they are all due to regressions in uberserver.
User avatar
bibim
Lobby Developer
Posts: 952
Joined: 06 Dec 2007, 11:12

Re: SPADS AutoHost

Post by bibim »

Just to make it clear, I'm not angry at all at people who reported these problems to me, I know it's not easy to find if it's an autohost or lobby server regression from user point of view. I'm just explaining why I have to filter these bug reports from now.
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: SPADS AutoHost

Post by Silentwings »

I can help to filter SPADS/server bugs reports to the right place, having now recieved a crash course in how to do so :p
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: SPADS AutoHost

Post by abma »

@bibim: is there a public bug tracker for spads? so at least bugs don't get reported twice.
User avatar
bibim
Lobby Developer
Posts: 952
Joined: 06 Dec 2007, 11:12

Re: SPADS AutoHost

Post by bibim »

There is:
bibim wrote:The preferred way to report a bug in SPADS is now the issue tracker for SPADS project on GitHub
But as you can see it's not used at the moment.
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: SPADS AutoHost

Post by abma »

aaah, ok, needs some promotion as well. didn't see a link to it on the first post of this thread, this is why i asked.
Post Reply

Return to “SPADS AutoHost”