Register forum user name Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the password reset link.

Due to spam on this forum, all posts now need moderator approval.

 Entire forum ➜ MUSHclient ➜ Bug reports ➜ Pre-release build v5.05-pre fails to receive text sometimes

Pre-release build v5.05-pre fails to receive text sometimes

It is now over 60 days since the last post. This thread is closed.     Refresh page


Pages: 1 2  

Posted by Worstje   Netherlands  (899 posts)  Bio
Date Wed 01 Feb 2017 11:20 PM (UTC)

Amended on Wed 01 Feb 2017 11:23 PM (UTC) by Worstje

Message
Continued from the WindowMenu suggestion topic to unclutter things. (http://mushclient.com/forum/?id=13909&page=999)

Sorry about being unclear in my last response. I had some people renovating my house and pretty much didn't sleep, so I was rather tired and I mostly just wanted to get the information out to you guys to the point where I didn't re-read and try to make sense of my own post.

The Fiendish-automated build is the only one to exhibit the issue. I send text to it, but text stops coming back after logging in. But some game messages do show sometimes, it is rather inconsistent.

Nick's 5.05-pre build (lacks the '-pre' marker code-wise but that is no doubt a silly build-related detail) works just fine for as far I can tell.

My testing method was exactly the same: world has all triggers off, no script file and no plugins loaded. Opened straight after starting MUSHclient. Go through the autologin, and do an @emit command for testing purposes, which then either shows output or does not depending on which build I'm using.


@Nick: I didn't have your e-mail stored anywhere, nor did I want to spam you with logs you didn't ask for. (I sorta figured it was an issue with Fiendish build system at that point.) Since I separated the logs into two separate files for diffing purposes I didn't really consider using the forums for it.

But since the logs aren't long, I'll probably just message you both in a few minutes.

Edit: Actually, I can't. The forums decided there's too many bytes even for a single packet log. Sorry. :-/
Top

Posted by Fiendish   USA  (2,537 posts)  Bio   Global Moderator
Date Reply #1 on Wed 01 Feb 2017 11:24 PM (UTC)

Amended on Wed 01 Feb 2017 11:28 PM (UTC) by Fiendish

Message
Quote:
Nick's 5.05-pre build (lacks the '-pre' marker code-wise but that is no doubt a silly build-related detail) works just fine for as far I can tell.

GOOD! (But also wtf?)


Quote:
@Nick: I didn't have your e-mail stored anywhere, nor did I want to spam you with logs you didn't ask for. (I sorta figured it was an issue with Fiendish build system at that point.) Since I separated the logs into two separate files for diffing purposes I didn't really consider using the forums for it.

Don't worry. I emailed it to him just now.


Nick, first test what say we undo the switch to fp:fast? (delete '<FloatingPointModel>Fast</FloatingPointModel>')

https://github.com/nickgammon/mushclient/commit/89606e97f02e033d18492330be96df3bd7ab3793#diff-b79a31ac6bbc21f184eeebb57dc4bffcR140

https://github.com/fiendish/aardwolfclientpackage
Top

Posted by Nick Gammon   Australia  (23,158 posts)  Bio   Forum Administrator
Date Reply #2 on Thu 02 Feb 2017 04:17 AM (UTC)
Message
Quote:

GOOD! (But also wtf?)


I just renamed the file, it wouldn't have had the "-pre" in the version embedded in the code.

I removed that line, and it is recompiling as we speak.

(I doubt this is the issue, but whatever).

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Nick Gammon   Australia  (23,158 posts)  Bio   Forum Administrator
Date Reply #3 on Thu 02 Feb 2017 04:18 AM (UTC)
Message
Quote:

Text stops coming in. Some stuff does show.


I'm not sure what you mean by "stuff" there.

Anyway, I have had a trickle of reports about data not arriving, in the past. I would say, from memory, two or three.

Obviously things normally work or the client would be unusable.

It is possible the more recent libraries do something a bit differently that is triggering an underlying bug in the code.

First, the basic comms routines were one of the first things I wrote (naturally) and possibly there is some misunderstanding of how the code is supposed to interface with the underlying Windows messages.

Second, data reception is event-triggered, so basically the client waits for incoming data (plus of course key presses and mouse movements).


If the event for a new packet is not sent (or somehow lost) then the client will not realize there is something to do. Possibly you get larger, or smaller, packets than normal due to some router configuration. This might trigger some issue that the code should handle, but does not.

Since the code is open-source anyone is welcome to browse it and make suggestions for things they think might be wrong.

In particular the file worldsock.cpp would be a place to look at.

The code to actually receive incoming data is very small:


void CWorldSocket::OnReceive(int nErrorCode)
{

  // CSocket::OnReceive(nErrorCode);

	m_pDoc->ProcessPendingRead();
}


Maybe the error code needs looking at? Maybe if there is an error something should be sent to "clear" the error? I'm open to suggestions.

BTW - maybe make a new post under Bug Reports to keep this subject away from the stuff about menu alignment.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Nick Gammon   Australia  (23,158 posts)  Bio   Forum Administrator
Date Reply #4 on Thu 02 Feb 2017 04:23 AM (UTC)
Message
I see from your trace you got *something* back:



Incoming packet: 4 (1 bytes) at woensdag, februari 01, 2017, 8:59:29 

<                  3c

Incoming packet: 4 (1 bytes) at woensdag, februari 01, 2017, 8:59:29 

>                  3e

Sent  packet: 10 (19 bytes) at woensdag, februari 01, 2017, 8:59:36 

@emit YO DE LA L   40 65 6d 69 74 20 59 4f 20 44 45 20 4c 41 20 4c
A..                41 0d 0a

Incoming packet: 5 (2 bytes) at woensdag, februari 01, 2017, 8:59:58 

ÿñ                 ff f1



That last packet is IAC NOP.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Nick Gammon   Australia  (23,158 posts)  Bio   Forum Administrator
Date Reply #5 on Thu 02 Feb 2017 05:02 AM (UTC)

Amended on Thu 02 Feb 2017 05:06 AM (UTC) by Nick Gammon

Message
I've pushed another pre-release. This time it loops getting data from the socket until there isn't any more. This may or may not fix things (it might make them worse). See how that goes.

Get it from the GitHub pre-release place:

https://github.com/nickgammon/mushclient/releases

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Worstje   Netherlands  (899 posts)  Bio
Date Reply #6 on Thu 02 Feb 2017 01:18 PM (UTC)
Message
Sad to say, that did not fix it.

I have simplified my testing method to completely rule out my World file.


New simplified testcase:

1. Connection -> Quick Connect.

2a. Server: play.arxmush.org
2b. Port: 3000
2c. OK

3. Login by typing 'guest'.

If fixed? Lots of welcome text for newbies appears.
If bug? No output whatsoever.

Honestly, the difference is pretty dang obvious.


Hopefully that will help you guys figure it out with the aid of a debugger, since I realize relying on me non-stop isn't the most useful thing ever.
Top

Posted by Fiendish   USA  (2,537 posts)  Bio   Global Moderator
Date Reply #7 on Thu 02 Feb 2017 02:11 PM (UTC)
Message
Packet debug diff: https://www.diffchecker.com/qixzpsbx

https://github.com/fiendish/aardwolfclientpackage
Top

Posted by Worstje   Netherlands  (899 posts)  Bio
Date Reply #8 on Thu 02 Feb 2017 02:17 PM (UTC)
Message
Yay for reproduction. :D
Top

Posted by Nick Gammon   Australia  (23,158 posts)  Bio   Forum Administrator
Date Reply #9 on Thu 02 Feb 2017 09:23 PM (UTC)
Message
Did you try the release built from the same source but compiled by me with the old compiler?


http://gammon.com.au/files/mushclient/MUSHclient_5.05-pre.zip

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Nick Gammon   Australia  (23,158 posts)  Bio   Forum Administrator
Date Reply #10 on Thu 02 Feb 2017 09:26 PM (UTC)
Message
Worstje said:

Yay for reproduction. :D


I can reproduce it too. That's odd. I can't use the debugger though because the in-house compiled one works.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Nick Gammon   Australia  (23,158 posts)  Bio   Forum Administrator
Date Reply #11 on Thu 02 Feb 2017 09:41 PM (UTC)
Message
I reverted my recent changes to the way I handle comms, after all that worked for about 20 years.

Still no difference. Clearly it's something to do with the newer libraries. (I mean, there isn't a compile-option: "don't make Windows Sockets work" is there?).

Anyway you can test the menu alignment with the version I posted a couple of replies back but compiled by me directly.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Nick Gammon   Australia  (23,158 posts)  Bio   Forum Administrator
Date Reply #12 on Thu 02 Feb 2017 09:54 PM (UTC)
Message
I thought maybe "packet size". I recompiled with a packet buffer of 9000 bytes (compared to 1000 before) as one of your packets was 1024, but no difference. Besides, the 1024 byte packet is not the first one that is not received.

From Fiendish's diff this is the first missing data:


Incoming packet: 4 (6 bytes) at Thursday, February 02, 2017, 3:09:54 PM
			
			ÿú..ÿð             ff fa 18 01 ff f0
			
			Sent  packet: 9 (10 bytes) at Thursday, February 02, 2017, 3:09:54 PM
			
			ÿú..ANSIÿð         ff fa 18 00 41 4e 53 49 ff f0
			
			Incoming packet: 5 (6 bytes) at Thursday, February 02, 2017, 3:09:54 PM
			
			ÿú..ÿð             ff fa 18 01 ff f0
			
			Sent  packet: 10 (12 bytes) at Thursday, February 02, 2017, 3:09:54 PM
			
			ÿú..MTTS 9ÿð       ff fa 18 00 4d 54 54 53 20 39 ff f0
			
			Sent  packet: 11 (7 bytes) at Thursday, February 02, 2017, 3:09:57 PM

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Nick Gammon   Australia  (23,158 posts)  Bio   Forum Administrator
Date Reply #13 on Thu 02 Feb 2017 10:34 PM (UTC)
Message
Here's some more weird stuff. In fact I am receiving things. If you let the packet debug run for a while you get IAC NOP from time to time:


Incoming packet: 4 (2 bytes) at Friday, February 03, 2017, 9:16:21 AM

ÿñ                 ff f1

Incoming packet: 5 (2 bytes) at Friday, February 03, 2017, 9:16:51 AM

ÿñ                 ff f1

Sent  packet: 10 (7 bytes) at Friday, February 03, 2017, 9:17:04 AM

guest..            67 75 65 73 74 0d 0a   <-- I tried again

Incoming packet: 6 (2 bytes) at Friday, February 03, 2017, 9:17:21 AM

ÿñ                 ff f1


It looks like my attempt to send "guest" has failed, hence the server is waiting for me to reply. However I fired up Wireshark and it looks like sends are in fact working.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Nick Gammon   Australia  (23,158 posts)  Bio   Forum Administrator
Date Reply #14 on Thu 02 Feb 2017 10:37 PM (UTC)
Message
So it could be a server issue - they are not processing the "guest" login. However the packet debug from Fiendish is identical up to that point, so the server has received exactly the same stuff.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


68,264 views.

This is page 1, subject is 2 pages long: 1 2  [Next page]

It is now over 60 days since the last post. This thread is closed.     Refresh page

Go to topic:           Search the forum


[Go to top] top

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.