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
kingfish1
Beginner


Joined: 13 Jun 2005
Posts: 20

PostPosted: Tue Feb 09, 2010 3:08 am   

[3.14] SQL Error: ObjectTbl.Enabled may not be NULL
 
I am getting this error when trying to add a new room to a database I converted from 2.37. The database opens fine in 2.37 but after converting to 3.14 I get this error any time I try to create a new room.

I am running Vista 64.

Any ideas/info would be appreciated.

-KF
Reply with quote
Zugg
MASTER


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

PostPosted: Tue Feb 09, 2010 5:54 pm   
 
You need to give us the exact step by step procedure for reproducing this. There are many different ways to add rooms to the map, so we need to know exactly what you are doing.

Also, to determine if this is a problem with your specific map database or not, try the following procedure:

1) Run CMUD, Close the Session window
2) Click the Map button in the toolbar
3) Click the "Map Mode" button in the mapper window toolbar to enable the edit toolbar on the left side of the mapper window
4) Click the square "Add Room" button in the toolbar on the left side of the mapper window, then click anywhere in the map window to add a room

Does that work? If it does, try the same procedure in your own session with your own map.

Also, please send me the crash dump or post it here within [CODE] tags so that we can see the details of the crash report.
Reply with quote
kingfish1
Beginner


Joined: 13 Jun 2005
Posts: 20

PostPosted: Fri Feb 12, 2010 4:37 am   
 
The steps you mentioned are the steps that I followed on my map. On a new map/session it works fine. On the one I brought from 2.37 I get the error mentioned. One thing I tried is opening the map database in a sqlite viewer and removing the not null constraints on the obj table. Once I did that I was able to create a room by clicking on the "Add Room" button and clicking on the map. It still will not automap because it now throws an error on the ExitTbl.DrawRev (I am assuming more not Null fields on a different table). I sent that report this evening.

It looks to me like a problem with the conversion and creating new rooms. When the mapper creates a new room what does it initialize the fields to and how does it get around the not null constraints in the database. Will going through and removing all the not null constraints on all the tables fix my problem (as a bandaid) or will it cause more issues later down the road after I have a lot more hours mapping.

If my map is hosed anyone happen to have a current map of Aardwolf?

Thanks

-KF
Reply with quote
Zugg
MASTER


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

PostPosted: Fri Feb 12, 2010 5:07 am   
 
I got your map file via email and will play with it next week. It looks like a bug in the database conversion. Once this is fixed you should be able to just re-convert your original 2.37 map file, so just keep it handy.
Reply with quote
mgrommet
Newbie


Joined: 18 Aug 2009
Posts: 1

PostPosted: Sun Feb 14, 2010 12:18 am   
 
I got exactly the same error as the previous poster.

If you would like to have another converted / unconverted map database for experimentation, just holler.


M.
Reply with quote
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Sat Feb 27, 2010 9:05 pm   
 
I'm getting this same error myself, even with 3.14a. Using the map converter didn't help, either. It's just simply refusing to let me make a new room. Not sure what the problem is. I may wind up downgrading to another 3.xx version, converting the map with that one (since they've worked in the past...) and seeing if it produces the same error.

In the meantime, here's the call stack:
Code:
date/time         : 2010-02-27, 15:10:01, 897ms
computer name     : CHARNEUS-LAPTOP
user name         : Charneus <admin>
registered owner  : Charneus
operating system  : Windows 7 build 7600
system language   : English
system up time    : 14 hours 10 minutes
program up time   : 9 minutes 33 seconds
processors        : 2x AMD Turion(tm) 64 X2 Mobile Technology TL-60
physical memory   : 882/1918 MB (free/total)
free disk space   : (C:) 75.11 GB
display mode      : 1280x800, 32 bit
process id        : $538
allocated memory  : 147.14 MB
command line      : "C:\Program Files\CMUD\cMUD.exe" Aardwolf
executable        : cMUD.exe
exec. date/time   : 2010-02-08 12:53
version           : 3.14.0.1
compiled with     : BCB 2006/07
madExcept version : 3.0k
contact name      : 
contact email     : 
callstack crc     : $06a99d80, $1b2f3f5a, $1b2f3f5a
exception number  : 2
exception class   : EZDatabaseError
exception message : SQL Error: ObjectTbl.Enabled may not be NULL.

Main ($b3c):
008b5ef5 +0e9 cMUD.exe       ZAbstractDataset     417  +14 TZAbstractDataset.InternalAddRecord
77c365c6 +081 ntdll.dll                                    RtlRaiseStatus
75dc9611 +04e KERNELBASE.dll                               RaiseException
77c365c6 +081 ntdll.dll                                    RtlRaiseStatus
77c36452 +00a ntdll.dll                                    KiUserExceptionDispatcher
00890c8a +02a cMUD.exe       ZDbcStatement       2000   +1 TZEmulatedPreparedStatement.ExecuteUpdate
00890d8a +02a cMUD.exe       ZDbcStatement       2040   +1 TZEmulatedPreparedStatement.ExecuteUpdatePrepared
0087cef0 +14c cMUD.exe       ZDbcGenericResolver  776  +26 TZGenericCachedResolver.PostUpdates
00897350 +038 cMUD.exe       ZDbcSqLiteResultSet  853   +1 TZSQLiteCachedResolver.PostUpdates
0087e628 +018 cMUD.exe       ZDbcCachedResultSet  439   +5 TZAbstractCachedResultSet.PostRowUpdates
0087e7a0 +05c cMUD.exe       ZDbcCachedResultSet  545  +14 TZAbstractCachedResultSet.PostUpdates
0087f118 +080 cMUD.exe       ZDbcCachedResultSet 1526  +16 TZAbstractCachedResultSet.InsertRow
008b5ec4 +0b8 cMUD.exe       ZAbstractDataset     415  +12 TZAbstractDataset.InternalAddRecord
008b609c +10c cMUD.exe       ZAbstractDataset     465  +19 TZAbstractDataset.InternalPost
00517841 +029 cMUD.exe       DB                            TDataSet.CheckOperation
005174dc +048 cMUD.exe       DB                            TDataSet.Post
00d6d073 +257 cMUD.exe       MapList3            3438  +30 TMapNode.MakeRoom
00a85d5c +07c cMUD.exe       MapFrame3           6524   +4 TMapFr.MakeRoom
00a73fdd +b15 cMUD.exe       MapFrame3           1845 +146 TMapFr.MouseBoxMouseDown
00d23946 +04e cMUD.exe       MapNew3             1399   +6 TNewMapF.MapMouseBoxMouseDown
004bc5eb +02b cMUD.exe       Controls                      TControl.MouseDown
004bc66e +076 cMUD.exe       Controls                      TControl.DoMouseDown
004bc6bc +040 cMUD.exe       Controls                      TControl.WMLButtonDown
004bc093 +2bb cMUD.exe       Controls                      TControl.WndProc
004bbd20 +024 cMUD.exe       Controls                      TControl.Perform
004bf8b6 +0aa cMUD.exe       Controls                      GetControlAtPos
004bf97e +0a6 cMUD.exe       Controls                      TWinControl.ControlAtPos
004bbd20 +024 cMUD.exe       Controls                      TControl.Perform
004bfb89 +0a1 cMUD.exe       Controls                      TWinControl.IsControlMouseMsg
004bff51 +3b5 cMUD.exe       Controls                      TWinControl.WndProc
004bf7c0 +02c cMUD.exe       Controls                      TWinControl.MainWndProc
0047d424 +014 cMUD.exe       Classes                       StdWndProc
76503573 +00a USER32.dll                                   DispatchMessageA
004aa76c +0fc cMUD.exe       Forms                         TApplication.ProcessMessage
004aa7a6 +00a cMUD.exe       Forms                         TApplication.HandleMessage
004aaa9b +0b3 cMUD.exe       Forms                         TApplication.Run
00e27a78 +088 cMUD.exe       CMUD                 352  +20 initialization
76931192 +010 kernel32.dll                                 BaseThreadInitThunk


Charneus
Reply with quote
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Sat Feb 27, 2010 9:22 pm   
 
Downgraded to 3.11, converted the map, no issues. It may very well just be an issue with 3.14, maybe even 3.13. I didn't test from 3.12 up because I'm on a crappy connection right now, but if need be, I can do that in about... three weeks. :\

Charneus
Reply with quote
Zugg
MASTER


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

PostPosted: Sun Feb 28, 2010 6:57 am   
 
Yes, it's because of the new map database conversion algorithm. CMUD 3.14 uses the same algorithm that was being tested in the external MapConvert program. Apparently there wasn't enough beta testing of the MapConvert program to find this bug. It's already on the bug list for the next version.
Reply with quote
haderach
Newbie


Joined: 10 May 2007
Posts: 4

PostPosted: Sat Dec 01, 2012 4:34 am   
 
I'm on CMUD 3.34, and I haven't been able to use my old maps for quite some time because of the same issues with ExitTbl.DrawRev throwing an error ("ExitTbl.DrawRev may not be null"). I discovered a way to make things work today by loading the dbm file into sqlite3 and manually removing the NOT NULL from the DrawRev column. I don't know whether this will break other things in the future, but for now, it allows me to actually use my maps and modify them.

I'm posting this in case it helps anyone else with the same problem. All you have to do is load up the dbm file in sqlite3 and rename the existing ExitTbl to a temp name. Then create a new table without the NOT NULL restrictions and move all the records over.

Code:
> sqlite3 map.dbm
> ALTER TABLE ExitTbl RENAME TO tmp_ExitTbl;
> CREATE TABLE ExitTbl ([ExitID] INTEGER DEFAULT -1,[FromID] INTEGER,[ToID] INTEGER,[ExitKindID] INTEGER,[Name] VARCHAR(80),[Param] VARCHAR(80),[Label] VARCHAR(80),[X0] INTEGER DEFAULT 0,[Y0] INTEGER DEFAULT 0,[Z0] INTEGER DEFAULT 0,[X1] INTEGER DEFAULT 0,[Y1] INTEGER DEFAULT 0,[Z1] INTEGER DEFAULT 0,[Distance] INTEGER DEFAULT 0,[Script] TEXT,[Color] INTEGER DEFAULT 536870911,[MetaID] INTEGER DEFAULT -1,[DrawRev] BOOLEAN,[DirType] INTEGER DEFAULT 0,[DirToType] INTEGER DEFAULT 0,[Tested] BOOLEAN,[Flags] INTEGER DEFAULT 0,[UserID] INTEGER DEFAULT 0,[Modified] TIMESTAMP,[ExitIDTo] INTEGER DEFAULT -1);
> insert into ExitTbl(ExitID, FromID, ToID, ExitKindID, Name, Param, Label, X0, Y0, Z0, X1, Y1, Z1, Distance, Script, Color, MetaID, DrawRev, DirType, DirToType, Tested, Flags, UserID, Modified, ExitIDTo) select ExitID, FromID, ToID, ExitKindID, Name, Param, Label, X0, Y0, Z0, X1, Y1, Z1, Distance, Script, Color, MetaID, DrawRev, DirType, DirToType, Tested, Flags, UserID, Modified, ExitIDTo from tmp_ExitTbl;
> DROP TABLE tmp_ExitTbl;
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