[Opensim-dev] Exception: System.Data.DBConcurrencyException:Concurrency violation: the UpdateCommand affected 0 records.

Tedd Hansen tedd at konge.net
Sun Jan 20 09:03:04 UTC 2008


Just some additional info...

It seems to be getting worse the more prims and/or terraforming I do.

Also it seems to help to do a:

while (true); do mono OpenSim.exe; done

 

and in another console do some

cat /dev/urandom | bzip2 -9 >/dev/null &

cat /dev/urandom | bzip2 -9 >/dev/null &

so that the CPU vs DISK ratio is "better"... So I'd guess "the more of
<some> data in DB the more likely to get this error".

 

From: opensim-dev-bounces at lists.berlios.de
[mailto:opensim-dev-bounces at lists.berlios.de] On Behalf Of Tedd Hansen
Sent: 19. januar 2008 23:18
To: opensim-dev at lists.berlios.de
Subject: [Opensim-dev] Exception:
System.Data.DBConcurrencyException:Concurrency violation: the
UpdateCommand affected 0 records.

 

Hi

 

 

Can someone who knos MySQLDataStore.cs look into this?

During startup we sometimes get a crash with littlie info on what has
gone wrong.

 

I have done some tracing to figure out why we get this during some
startups.

 

Error:

[SCENE]         [01-18 11:21:14] Loading land objects from storage

[APPLICATION]   [01-18 11:21:14]

APPLICATION EXCEPTION DETECTED: System.UnhandledExceptionEventArgs

 

Exception: System.Data.DBConcurrencyException: Concurrency violation:
the UpdateCommand affected 0 records.

  at System.Data.Common.DbDataAdapter.Update (System.Data.DataRow[]
dataRows, System.Data.Common.DataTableMapping tableMapping) [0x00000]

 

Application is terminating: True

 

 

 

And here is the result:

 

This line:

m_landDataAdapter.Update(m_landTable);

in MySQLDataStore.cs line 531 inside Commit() is the one causing the
exception.

 

My manual call-stack:

MySQLDataStore.Commit()

MySQLDataStore.StoreLandObject()

 

MySQLDataStore.StoreLandObject() is hooked up to OnLandObjectAdded()
that is executed during startup.

 

Scene.EventManager.OnLandObjectAdded()

Scene.EventManager.TriggerLandObjectAdded()
LandManager.addLandObject()

LandManager.IncomingLandObjectFromStorage(LandData)

LandManager.IncomingLandObjectsFromStorage(List<LandData>)

Scene.loadAllLandObjectsFromStorage()

RegionApplicationBase.SetupScene()

 

 

 

I think the bug is related to changed being made to dataset before it is
commited, but not 100% sure.

 

 

BR,

 Tedd

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20080120/a39f86e6/attachment-0001.html>


More information about the Opensim-dev mailing list