ZeroK-RTS / Zero-K-Infrastructure

Website, lobby launcher and server, steam deployment, .NET based tools and other vital parts of Zero-K infrastructure
GNU General Public License v3.0
53 stars 52 forks source link

ZKL breaks !subscribe ordering #363

Closed sprunk closed 9 years ago

sprunk commented 9 years ago

The !subscribe logs are in wrong order. Works in SWL.

xponen commented 9 years ago

okay, I will debug this.

Progress: currently testing 2 possible cause:

Normal chat never seem to be jumbled up both chat & subscribe message use same code.

xponen commented 9 years ago

Current progress.

Is thinking for some idea.

xponen commented 9 years ago

Nightwatch or Database is responsible for this bug. I've tested with Spring Weblobby and also traced ZKL's TcpClient stream, all point to Nightwatch as responsible.

To test, just PM someone offline with 100 line of a sequence of number, Nightwatch will save those PM in database and sent it to the recipient when he is online.

xponen commented 9 years ago

ops

sprunk commented 9 years ago

Nightwatch or Database is responsible for this bug. I've tested with Spring Weblobby and also traced ZKL's TcpClient stream, all point to Nightwatch as responsible.

SWL receives the logs in proper order

xponen commented 9 years ago

I did it this way: say to Nightwatch: "!pm <> <>"

Create 100 line of it in text-editor with some unique number_sequence (1,2,3 ... 100), and then paste them to Nightwatch all at once.

When we log-in using offline_smuft_name, we will get the number_sequence jumbled up.

(or maybe if SWL implemented Nightwatch PM, just paste 1,2,3...100 to offline_smurf_name and login as offline_smurf_name to check.)

db81 commented 9 years ago

SWL implements Nightwatch PM.

sprunk commented 9 years ago

SWL implements PM logs properly: http://hastebin.com/itowihused.css SWL also implements Channel logs properly: http://hastebin.com/eridegexah.css (line 2 and line 110 are out of order because they're live from channel, not from NW - the NW logs are lines {1, 110} ∪ [3, 108] and are in proper order)

The problem lies in ZKL.

db81 commented 9 years ago

I connected to lobby.springrts.com while using SWL. Nightwatch relay gave me the following:

[6:59:45 PM] Nightwatch: <Anarchid> "lines of code" should be thought of as cost, not as value [6:59:55 PM] Nightwatch: <Anarchid> though i guess i would be saying this to Orf and he's absent [7:10:44 PM] Nightwatch: <Anarchid> GoogleFrog what do you know of ZK windgens [7:11:03 PM] Nightwatch: <Anarchid> i want to figure out if ZK wind is Spring wind with alterations, or is completely standalone [7:11:07 PM] Nightwatch: <Anarchid> this relates to martian dust clouds [7:11:14 PM] Nightwatch: <Anarchid> the direction seems to match but not so sure about speed [7:11:28 PM] Nightwatch: <GoogleFrog> speed matches iirc [7:11:36 PM] Nightwatch: <GoogleFrog> we use springs random number generator but rescaled [7:11:57 PM] Nightwatch: <zkgit> [Zero-K] GoogleFrog pushed 1 new commit to master: http://git.io/7WXycw [7:11:57 PM] Nightwatch: <zkgit> Zero-K/master 148ced07e GoogleFrog: Improvements to general command handling in terraform UI. [7:14:26 PM] Nightwatch: <Anarchid> wow legalized skydust [7:15:43 PM] Nightwatch: <GoogleFrog> legalised? [7:17:33 PM] Nightwatch: <GoogleFrog> so with Orf gone I am allowed to make a stable?

After that I reconnected using lobby.zero-k.info and got the following Nightwatch backlog:

[7:10:38 PM] Anarchid: GoogleFrog what do you know of ZK windgens [7:10:57 PM] Anarchid: i want to figure out if ZK wind is Spring wind with alterations, or is completely standalone [7:11:00 PM] Anarchid: this relates to martian dust clouds [7:11:08 PM] Anarchid: the direction seems to match but not so sure about speed [7:11:22 PM] GoogleFrog: speed matches iirc [7:11:30 PM] GoogleFrog: we use springs random number generator but rescaled [7:11:51 PM] zkgit: [Zero-K] GoogleFrog pushed 1 new commit to master: http://git.io/7WXycw [7:11:51 PM] zkgit: Zero-K/master 148ced07e GoogleFrog: Improvements to general command handling in terraform UI. [7:14:19 PM] Anarchid: wow legalized skydust [7:15:37 PM] GoogleFrog: legalised? [7:17:26 PM] GoogleFrog: so with Orf gone I am allowed to make a stable? [7:18:00 PM] GoogleFrog: the ZKL version is already at 34 for this month, no chance to catch it [6:59:39 PM] Anarchid: "lines of code" should be thought of as cost, not as value [6:59:49 PM] Anarchid: though i guess i would be saying this to Orf and he's absent

xponen commented 9 years ago

For the record, in chat I witness that Sprunk, Anarchid & me demonstrated that by using Nightwatch's PM-offline-user feature we can create unordered log in SWL and ZKL

Chat proof:

[12:40 AM] Anarchid ok so did you send it? [12:40 AM] xponen yes, sent [12:41 AM] Anarchid copy it somewhere first [12:41 AM] Anarchid then i'll open [12:41 AM] Anarchid maybe give your log to sprung and then i'll give mine [12:41 AM] xponen okay copy [12:41 AM] xponen oh... trust issue :d [12:41 AM] Anarchid blind tests, best tests [12:41 AM] Anarchid the blinder, the better [12:42 AM] Anarchid Sprung i guess i'll consume the #message_order_test as well [12:42 AM] Sprung sure [12:42 AM] Anarchid ok just tell me when to go xponen [12:42 AM] xponen okay finished authenticating with Sprung [12:43 AM] Sprung i received a bunch of numbers [12:43 AM] Sprung what to do about them [12:44 AM] xponen I sent 1-100 to spreng_IIII, hopefully its same as your number [12:44 AM] spreng_llll http://hastebin.com/cutahufuno.css [12:45 AM] xponen yea! [12:45 AM] xponen seee [12:45 AM] Sprung fucked up, i received them in normal order [12:45 AM] spreng_llll http://hastebin.com/kujoramafi.vbs [12:46 AM] xponen was pretty scared, I thought I was crazy [12:46 AM] Anarchid xponen did you use a script, or typed manually? [12:46 AM] xponen manually 1 by 1 :( [12:47 AM] Anarchid so did i, so it's not time delay between messages unless you have 1000 wpm type speed [12:47 AM] xponen wait, I type in notepad then I copy paste [12:47 AM] Anarchid do they arrive correct in protocol? [12:47 AM] xponen what protocol? :/ in server tab? [12:47 AM] Anarchid yes, for example [12:48 AM] xponen it echo to me in correct order... but wait! since you said about typing manually, I'll try now, [12:48 AM] xponen wait I type to 100 (I lost internet at this point. Lost opportunity to test for days)

Lines that Anarchid receive (note that Sprung says: "fucked up, i received them in normal order")

[6:38:03 PM] xponen 1 [6:38:03 PM] 2 [6:38:03 PM] 5 [6:38:03 PM] 4 [6:38:03 PM] 3 [6:38:03 PM] 7 [6:38:03 PM] 8 [6:38:03 PM] 9 [6:38:03 PM] 10 [6:38:03 PM] 6 [6:38:03 PM] 12 [6:38:03 PM] 14 [6:38:03 PM] 13 [6:38:03 PM] 15 [6:38:03 PM] 18 [6:38:03 PM] 16 [6:38:03 PM] 17 [6:38:03 PM] 19 [6:38:03 PM] 11 [6:38:03 PM] 21 [6:38:03 PM] 22 [6:38:03 PM] 24 [6:38:03 PM] 23 [6:38:03 PM] 26 [6:38:03 PM] 25 [6:38:03 PM] 27 [6:38:03 PM] 29 [6:38:03 PM] 28 [6:38:03 PM] 31 [6:38:03 PM] 30 [6:38:03 PM] 34 [6:38:03 PM] 36 [6:38:03 PM] 35 [6:38:03 PM] 32 [6:38:03 PM] 33 [6:38:03 PM] 37 [6:38:03 PM] 20 [6:38:03 PM] 40 [6:38:03 PM] 41 [6:38:03 PM] 43 [6:38:03 PM] 42 [6:38:03 PM] 38 [6:38:03 PM] 47 [6:38:03 PM] 48 [6:38:03 PM] 44 [6:38:03 PM] 46 [6:38:03 PM] 45 [6:38:03 PM] 39 [6:38:03 PM] 49 [6:38:03 PM] 50 [6:38:03 PM] 54 [6:38:03 PM] 53 [6:38:03 PM] 55 [6:38:03 PM] 56 [6:38:03 PM] 57 [6:38:03 PM] 58 [6:38:03 PM] 59 [6:38:03 PM] 60 [6:38:03 PM] 62 [6:38:03 PM] 61 [6:38:03 PM] 52 [6:38:03 PM] 63 [6:38:03 PM] 64 [6:38:03 PM] 66 [6:38:03 PM] 69 [6:38:03 PM] 67 [6:38:03 PM] 68 [6:38:03 PM] 51 [6:38:03 PM] 65 [6:38:03 PM] 74 [6:38:03 PM] 75 [6:38:03 PM] 72 [6:38:03 PM] 70 [6:38:03 PM] 76 [6:38:03 PM] 78 [6:38:03 PM] 73 [6:38:03 PM] 80 [6:38:03 PM] 77 [6:38:03 PM] 79 [6:38:03 PM] 82 [6:38:03 PM] 84 [6:38:03 PM] 85 [6:38:03 PM] 83 [6:38:03 PM] 81 [6:38:03 PM] 86 [6:38:03 PM] 88 [6:38:03 PM] 92 [6:38:03 PM] 87 [6:38:03 PM] 89 [6:38:03 PM] 91 [6:38:04 PM] 95 [6:38:04 PM] 100 [6:38:03 PM] 93 [6:38:04 PM] 99 [6:38:03 PM] 90 [6:38:04 PM] 97 [6:38:04 PM] 96 [6:38:04 PM] 94 [6:43:35 PM] hiii

Licho1 commented 9 years ago

fixed

sprunk commented 9 years ago

Was the fix deployed? The logs are still messed up