Full Version : crash
xmlspawner >>Troubleshooting >>crash


<< Prev | Next >>

Ghostwyren- 01-08-2007
i dunno whats goin on i had my shard up it was goin fine after i installed xmlpoints. i started it ran good then i did step 6 the kills things and went to work came home restarted shard and it gets this error


Server Crash Report
===================

RunUO Version 2.0, Build 2357.32527
Operating System: Microsoft Windows NT 5.1.2600 Service Pack 2
.NET Framework: 2.0.50727.42
Time: 1/8/2007 10:23:07 PM
Mobiles: 864
Items: 59173
Clients:
- Count: 0

Exception:
System.NullReferenceException: Object reference not set to an instance of an object.
at Server.Region.Register()
at Server.Engines.XmlSpawner2.ChallengeRegionStone.RefreshRegions()
at Server.Timer.DelayCallTimer.OnTick()
at Server.Timer.Slice()
at Server.Core.Main(String[] args)


and it restarts over and over with the same error all by it self?

ArteGordon- 01-09-2007
Could you try running the server in -debug mode to get more info on the crash?

Make a shortcut to your RunUO.exe server, and then in the Properties on the shortcut change the 'Target' to

"RunUO.exe" -debug


Ghostwyren- 01-09-2007
Exception:
System.NullReferenceException: Object reference not set to an instance of an object.
at Server.Region.Register()
at Server.Engines.XmlSpawner2.ChallengeRegionStone.RefreshRegions() in c:\Program Files\Uo 2.0\Scripts\Customs\ChallengeRegionStone.cs:line 148
at Server.Timer.DelayCallTimer.OnTick()
at Server.Timer.Slice()
at Server.Core.Main(String[] args)

thats the debug

ArteGordon- 01-09-2007
try making this change in the RefreshRegions method in ChallengeRegionStone.cs around line 150

QUOTE

       public void RefreshRegions()
        {

   if (m_ChallengeRegion != null)
   {
    m_ChallengeRegion.Unregister();
   }

   if (m_ChallengeMap == null || m_ChallengeArea == null) return;

   // define a new one based on the named region
   m_ChallengeRegion = new ChallengeGameRegion(m_ChallengeRegionName, m_ChallengeMap, m_Priority, m_ChallengeArea);
   // update the new region properties with current values
   m_ChallengeRegion.Music = m_Music;
   m_ChallengeRegion.Disabled = m_Disable;

if (m_ChallengeRegion.Area == null)
{
// some problem in the area definition so ignore the region
m_ChallengeRegion = null;
return;
}

   m_ChallengeRegion.Register();
        }

Ghostwyren- 01-09-2007
QUOTE (ArteGordon @ January 09, 2007 07:26 pm)
try making this change in the RefreshRegions method in ChallengeRegionStone.cs around line 150

QUOTE

       public void RefreshRegions()
        {

   if (m_ChallengeRegion != null)
   {
    m_ChallengeRegion.Unregister();
   }

   if (m_ChallengeMap == null || m_ChallengeArea == null) return;

   // define a new one based on the named region
   m_ChallengeRegion = new ChallengeGameRegion(m_ChallengeRegionName, m_ChallengeMap, m_Priority, m_ChallengeArea);
   // update the new region properties with current values
   m_ChallengeRegion.Music = m_Music;
   m_ChallengeRegion.Disabled = m_Disable;

if (m_ChallengeRegion.Area == null)
{
// some problem in the area definition so ignore the region
m_ChallengeRegion = null;
return;
}

   m_ChallengeRegion.Register();
        }

same problem still nothing changed at all sorry to put u through this heh. any more ideas?

ArteGordon- 01-09-2007
yeah, kind of tricky since it is crashing in the core region registration method.

This should cover all of the bases

QUOTE

        public void RefreshRegions()
        {

  if (m_ChallengeRegion != null)
  {
    m_ChallengeRegion.Unregister();
  }

  if (m_ChallengeMap == null || m_ChallengeArea == null) return;

  // define a new one based on the named region
  m_ChallengeRegion = new ChallengeGameRegion(m_ChallengeRegionName, m_ChallengeMap, m_Priority, m_ChallengeArea);

            // check for invalid area or map or region list
            if (m_ChallengeRegion.Area == null || m_ChallengeRegion.Map == null || Region.Regions == null) return;

            for (int i = 0; i < m_ChallengeRegion.Area.Length; i++)
            {
                // check for invalid areas
                Rectangle3D rect = m_ChallengeRegion.Area[i];

                Point2D start = m_ChallengeRegion.Map.Bound(new Point2D(rect.Start));
                Point2D end = m_ChallengeRegion.Map.Bound(new Point2D(rect.End));

                Sector startSector = m_ChallengeRegion.Map.GetSector(start);
                Sector endSector = m_ChallengeRegion.Map.GetSector(end);

                if (startSector == null || endSector == null) return;
            }

            if (m_ChallengeRegion.Parent != null)
            {
                // check for invalid parent child list
                if(m_ChallengeRegion.Parent.Children == null) return;
            }

  // update the new region properties with current values
  m_ChallengeRegion.Music = m_Music;
  m_ChallengeRegion.Disabled = m_Disable;

  m_ChallengeRegion.Register();
        }

Ghostwyren- 01-09-2007
alright were good now thanks a bunch