|
slicertool Magician
Joined: 09 Oct 2003 Posts: 459 Location: USA
|
Posted: Fri May 09, 2008 3:44 pm
[2.24] - [2.26] Garbage characters appearing instead of color change |
Intermittently, at various points where color changes should be happening, I'm getting the attached issue. I've only recently swapped to using Cmud fulltime, but I'd not seen this in zMud previously. It was doing this in 2.23 as well.
It usually shows the garbage characters (which I presume are probably ansi chars or some such) instead of doing a color change, however not always. It will do it several times in only a few lines and other times it will go hours without doing it again.
Edit: Updated Title to reflect still active in current version. |
|
_________________ Ichthus on SWmud: http://www.swmud.org/
Last edited by slicertool on Fri Jun 06, 2008 4:36 pm; edited 1 time in total |
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4692 Location: Pensacola, FL, USA
|
Posted: Fri May 09, 2008 3:48 pm |
what about 2.25?
I used to see similar with mxp not being converted in time, but not for a few versions (that i noticed). |
|
_________________ Discord: Shalimarwildcat |
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Fri May 09, 2008 4:13 pm |
Also, turn on the raw input/ouput option in the script debugger and paste a bit from when it happens.
|
|
|
|
slicertool Magician
Joined: 09 Oct 2003 Posts: 459 Location: USA
|
Posted: Fri May 09, 2008 4:45 pm |
Yeah, I had this post partially written for two days. I just finished it this morning and saw that he'd updated versions between when I started and finished.
Yeah, it's still doing it in 2.25, but I didn't have raw format turned on when it did. I'll see if I can catch it again. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed May 21, 2008 7:55 pm |
Sounds like a network packet boundary issue, so I'll definitely need a raw input capture to reproduce it and see what's happening.
|
|
|
|
slicertool Magician
Joined: 09 Oct 2003 Posts: 459 Location: USA
|
Posted: Fri Jun 06, 2008 4:31 pm |
Here is an example of this issue where I had the debugger log open. In 2.25 it was causing an error when these things happened and the script debugger was open (I sent you the crash logs of those) and as such, I didn't trust submitting those logs. However, those particular crashes no longer happen in 2.26 so here are the logs.
Code: |
i swmud <Mazer <ESC>[1m<ESC>[35m<shout><ESC>[0
a swmud ]Mazer shout>
h swmud ]<ESC>[37mMazer <ESC>[1;35mshout><ESC>[0m
i swmud <;37;40m Selling ebola strain, pst<CR><LF>
<ESC>[0;37;40m
a swmud |Mazer shout>;37;40m Selling ebola strain, pst
h swmud |<ESC>[37mMazer <ESC>[1;35mshout>;37;40m Selling ebola strain, pst<ESC>[0m
|
I've got a larger version of the log saved on my desktop if you need anything else from it.
Edit: Yeah, it looks like a packet is breaking mid ansi-code which is causing this issue. So, Cmud parses the first packet which has an incomplete code at the end, then it parses the 2nd half which has the rest of the original code at the beginning (which at the point is just text to it) and appends it to the first half as there was no crlf to knock it to the next line. I think zMud used to have this same problem, but it would ignore the orphaned ansi code and just go on from there. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Fri Jun 06, 2008 5:27 pm |
Thanks for the log information. I'll test that and see if I can reproduce it. CMUD is already supposed to handle packet breaks in ANSI codes, but if this happened in zMUD too, then there might be a hole in my algorithm for it.
|
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Jun 10, 2008 10:21 pm |
OK, I was able to reproduce it and fix it for 2.27.
zMUD and CMUD *were* handling the packet boundary correctly in most cases. In your case it was very obscure. Because of the < character at the beginning, it was looking to see if "Mazer" was an MXP tag. When it got to the end of the packet and determined that it was not a valid tag, it tried to reset the line, but didn't save the partial ANSI code at the end of the packet.
So this really only happened in the very specific case that you mentioned and was not a widespread bug/problem. But thanks for reporting it since I never would have caught it myself. |
|
|
|
slicertool Magician
Joined: 09 Oct 2003 Posts: 459 Location: USA
|
Posted: Wed Jun 11, 2008 7:35 am |
Thanks. I'd just blamed packet drops and such in the past for the ansi codes messing up. I'll let you know how the new algorithm works out.
Edit:
And yeah, due to the way the channels on SWmud are labeled, I've gotten some interesting bugs with MXP (as I've posted in the past). |
|
|
|
|
|