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
GeneralStonewall
Magician


Joined: 02 Feb 2004
Posts: 364
Location: USA

PostPosted: Fri Jun 11, 2010 12:30 am   

[3.19] BUG: Access violation on connect.
 
I got the following error message at the login prompt on Aetolia when using my normal session:

Error: Access violation at 0.x04B627CA (tried to write to 0x01C80FF8), program terminated.

Then cmud closed.



I couldn't copy the text from the script debugger after the crash, but I was able to take a screenshot. If needed, I can send you my package files.


Last edited by GeneralStonewall on Fri Jun 11, 2010 12:56 am; edited 1 time in total
Reply with quote
GeneralStonewall
Magician


Joined: 02 Feb 2004
Posts: 364
Location: USA

PostPosted: Fri Jun 11, 2010 12:43 am   
 
It looks to be something with mudbot.

This is from a fresh session with the default packages removed.



Edit: Blame photobucket for the crappy picture quality.

You can download the version of mudbot I'm using here: http://sites.google.com/site/laniraaet/misc-files
It listens on localhost port 123 and is set to connect to aetolia.com.


Last edited by GeneralStonewall on Fri Jun 11, 2010 7:34 pm; edited 2 times in total
Reply with quote
Zugg
MASTER


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

PostPosted: Fri Jun 11, 2010 4:41 pm   
 
All CMUD errors have the "Send Bug" buttons on them, so that crash doesn't look like it's coming from CMUD. It might be coming from mudbot. Unfortunately, I can't officially support 3rd party programs such as Mudbot and I have no idea how it works or how it interacts with CMUD.

You should try it without any package at all to see if it's an issue with something the MUD is sending. Or try to pin it down to some other script in your session.
Reply with quote
GeneralStonewall
Magician


Joined: 02 Feb 2004
Posts: 364
Location: USA

PostPosted: Fri Jun 11, 2010 6:44 pm   
 
I'm not sure how the error could belong to mudbot; The error window has a cmud icon, causes cmud to freeze, and hitting okay causes CMUD to close, not mudbot. As stated in the 2nd post, I did use a fresh session with all the default packages removed and still got the error. Not only this, but the error only occurs 3.19 and it happens every time. Yes, this instance seems to do with mudbot, but I would think that the same situation could possibly occur while directly connected to a mud.
Reply with quote
Zugg
MASTER


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

PostPosted: Fri Jun 11, 2010 7:09 pm   
 
Does it only happen when connecting to a specific MUD, or with all MUDs. I can't figure out how any external program could effect CMUD like this.
Reply with quote
GeneralStonewall
Magician


Joined: 02 Feb 2004
Posts: 364
Location: USA

PostPosted: Fri Jun 11, 2010 7:20 pm   
 
Any MUD. In the second screenshot everything sent there is from mudbot, and not the mud itself.
Reply with quote
Zugg
MASTER


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

PostPosted: Fri Jun 11, 2010 8:09 pm   
 
But in the second screenshot above it looks like it is connecting to Aetolia and Aetolia is sending it's MXP data to CMUD. So not all of that is coming from MudBot, or else I'm confused.

Can you try using a previous CMUD with the Script Debugger to try and show the *next* lines of debugger output that the crash is preventing us from seeing?
I need to see exactly what CMUD is receiving that might be causing the crash. But I think the crash happens before CMUD can update the script debugger output.

Try to connect to different MUDs to see if you can come up with anything in common between them. Or try to show what the difference is when MudBot is added vs just connecting without MudBot.
Reply with quote
GeneralStonewall
Magician


Joined: 02 Feb 2004
Posts: 364
Location: USA

PostPosted: Fri Jun 11, 2010 11:35 pm   
 
Mudbot is indeed sending that MXP data. Mudbot does its own MXP, ATCP, and MCCP negotiations and handling.

I'll go ahead an do what you suggested.

Here it is, through mudbot, from version 3.17 inside a blank session:
Code:
       | l  untitled |  Module "blank_session" compiled (String) : blank_session
0.1517 | m  blank_se |  Event "onLoad" raised
0.0001 | m  blank_se |  Event "onLoad" raised
0.1070 | a  blank_se |Connected to host localhost
0.0002 | h  blank_se |<ESC>[1SConnected to host localhost<ESC>[0m
0.0021 | m  blank_se |  Event "onConnect" raised : (%1="blank_session", %2="localhost", %3="0", %4="")
0.0004 | i  blank_se <<ESC>[1;34mMudBot v<ESC>[1;32m2<ESC>[1;34m.<ESC>[1;32m41<ESC>[1;34m(win) - Copyright (C) 2004, 2005  Andrei Vasiliu.<CR><LF><CR><LF>
0.0000 | MudBot comes with ABSOLUTELY NO WARRANTY. This is free<CR><LF>
0.0000 | software, and you are welcome to redistribute it under<CR><LF>
0.0000 | certain conditions; See the GNU General Public License<CR><LF>
0.0000 | for more details.<CR><LF><CR><LF>
0.0000 | <ESC>[1;34mModule: IMapper v<ESC>[1;32m5<ESC>[1;34m.<ESC>[1;32m55<ESC>[1;34m.<CR><LF>
0.0000 | <ESC>[1;34mModule: IOffense v<ESC>[1;32m0<ESC>[1;34m.<ESC>[1;32m7<ESC>[1;34m.<CR><LF>
0.0000 | <ESC>[1;34mModule: Purity v<ESC>[1;32m1<ESC>[1;34m.<ESC>[1;32m0<ESC>[1;34m.<CR><LF>
0.0000 | <ESC>[1;34mModule: IRC v<ESC>[1;32m2<ESC>[1;34m.<ESC>[1;32m4<ESC>[1;34m.<CR><LF>
0.0000 | <ESC>[1;34mModule: FML v<ESC>[1;32m1<ESC>[1;34m.<ESC>[1;32m0<ESC>[1;34m.<CR><LF>
0.0000 | <ESC>[1;34mModule: Vote v<ESC>[1;32m1<ESC>[1;34m.<ESC>[1;32m0<ESC>[1;34m.<CR><LF>
0.0000 | <ESC>[1;34mConnecting to aetolia.com:23... <ESC>[0;37m
0.0003 | a  blank_se |MudBot v2.41(win) - Copyright (C) 2004, 2005  Andrei Vasiliu.
0.0002 | a  blank_se |
0.0001 | a  blank_se |MudBot comes with ABSOLUTELY NO WARRANTY. This is free
0.0002 | a  blank_se |software, and you are welcome to redistribute it under
0.0002 | a  blank_se |certain conditions; See the GNU General Public License
0.0002 | a  blank_se |for more details.
0.0003 | a  blank_se |
0.0001 | a  blank_se |Module: IMapper v5.55.
0.0001 | a  blank_se |Module: IOffense v0.7.
0.0001 | a  blank_se |Module: Purity v1.0.
0.0001 | a  blank_se |Module: IRC v2.4.
0.0001 | a  blank_se |Module: FML v1.0.
0.0004 | a  blank_se |Module: Vote v1.0.
0.0001 | a  blank_se ]Connecting to aetolia.com:23...
0.0000 | h  blank_se ]<ESC>[1;34mConnecting to aetolia.com:23... <ESC>[0m
0.0958 | i  blank_se <<ESC>[1;34mDone.<CR><LF>
0.0000 | <ESC>[0;37m<ESC>[1;34m[<ESC>[1;31mSend `help to get some help.<ESC>[1;34m]<CR><LF>
0.0000 | <ESC>[0;37m<IAC><WILL><91>
0.0003 | i  blank_se ><IAC><DO><91>
0.0001 | a  blank_se #Telnet 91:
0.0002 | a  blank_se |Connecting to aetolia.com:23... Done.
0.0001 | i  blank_se <<IAC><SB><91><IAC><SE><ESC>[5z<ESC>[6z<!element mpelm '<send "map path &v;|room look &v;" hint="&r;|Vnum: &v;|Type: &t;">' ATT='v r t'><!element mppers '<send "map path &v;|room look &v;|who &p;" hint="&p; (&r;)|Vnum: &v;|Type: &t;|Player: &p;">' ATT='v r t p'><!element mpfind '<send "room find &r;">' ATT='r'><ESC>[5z
0.0001 | a  blank_se #Telnet 91:
0.0001 | a  blank_se |[Send `help to get some help.]
0.1680 | i  blank_se <<IAC><WILL><25><IAC><WILL><201>Rapture Runtime Environment v2.1.6 -- (c) 2010 -- Iron Realms Entertainment<CR><LF>
0.0000 | Multi-User License: 100-0001-000<CR><LF><CR><LF>
0.0000 | <ESC>[0;37m       * * * * * * * * * * * * * * * * * * * * * * * * * * *<CR><LF><CR><LF>
0.0000 | <ESC>[1;31m                         - A E T O L I A -<CR><LF><CR><LF>
0.0000 | <ESC>[0;36m                  T h e   M i d n i g h t   A g e<CR><LF><CR><LF>
0.0000 | <ESC>[37m       * * * * * * * * * * * * * * * * * * * * * * * * * * *<CR><LF><CR><LF>
0.0000 |          http://www.aetolia.com telnet://64.127.116.164:23<CR><LF>
0.0000 |          For general questions, e-mail support@aetolia.com<CR><LF><CR><LF>
0.0000 |                There are 91 people currently online.<CR><LF><CR><LF>
0.0000 |                  1. Enter the game.<CR><LF>
0.0000 |                  2. Create a new character.<CR><LF>
0.0000 |                  3. Quit.<CR><LF><CR><LF>
0.0000 | Enter an option or enter your character's name. <IAC><GA>
0.0002 | i  blank_se ><IAC><DO><25>
0.0001 | a  blank_se #Telnet 25:
0.0001 | i  blank_se ><IAC><DONT><201>
0.0002 | a  blank_se |Rapture Runtime Environment v2.1.6 -- (c) 2010 -- Iron Realms Entertainment
0.0001 | a  blank_se |Multi-User License: 100-0001-000
0.0001 | a  blank_se |
0.0001 | a  blank_se |       * * * * * * * * * * * * * * * * * * * * * * * * * * *
0.0001 | a  blank_se |
0.0002 | a  blank_se |                         - A E T O L I A -
0.0004 | a  blank_se |
0.0001 | a  blank_se |                  T h e   M i d n i g h t   A g e
0.0001 | a  blank_se |
0.0001 | a  blank_se |       * * * * * * * * * * * * * * * * * * * * * * * * * * *
0.0001 | a  blank_se |
0.0001 | a  blank_se |         http://www.aetolia.com telnet://64.127.116.164:23
0.0003 | a  blank_se |         For general questions, e-mail support@aetolia.com
0.0001 | a  blank_se |
0.0001 | a  blank_se |               There are 91 people currently online.
0.0001 | a  blank_se |
0.0001 | a  blank_se |                 1. Enter the game.
0.0001 | a  blank_se |                 2. Create a new character.
0.0003 | a  blank_se |                 3. Quit.
0.0001 | a  blank_se |
0.0001 | a  blank_se ]Enter an option or enter your character's name.
0.0000 | h  blank_se ]<ESC>[37mEnter an option or enter your character's name. <ESC>[0m
0.0000 |


edit: Confirmed to still be happening in 3.19b
Reply with quote
Zugg
MASTER


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

PostPosted: Sat Jun 12, 2010 12:43 am   
 
Actually, even better would be to email me a raw debug file. Open your session Offline and then do the following command:

#DEBUGFILE test.raw test.txt

and then use File/Connect to connect to the MUD. Do this in 3.17 so that it doesn't crash. When you get to the character name prompt, just exit CMUD and then email me both the test.raw and test.txt files as email attachments.

You can test yourself to see if this reproduces the problem. Once you have these files, you can run v3.19b and close the Session window to get the default session.
The type:

#READ test.raw RAW

and this will load the test.raw file and replay it as network input. See if this causes CMUD 3.19 to crash. If so, then I should be able to reproduce it here.

It's possible I got the order of the two files reversed, so if the #READ command doesn't work, try using "#READ test.txt RAW". It's the RAW keyword after the file name that causes CMUD to read the raw data directly into it's input buffer. So it simulates receiving all of the data in one big packet. This sometimes doesn't reproduce a problem if it's timing related, but in this case I'm hoping it's related to something being received and parsed.

For example, since I've changed the string list stuff, maybe it's the MXP SEND tag with the string list that is causing a crash during parsing or something.

I still have no idea why you aren't getting the normal "Send bug/Show bug" dialog box though.
Reply with quote
Zugg
MASTER


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

PostPosted: Sat Jun 12, 2010 12:46 am   
 
It might also be useful to connect to some other non-IRE MUD to see if it also crashes, and if so, send a debugger output from the other MUD so I can compare the two and see what they have in common.
Reply with quote
GeneralStonewall
Magician


Joined: 02 Feb 2004
Posts: 364
Location: USA

PostPosted: Sat Jun 12, 2010 12:55 am   
 
Huzzah, I was indeed able to reproduce the crash in 3.19 by using #read in the default session with the data from 3.17.

I'm emailing you both files to sales@zuggsoft.com. Tell me if you want it sent somewhere else, though.

I'll also email you one from connecting to Akanbar momentarily.

Edit: Sent!


Last edited by GeneralStonewall on Sat Jun 12, 2010 1:13 am; edited 1 time in total
Reply with quote
Zugg
MASTER


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

PostPosted: Sat Jun 12, 2010 1:12 am   
 
Yep, got the file and reproduced the error here too. So I don't need the other session file. Thanks!
Reply with quote
Zugg
MASTER


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

PostPosted: Sat Jun 12, 2010 1:14 am   
 
Ahh, and I found out why the "Send bug" button isn't shown. What this error actually is is a "stack overflow" infinite loop. So it's running out of stack resources, which prevents the normal exception trap handler from handling it.

It's definitely the parsing of the <send "map path &v;|room look... MXP line. It's getting into an infinite loop parsing nested lists here. I'll try to get this fixed for tonights quick update.
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD Beta Forum All times are GMT
Page 1 of 1

 
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