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
ReedN
Wizard


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

PostPosted: Sun Feb 01, 2009 3:15 am   

[3.03a] Error: Connection is not opened yet.
 
Problem:
When I go into my main Session and connect to the mud then exit out and enter another session off-line it gives the error "Connection is not opened yet."

Strangely, upon further investigation I've found that this doesn't happen with any session. This appears to be dependent upon my going into my particular Achaea session. I tried to connect on-line with a newly created session and I can't seem to replicate this behavior. However, perhaps the crash report and the procedure will be enough to pin-point the issue. Zugg already has my package so if he wishes he could test it with my Achaea package.

Procedure:
Code:

1) Enter into my main session and connect on-line.
2) Exit out of my session by going to File->Close all.
3) Open a different session off-line.
4) Wait for a while (usually less than a minute).

I get the error:

Error in cMUDPro.exe
Connection is not opened yet.


Crash Report
Code:

date/time         : 2009-01-31, 19:21:57, 640ms
operating system  : Windows XP Service Pack 3 build 2600
system language   : English
system up time    : 16 days 19 hours
program up time   : 6 minutes 35 seconds
processors        : 2x Genuine Intel(R) CPU @ 2.93GHz
physical memory   : 2174/3326 MB (free/total)
free disk space   : (C:) 32.54 GB
display mode      : 1600x1200, 32 bit
process id        : $11b8
allocated memory  : 68.77 MB
executable        : cMUDPro.exe
exec. date/time   : 2008-12-16 11:09
version           : 3.3.0.1
compiled with     : BCB 2006/07
madExcept version : 3.0h
callstack crc     : $c2e3535a, $c8efa822, $c8efa822
exception number  : 1
exception class   : EZDatabaseError
exception message : Connection is not opened yet.

Main ($3ec):
008a1431 +35 cMUDPro.exe  ZConnection   746  +2 TZConnection.CheckConnected
008a0eb1 +05 cMUDPro.exe  ZConnection   444  +1 TZConnection.GetInTransaction
00a40a05 +05 cMUDPro.exe  SQLiteUtils   291  +1 EndSQLCache
00df41a4 +0c cMUDPro.exe  MapList3     3793  +1 TMapNode.Flush
00df44b1 +2d cMUDPro.exe  MapList3     3895  +4 FlushMapFiles
00d12aa6 +8a cMUDPro.exe  PARENT       7194 +10 TParentForm.SystemTimerTimer
00497f9f +0f cMUDPro.exe  ExtCtrls     2281  +1 TTimer.Timer
00497e83 +2b cMUDPro.exe  ExtCtrls     2239  +4 TTimer.WndProc
0047c540 +14 cMUDPro.exe  Classes     11583  +8 StdWndProc
7e4196c2 +0a USER32.dll                         DispatchMessageA
004ad9c4 +fc cMUDPro.exe  Forms        8105 +23 TApplication.ProcessMessage
004ad9fe +0a cMUDPro.exe  Forms        8124  +1 TApplication.HandleMessage
004adcf3 +b3 cMUDPro.exe  Forms        8223 +20 TApplication.Run
00eabb64 +88 cMUDPro.exe  cMUDPro       358 +20 initialization
7c912c01 +69 ntdll.dll                          RtlUnicodeStringToAnsiString
7c812c24 +b6 kernel32.dll                       GetVersionExA
0047004a +8e cMUDPro.exe  Classes      4101  +7 TCollection.GetNamePath
Reply with quote
gamma_ray
Magician


Joined: 17 Apr 2005
Posts: 496

PostPosted: Sun Feb 01, 2009 6:46 am   
 
Do you have the map open? Looks like a variation on this bug.
Reply with quote
ReedN
Wizard


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

PostPosted: Sun Feb 01, 2009 8:16 am   
 
Interesting, indeed it looks like a variation on the one you linked. The mapper was open in the first session I opened. Then I closed the one with the mapper. The second session I went into didn't have the mapper open. The methods to achieve the error look unique, but both are probably the same.
Reply with quote
ReedN
Wizard


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

PostPosted: Sun Feb 01, 2009 6:19 pm   Easier way to reproduce.
 
I found a simpler more straight forward way to reproduce this while documenting another bug.

Instructions to Reproduce:
Code:

1) Open Cmud and select "New Session".  Give the new session a title of 'test'.
2) Open the session 'test' off-line.
3) Open the map by left clicking the map button at the top of the screen.  Verify that the map appears to the right of the current window.
6) File->Close All
7) Wait for a while at the session selection menu (shouldn't be longer than a minute).  The error will pop-up.
Reply with quote
Vijilante
SubAdmin


Joined: 18 Nov 2001
Posts: 5182

PostPosted: Sun Feb 01, 2009 10:53 pm   
 
Your latest procedure is very indicative of a threading issue. Excelent find!
_________________
The only good questions are the ones we have never answered before.
Search the Forums
Reply with quote
kjaerhus
Magician


Joined: 18 Dec 2006
Posts: 317
Location: Denmark

PostPosted: Mon Feb 02, 2009 1:22 pm   
 
I just got the same exception by quitting and closing a session. Exception occurs after 10-20 seconds.

Code:
date/time         : 2009-02-02, 14:18:55, 250ms
computer name     : NARCISSUS
user name         : XXX <admin>
registered owner  : XXX
operating system  : Windows XP Media Center Service Pack 3 build 2600
system language   : Danish
system up time    : 1 hour 17 minutes
program up time   : 1 minute 18 seconds
processors        : 2x Intel(R) Core(TM)2 CPU T5600 @ 1.83GHz
physical memory   : 1008/2046 MB (free/total)
free disk space   : (C:) 2,90 GB (D:) 82,84 GB
display mode      : 1440x900, 32 bit
process id        : $1c54
allocated memory  : 48,89 MB
executable        : cMUD.exe
exec. date/time   : 2008-12-16 20:08
version           : 3.3.0.1
compiled with     : BCB 2006/07
madExcept version : 3.0h
contact name      : XXX
contact email     : XXX@XXX.XX
callstack crc     : $c27674b6, $abe8addc, $abe8addc
exception number  : 1
exception class   : EZDatabaseError
exception message : Connection is not opened yet.

Main ($1eb4):
0089cffd +35 cMUD.exe     ZConnection  746  +2 TZConnection.CheckConnected
0089ca7d +05 cMUD.exe     ZConnection  444  +1 TZConnection.GetInTransaction
00998d8d +05 cMUD.exe     SQLiteUtils  291  +1 EndSQLCache
00d3bbc0 +0c cMUD.exe     MapList3    3793  +1 TMapNode.Flush
00d3becd +2d cMUD.exe     MapList3    3895  +4 FlushMapFiles
00c67a4a +8a cMUD.exe     PARENT      7194 +10 TParentForm.SystemTimerTimer
004969b7 +0f cMUD.exe     ExtCtrls             TTimer.Timer
0049689b +2b cMUD.exe     ExtCtrls             TTimer.WndProc
0047c400 +14 cMUD.exe     Classes              StdWndProc
7e4196c2 +0a USER32.dll                        DispatchMessageA
004a96fc +fc cMUD.exe     Forms                TApplication.ProcessMessage
004a9736 +0a cMUD.exe     Forms                TApplication.HandleMessage
004a9a2b +b3 cMUD.exe     Forms                TApplication.Run
00df3228 +88 cMUD.exe     CMUD         352 +20 initialization
7c912c01 +69 ntdll.dll                         RtlUnicodeStringToAnsiString
7c812c24 +b6 kernel32.dll                      GetVersionExA
Reply with quote
Zugg
MASTER


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

PostPosted: Mon Feb 02, 2009 6:18 pm   
 
Confirmed with ReedN's simple procedure.

It's not a "threading issue". CMUD has a master timer that runs in the background all the time (controlling the tick timer, connection timer, etc). It is also in charge of flushing any changes in the map to the map database every 60 seconds or so. Looks like this Flush routine isn't checking to see if the map database is closed or not. So when you close it and wait, it tries to flush the map database, but the map database is no longer connected. So this should be pretty simple for me to fix.
Reply with quote
uldar1
Newbie


Joined: 28 Feb 2009
Posts: 2

PostPosted: Sat Feb 28, 2009 5:20 pm   
 
Congratulation for reproducting the bug, good job!
But... could you please fix it or say how to work-around it?

Having this window appearing every minute really prevents from using the client and thus
testing other functionality. :(
Reply with quote
Zugg
MASTER


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

PostPosted: Sat Feb 28, 2009 6:21 pm   
 
The bug is fixed for the 3.04 version already, so you just need to wait till it's released sometime next week. The only "workaround" is to completely close CMUD and then open your session instead of using the Close/All menu.
Reply with quote
uldar1
Newbie


Joined: 28 Feb 2009
Posts: 2

PostPosted: Sat Feb 28, 2009 7:12 pm   
 
Thanks for the workaround. Now I defined a session and don'tload map by hand as previously, and the bug does not appear!
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