Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008423opensim[GRID] Asset Servicepublic2018-12-10 09:542018-12-29 18:19
Reporterkenvc 
Assigned To 
PriorityhighSeveritycrashReproducibilityalways
StatusnewResolutionopen 
PlatformHP dual Xeon CPUs 32BG ramOSWindowsOS VersionServer 2012
Product Version0.9.0.1 
Target VersionFixed in Version 
Summary0008423: Invalid formatted GUID in the DB causes the instance to crash on startup. Log file does not show the bad GUID so cannot fix it
DescriptionInvalid formatted GUID in the DB causes the instance to crash on startup. I have 2 instances now that have this problem. I run a repair on the MySQL database and that did not help. These instances are connected to OSGrid.

The log file does not show the bad GUID so cannot manually find and fix or delete the asset with the bad GUID from the database.

Please show the bad GUID in the log file so the item can be found and manually fixed in the database.
Additional Information2018-12-10 11:39:07,094 INFO [SCENE]: Loading objects from datastore
2018-12-10 11:39:07,718 DEBUG [REGION DB]: Loaded 5000 prims...
2018-12-10 11:39:08,264 DEBUG [REGION DB]: Loaded 10000 prims...
2018-12-10 11:39:08,778 DEBUG [REGION DB]: Loaded 15000 prims...
2018-12-10 11:39:09,324 DEBUG [REGION DB]: Loaded 20000 prims...
2018-12-10 11:39:09,855 DEBUG [REGION DB]: Loaded 2601 objects using 23531 prims
2018-12-10 11:39:10,791 FATAL Fatal error: System.FormatException: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
   at System.Guid.GuidResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument, String failureArgumentName, Exception innerException)
   at System.Guid.TryParseGuidWithDashes(String guidString, GuidResult& result)
   at System.Guid.TryParseGuid(String g, GuidStyles flags, GuidResult& result)
   at System.Guid..ctor(String g)
   at MySql.Data.Types.MySqlGuid.MySql.Data.Types.IMySqlValue.ReadValue(MySqlPacket packet, Int64 length, Boolean nullVal)
   at MySql.Data.MySqlClient.ResultSet.ReadColumnData(Boolean outputParms)
   at MySql.Data.MySqlClient.ResultSet.NextRow(CommandBehavior behavior)
   at MySql.Data.MySqlClient.MySqlDataReader.Read()
   at OpenSim.Data.MySQL.MySQLSimulationData.LoadItems(SceneObjectPart prim) in c:\Users\Administrator\Desktop\Opensim\Opensim Dev Master\OpenSim\Data\MySQL\MySQLSimulationData.cs:line 582
   at OpenSim.Data.MySQL.MySQLSimulationData.LoadObjects(UUID regionID) in c:\Users\Administrator\Desktop\Opensim\Opensim Dev Master\OpenSim\Data\MySQL\MySQLSimulationData.cs:line 551
   at OpenSim.Services.SimulationService.SimulationDataService.LoadObjects(UUID regionUUID) in c:\Users\Administrator\Desktop\Opensim\Opensim Dev Master\OpenSim\Services\SimulationService\SimulationDataService.cs:line 99
   at OpenSim.Region.Framework.Scenes.Scene.LoadPrimsFromStorage(UUID regionID) in c:\Users\Administrator\Desktop\Opensim\Opensim Dev Master\OpenSim\Region\Framework\Scenes\Scene.cs:line 2256
   at OpenSim.OpenSimBase.CreateRegion(RegionInfo regionInfo, Boolean portadd_flag, Boolean do_post_init, IScene& mscene) in c:\Users\Administrator\Desktop\Opensim\Opensim Dev Master\OpenSim\Region\Application\OpenSimBase.cs:line 489
   at OpenSim.OpenSimBase.CreateRegion(RegionInfo regionInfo, Boolean portadd_flag, IScene& scene) in c:\Users\Administrator\Desktop\Opensim\Opensim Dev Master\OpenSim\Region\Application\OpenSimBase.cs:line 387
   at OpenSim.ApplicationPlugins.LoadRegions.LoadRegionsPlugin.PostInitialise() in c:\Users\Administrator\Desktop\Opensim\Opensim Dev Master\OpenSim\ApplicationPlugins\LoadRegions\LoadRegionsPlugin.cs:line 130
   at OpenSim.OpenSimBase.StartupSpecific() in c:\Users\Administrator\Desktop\Opensim\Opensim Dev Master\OpenSim\Region\Application\OpenSimBase.cs:line 285
   at OpenSim.OpenSim.StartupSpecific() in c:\Users\Administrator\Desktop\Opensim\Opensim Dev Master\OpenSim\Region\Application\OpenSim.cs:line 211
   at OpenSim.Framework.Servers.BaseOpenSimServer.Startup() in c:\Users\Administrator\Desktop\Opensim\Opensim Dev Master\OpenSim\Framework\Servers\BaseOpenSimServer.cs:line 198
TagsNo tags attached.
Git Revision or version numberLatest Dev Master as of 12/10/2018
Run Mode Grid (Multiple Regions per Sim)
Physics EngineubODE
Environment.NET / Windows64
Mono VersionNone
ViewerN/A
Attached Filespatch file icon primitemscatch.patch [^] (1,397 bytes) 2018-12-28 23:06 [Show Content]

- Relationships

-  Notes
(0033635)
Ferd Frederix (reporter)
2018-12-15 20:37

I second this. I have had to spend many hours to track down a bad UUID.
(0033638)
kenvc (reporter)
2018-12-16 10:39

I have had 2 sims completely down for the last few weeks for this same reason.

Just adding the bad GUID to one of the error message lines would be enough of a clue to allow us to find and fix the source of the problem.
(0033639)
BillBlight (developer)
2018-12-16 10:41

weird, I see this on linux once in a while but does not crash, just keeps chugging along ..
(0033654)
kenvc (reporter)
2018-12-19 17:02

When running under Windows it always crashes the entire instance on startup when loading the prims and it immediately exits.
(0033655)
kenvc (reporter)
2018-12-20 20:03

I'm sure this is not the right way to handle this issue, but I added a try catch around the part of the code that was causing the crash when a bad UUID was encountered. I also added a log entry indicating that a prim had a bad UUID.

The instance started normally after this was done without the unhandled exception and the log file indicated it had 4 prims with bad UUIDs. The bad prim's UUID and name is blank at this point in the code so I still cannot show it in the log, but at least the instance is no longer crashing on startup.
(0033685)
BillBlight (developer)
2018-12-28 23:06
edited on: 2018-12-28 23:12

I have attached a patch that will print the corrupt uuid to the console, if it is in the primitems table, which I suspect ..

But this should actually spot them on any item load, I think ...

Not for production use, but may get you going ..

(0033686)
UbitUmarov (administrator)
2018-12-29 08:29

oops
I did change code to just ignore returing uuid.zero
btw don't like use of console there
(0033689)
kenvc (reporter)
2018-12-29 18:19
edited on: 2018-12-29 18:21

Ubit, I reverted to the latest dev master code, compiled and started up all the sims, but the 2 sims with prims that have bad UUIDs are still crashing the entire instance they are in.


- Issue History
Date Modified Username Field Change
2018-12-10 09:54 kenvc New Issue
2018-12-15 20:37 Ferd Frederix Note Added: 0033635
2018-12-16 10:39 kenvc Note Added: 0033638
2018-12-16 10:41 BillBlight Note Added: 0033639
2018-12-19 17:02 kenvc Note Added: 0033654
2018-12-20 20:03 kenvc Note Added: 0033655
2018-12-28 23:06 BillBlight File Added: primitemscatch.patch
2018-12-28 23:06 BillBlight Note Added: 0033685
2018-12-28 23:12 BillBlight Note Edited: 0033685 View Revisions
2018-12-29 08:29 UbitUmarov Note Added: 0033686
2018-12-29 18:19 kenvc Note Added: 0033689
2018-12-29 18:21 kenvc Note Edited: 0033689 View Revisions


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker