Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD Beta Forum Goto page Previous  1, 2
Larkin Posted: Wed Mar 19, 2008 7:07 pm
[2.20] ATCP bleedthrough
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Mon Apr 07, 2008 5:21 pm   
 
Hmm, thanks for the good log files for this. Looks like CMUD still isn't handling packet boundaries within IAC sequences properly. I think my fix for this might have come "undone" when I was trying to kludge the code to handle those bad MUDs that were sending SE without the IAC. I'll put this back on the bug list.
Reply with quote
gamma_ray
Magician


Joined: 17 Apr 2005
Posts: 496

PostPosted: Tue Apr 08, 2008 8:24 am   
 
I've been getting bleedthrough a lot, too. [2.22] I don't mind when it's just a little, but lately I've been getting a lot of the kind that starts with È, which is inevitably accompanied by a program error window and usually a sudden drop in HP as I try to click to get the window to go away so I can get back to entering commands and not dying. It definitely seems linked to large amounts of text being parsed, as it never happens when I'm just sitting around resting.

Code:
H:299 M:414 E:121 W:524 <e->
A camouflaged Muamrite mercenary lunges forward, stabbing a long metal sabre
into your gut.
ÈChar.Vitals
H:2944/3780 M:4563/4563 E:1333/17800 W:5769/21715 NL:88/100 
You have recovered balance.


P.S. "Submit error report" is also not working, although I think that's the wonky connection here...bleh.
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Tue Apr 08, 2008 12:37 pm   
 
This might or might not be the same mechanism... if there's more than one case I want to be sure to get them all. Here's another example:

7700h, 8107m, 33900e, 30548w cexkd-
7700h, 8107m, 33900e, 30548w00 M:8107/8107 E:33900/33900 W:30548/32400 NL:0/100 cexkd-
7700h, 8107m, 33900e, 30548w cexkd-

Code:
<ESC>[32m7700h,<ESC>[37m<ESC>[32m 8107m,<ESC>[37m<ESC>[32m 33900e,<ESC>[37m<ESC>[32m 30548w<ESC>[37m<IAC><SB><200>Char.Vitals<LF>
H:7700/7700 M:8107/8107 E:33900/33900 W:30548/32400 NL:0/100 <IAC><SE> cexkd-<IAC><EOR>You offer up the corpse of a fairy Knight of Sidhe to Lupus, Wild God of the Beasts.<CR><LF>
<ESC>[32m7700h,<ESC>[37m<ESC>[32m 8107m,<ESC>[37m<ESC>[32m 33900e,<ESC>[37m<ESC>[32m 30548w<ESC>[37m<IAC><SB><200>Char.Vitals<LF>
H:7700/77
in  ( 2250) 04/08/08 20:28:25:515 : 00 M:8107/8107 E:33900/33900 W:30548/32400 NL:0/100 <IAC><SE> cexkd-<IAC><EOR>You offer up the corpse of a fairy Lady of Sidhe to Lupus, Wild God of the Beasts.<CR><LF>
<ESC>[32m7700h,<ESC>[37m<ESC>[32m 8107m,<ESC>[37m<ESC>[32m 33900e,<ESC>[37m<ESC>[32m 30548w<ESC>[37m<IAC><SB><200>Char.Vitals<LF>
H:7700/7700 M:8107/8107 E:33900/33900 W:30548/32400 NL:0/100 <IAC><SE> cexkd-<IAC><EOR>You offer up the corpse of a fairy Knight of Sidhe to Lupus, Wild God of the Beasts.<CR><LF>


7700h, 8107m, 33900e, 30548w cexkd-
7700h, 8107m, 33900e, 30548w48/32400 NL:0/100 cexkd-
7700h, 8107m, 33900e, 30548w cexkd-

Code:
<ESC>[32m7700h,<ESC>[37m<ESC>[32m 8107m,<ESC>[37m<ESC>[32m 33900e,<ESC>[37m<ESC>[32m 30548w<ESC>[37m<IAC><SB><200>Char.Vitals<LF>
H:7700/7700 M:8107/8107 E:33900/33900 W:305
in  ( 1127) 04/08/08 20:28:26:671 : 48/32400 NL:0/100 <IAC><SE> cexkd-<IAC><EOR>You offer up the corpse of a majestic lion to Lupus, Wild God of the Beasts.<CR><LF>
<ESC>[32m7700h,<ESC>[37m<ESC>[32m 8107m,<ESC>[37m<ESC>[32m 33900e,<ESC>[37m<ESC>[32m 30548w<ESC>[37m<IAC><SB><200>Char.Vitals<LF>
H:7700/7700 M:8107/8107 E:33900/33900 W:30548/32400 NL:0/100 <IAC><SE> cexkd-<IAC><EOR>You offer up the corpse of a fairy Knight of Sidhe to Lupus, Wild God of the Beasts.<CR><LF>
Reply with quote
Larkin
Wizard


Joined: 25 Mar 2003
Posts: 1113
Location: USA

PostPosted: Tue Apr 08, 2008 1:22 pm   
 
All the recently posted examples seem to just be the packet boundary issue, and I think Zugg can track it down from here. Smile
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Tue Apr 08, 2008 4:27 pm   
 
Just tryin' to be thorough Wink
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Thu Apr 24, 2008 10:26 pm   
 
Found it. Should be fixed in v2.23. It was actually a nasty bug that could also cause a slow memory leak in CMUD. Not a "real" memory leak (something that can be caught by my debugging tools), but a case where an internal list in CMUD could keep growing and growing for each line processed from the MUD. And that could definitely lead to other problems. So this was a good one to find.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Thu Apr 24, 2008 10:42 pm   
 
Bah, posted this to the wrong ATCP Bleedthrough thread. Anyway:

Found it. Should be fixed in v2.23. It was actually a nasty bug that could also cause a slow memory leak in CMUD. Not a "real" memory leak (something that can be caught by my debugging tools), but a case where an internal list in CMUD could keep growing and growing for each line processed from the MUD. And that could definitely lead to other problems. So this was a good one to find.
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Fri May 02, 2008 12:18 pm   Still having problems in 2.23
 
Still showing bleedthrough in one case for 2.23:

7700h, 8107m, 33900e, 19886wChar.Vitals
H:7700/7700 M:8107/8107 E:33900/33900 W:19886/32400 NL:0/100
cexdb-
7700h, 8107m, 33900e, 19886w cexdb-

Code:
out (   11) 05/02/08 20:04:01:093 : elixlist2<CR><LF>
<ESC>[32m7700h,<ESC>[37m<ESC>[32m 8107m,<ESC>[37m<ESC>[32m 33900e,<ESC>[37m<ESC>[1;33m 19886w<ESC>[0;37m<IAC><SB><200>Char.Vitals<LF>
H:7700/7700 M:8107/8107 E:33900/33900 W:19886/32400 NL:0/100 <IAC><SE> cexdb-<IAC><EOR>
in  (  214) 05/02/08 20:04:01:828 : You put a sapphire crystal vial into a wyrmskin pack.<CR><LF>
<ESC>[32m7700h,<ESC>[37m<ESC>[32m 8107m,<ESC>[37m<ESC>[32m 33900e,<ESC>[37m<ESC>[1;33m 19886w<ESC>[0;37m<IAC><SB><200>Char.Vitals<LF>
H:7700/7700 M:8107/8107 E:33900/33900 W:19886/32400 NL:0/100 <IAC><SE> cexdb-<IAC><EOR>
in  (  215) 05/02/08 20:04:01:968 : You take a sapphire crystal vial from a wyrmskin pack.<CR><LF>
<ESC>[32m7700h,<ESC>[37m<ESC>[32m 8107m,<ESC>[37m<ESC>[32m 33900e,<ESC>[37m<ESC>[1;33m 19886w<ESC>[0;37m<IAC><SB><200>Char.Vitals<LF>
H:7700/7700 M:8107/8107 E:33900/33900 W:19886/32400 NL:0/100 <IAC><SE> cexdb-<IAC><EOR>
in  ( 1460) 05/02/08 20:04:02:000 : You put an emerald vial into a wyrmskin pack.<CR><LF>
in  ( 4380) 05/02/08 20:04:02:375 : You put a sapphire crystal vial into a wyrmskin pack.<CR><LF>
<ESC>[32m7700h,<ESC>[37m<ESC>[32m 8107m,<ESC>[37m<ESC>[32m 33900e,<ESC>[37m<ESC>[1;33m 19886w<ESC>[0;37m<IAC><SB><200>
in  ( 4356) 05/02/08 20:04:02:421 : Char.Vitals<LF>
H:7700/7700 M:8107/8107 E:33900/33900 W:19886/32400 NL:0/100 <IAC><SE> cexdb-<IAC><EOR>You put a sapphire crystal vial into a wyrmskin pack.<CR><LF>
H:7700/7700 M:8107/8107 E:33900/33900 W:19886/32400 NL:0/100 <IAC><SE> cexdb-<IAC><EOR>You take an onyx vial from a wyrmskin pack.<CR><LF>
out (    2) 05/02/08 20:04:03:109 : <CR><LF>
in  (  159) 05/02/08 20:04:03:343 : <ESC>[32m7700h,<ESC>[37m<ESC>[32m 8107m,<ESC>[37m<ESC>[32m 33900e,<ESC>[37m<ESC>[1;33m 19886w<ESC>[0;37m<IAC><SB><200>Char.Vitals<LF>
H:7700/7700 M:8107/8107 E:33900/33900 W:19886/32400 NL:0/100 <IAC><SE> cexdb-<IAC><EOR>
<ESC>[0;37m<ESC>[32m7700h,<ESC>[37m<ESC>[32m 8107m,<ESC>[37m<ESC>[32m 33900e,<ESC>[37m<ESC>[1;33m 19886w<ESC>[0;37m<IAC><SB><200>Char.Vitals<LF>
H:7700/7700 M:8107/8107 E:33900/33900 W:19886/32400 NL:0/100 <IAC><SE> cexdb-<IAC><EOR>
out (    2) 05/02/08 20:04:05:078 : <CR><LF>
in  (  159) 05/02/08 20:04:05:296 : <ESC>[32m7700h,<ESC>[37m<ESC>[32m 8107m,<ESC>[37m<ESC>[32m 33900e,<ESC>[37m<ESC>[1;33m 19886w<ESC>[0;37m<IAC><SB><200>Char.Vitals<LF>
H:7700/7700 M:8107/8107 E:33900/33900 W:19886/32400 NL:0/100 <IAC><SE> cexdb-<IAC><EOR>
out (    2) 05/02/08 20:04:06:765 : <CR><LF>
in  (  159) 05/02/08 20:04:06:984 : <ESC>[32m7700h,<ESC>[37m<ESC>[32m 8107m,<ESC>[37m<ESC>[32m 33900e,<ESC>[37m<ESC>[1;33m 19910w<ESC>[0;37m<IAC><SB><200>Char.Vitals<LF>
H:7700/7700 M:8107/8107 E:33900/33900 W:19910/32400 NL:0/100 <IAC><SE> cexdb-<IAC><EOR>


I think it is this chunk:
Code:
<ESC>[32m7700h,<ESC>[37m<ESC>[32m 8107m,<ESC>[37m<ESC>[32m 33900e,<ESC>[37m<ESC>[1;33m 19886w<ESC>[0;37m<IAC><SB><200>
in  ( 4356) 05/02/08 20:04:02:421 : Char.Vitals<LF>
H:7700/7700 M:8107/8107 E:33900/33900 W:19886/32400 NL:0/100 <IAC><SE> cexdb-<IAC><EOR>You put a sapphire crystal vial into a wyrmskin pack.<CR><LF>
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Sat May 03, 2008 3:18 pm   
 
Another Example, may be the same, maybe not:

For more information, type AB RIDING <ability>.
7700h, 8107m, 33900e, 29255wW:29255/32400 NL:0/100 cexdb-

Code:
For more information, type AB RIDING <ability>.<CR><LF>
<ESC>[32m7700h,<ESC>[37m<ESC>[32m 8107m,<ESC>[37m<ESC>[32m 33900e,<ESC>[37m<ESC>[32m 29255w<ESC>[37m<IAC><SB><200>Char.Vitals<LF>
H:7700/7700 M:8107/8107 E:33900/33900
in  (   34) 05/03/08 23:14:46:593 : W:29255/32400 NL:0/100 <IAC><SE> cexdb-<IAC><EOR>
Reply with quote
NitroGlycerine
Beginner


Joined: 26 Apr 2007
Posts: 29

PostPosted: Mon May 05, 2008 12:59 am   
 
Indeed, still experiencing same issues in 2.23.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Mon May 05, 2008 5:28 pm   
 
Sigh. Added to bug list again. I'm not really sure why this is continuing to cause problems.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Mon May 05, 2008 9:27 pm   
 
Are you pressing any macro keys or running any triggers that might be trying to write anything to the screen at the same time? Perhaps the Script Debugger window would show more information on what is happening here.

Unlike the previous versions where I was able to reproduce this, my attempts to reproduce this in v2.23 have failed. Here is the test that I tried to use to replicate this:
Code:
#showprompt {%e[1;33m19886w%e[0;37m%char(255)%char(250)};#show {Char.Vitals%{lf}H:7700/7700%char(255)%char(240) cexdb-%char(255)%char(239)You put a crystal}

The #showprompt and #show commands stuff data into the same buffer that the data received from the MUD is placed into. So they can be used to simulate low-level MUD input. Using #showprompt and then #show causes two buffers to be inserted, just as if two different buffers were received from the MUD.

This kind of test was failing in previous versions, which is why I thought v2.23 was fixed. So obviously there is something else going on here that is causing this to be more complicated.
Reply with quote
NitroGlycerine
Beginner


Joined: 26 Apr 2007
Posts: 29

PostPosted: Tue May 06, 2008 1:38 pm   
 
It typically happens when you receive a big chunk of text.
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Tue May 06, 2008 2:41 pm   
 
Same here, typically when there is a lot going on text wise.

I can't seem to get it to occur at the moment, it seems to come and go at times. I even tried converting the second text sequence I listed, but to no avail.

Code:
#showprompt {%e[32m 29255w%e[37m%char(255)%char(250)Char.Vitals%{lf}H:7700/7700 M:8107/8107 E:33900/33900};#show { W:29255/32400 NL:0/100 %char(255)%char(240)cexdb-%char(255)%char(239)}
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Tue May 06, 2008 6:30 pm   
 
At this point I'm not sure what to do. I cannot find any way to reproduce it, so that chance of getting this fixed in v2.24 is very slim unless someone comes up with more information or another idea.

My best guess is that you have a trigger or script running at the same time that is trying to output something to the screen at the same time that it is in the middle of processing the ATCP packets. I tested this using:
Code:
#showprompt {%e[1;33m19886w%e[0;37m%char(255)%char(250)};#ECHO "New text";#show {Char.Vitals%{lf}H:7700/7700%char(255)%char(240) cexdb-%char(255)%char(239)You put a crystal}

to simulate displaying "New text" from some other source, and it still didn't fail. But if you are using #SHOW somewhere instead of #SAY, then that might cause a problem. Remember that #SHOW treats the text as if it was received from the MUD, so if you are using #SHOW, then the text from the #SHOW gets absorbed into the contents of the ATCP packet.

So you might check to make sure that you are always using #SAY or #ECHO to display something to the screen and not using #SHOW.

The only additional information that might help is if you can run the Script Debugger all the time and then when you see the ATCP problem happen, you can copy/paste the last page of text from the Script Debugger window. That will show us if there is any trigger running at the same time that the problem occurs.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Wed May 07, 2008 4:33 pm   
 
Last chance to get this one fixed. If nobody else has any additional information on how to make this happen and nobody posts any additional detail from the script debugger, then this one is going to get put on the low priority list and won't be fixed in the public version.
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Sat May 24, 2008 2:17 pm   
 
I'm going to call the original issues fixed and start a new thread for the subsequent bleeding issues seen.
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD Beta Forum All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net