Go Back   RunUO - Ultima Online Emulation > RunUO > Server Support on Windows

Server Support on Windows Get (and give) support on general questions related to the RunUO server itself.

Reply
 
Thread Tools Display Modes
Old 04-25-2005, 08:19 PM   #1 (permalink)
Forum Novice
 
stinknmonk's Avatar
 
Join Date: Aug 2004
Location: East Tennessee
Age: 25
Posts: 152
Send a message via ICQ to stinknmonk Send a message via AIM to stinknmonk Send a message via Yahoo to stinknmonk
Default Crash log

Server is ok, just a minor revert. But can anyone explain to me my crashlog?

Code:
Server Crash Report
===================

Operating System: Microsoft Windows NT 5.1.2600.0
.NET Framework: 1.1.4322.573
Time: 4/25/2005 7:21:22 PM
Mobiles: 29818
Items: 304743
Clients:
- Count: 20
+ 24.151.179.74: (account = stinknmonk) (mobile = 0x16 'Jessabella')
+ 12.107.149.206: (account = anac) (mobile = 0x140 'Anachronos')
+ 172.209.62.42: (account = sawyer) (mobile = 0x91F3 'Anarch Manifest')
+ 67.8.129.203: (account = beastcrafter) (mobile = 0x3E72 'Riverwind')
+ 24.17.108.184: (account = allcity) (mobile = 0x3E95 'Selena Legendary Owner')
+ 4.131.38.106: (account = Valador) (mobile = 0xA70A 'Lorion')
+ 24.17.108.184: (account = sara) (mobile = 0x7F0 'SofaKingGood')
+ 4.178.0.254: (account = shaneseitz) (mobile = 0x525B 'Jax')
+ 24.17.108.184: (account = holybible) (mobile = 0x14FB 'Rizo,')
+ 67.8.164.135: (account = dyl1202) (mobile = 0xA6A 'Brittany')
+ 69.157.73.109: (account = bill) (mobile = 0x4CBA 'Bill')
+ 72.26.6.205: (account = bigdon) (mobile = 0x42B9 'Radek of Boktor')
+ 65.33.247.139: (account = BluDevil) (mobile = 0xB4 'BluDevil')
+ 65.185.111.222: (account = Jasien) (mobile = 0x9330 'Elipsis')
+ 71.98.32.190: (account = darkwinter1) (mobile = 0x16C9 'Crazy Gunner')
+ 207.118.117.16: (account = Wolfgore) (mobile = 0xE4F 'Sir Auron')
+ 24.159.57.166: (account = Caim) (mobile = 0xE35 'Caim Inuhart')
+ 24.116.124.35: (account = oonagh1313) (mobile = 0xA0 'Oonagh')
+ 68.58.179.210: (account = paparoach) (mobile = 0x5117 'Atlas')
+ 70.110.16.146: (account = Se7eN) (mobile = 0xB069 'Seven')

Exception:
System.NullReferenceException: Object reference not set to an instance of an object.
   at Server.Misc.HearAll.OnSpeech(SpeechEventArgs args)
   at Server.SpeechEventHandler.Invoke(SpeechEventArgs e)
   at Server.Mobile.DoSpeech(String text, Int32[] keywords, MessageType type, Int32 hue)
   at Server.Network.PacketHandlers.UnicodeSpeech(NetState state, PacketReader pvSrc)
   at Server.Network.MessagePump.HandleReceive(NetState ns)
   at Server.Network.MessagePump.Slice()
   at Server.Core.Main(String[] args)
stinknmonk is offline   Reply With Quote
Old 04-25-2005, 08:35 PM   #2 (permalink)
Master of the Internet
 
Join Date: Aug 2003
Posts: 5,688
Default

my guess is that your HearAll script has a speech event handler that is doing something like

PlayerMobile p = m as PlayerMobile;

(where m is the Mobile that generated the speech passed into it as an arg), and not testing to make sure that the result is not null before trying to refer to properties or methods on the p variable.

Either post that script or if you find a line that looks like that you could just add something like after it

if(p == null) return;
__________________
The first line of the first rule in the forum rules and guidelines "Be respectful of others. "

For questions, information, and support for XmlSpawner and its addons, visit the
XmlSpawner Support Forum
ArteGordon is offline   Reply With Quote
Old 04-25-2005, 08:37 PM   #3 (permalink)
Forum Novice
 
stinknmonk's Avatar
 
Join Date: Aug 2004
Location: East Tennessee
Age: 25
Posts: 152
Send a message via ICQ to stinknmonk Send a message via AIM to stinknmonk Send a message via Yahoo to stinknmonk
Default

Quote:
Originally Posted by ArteGordon
my guess is that your HearAll script has a speech event handler that is doing something like

PlayerMobile p = m as PlayerMobile;

(where m is the Mobile that generated the speech passed into it as an arg), and not testing to make sure that the result is not null before trying to refer to properties or methods on the p variable.

Either post that script or if you find a line that looks like that you could just add something like after it

if(p == null) return;
Here is the script

Code:
using System;
using System.Collections;
using Server;
using Server.Mobiles;

namespace Server.Misc
{
	public class HearAll
	{
		private static bool m_ConsolePrint;
		private static ArrayList m_HearAll = new ArrayList();

		public static void Initialize()
		{
			Commands.Register( "HearAll", AccessLevel.GameMaster, new CommandEventHandler( HearAll_OnCommand ) );
			Commands.Register( "ConsoleHearAll", AccessLevel.GameMaster, new CommandEventHandler( ConsoleHearAll_OnCommand ) );

			EventSink.Speech += new SpeechEventHandler( OnSpeech );
		}

		private static void OnSpeech( SpeechEventArgs args )
		{
			string msg;
			if ( args.Mobile.Region.Name.Length > 0 )
				msg = String.Format( "{0} ({1}): {2}", args.Mobile.Name, args.Mobile.Region.Name, args.Speech );
			else
				msg = String.Format( "{0}: {1}", args.Mobile.Name, args.Speech );
			if ( m_ConsolePrint )
				Console.WriteLine( msg );

			ArrayList remove = null;
			for(int i=0;i<m_HearAll.Count;i++)
			{
				if ( ((Mobile)m_HearAll[i]).NetState == null )
				{
					if ( remove == null )
						remove = new ArrayList( 1 );
					remove.Add( m_HearAll[i] );
				}
				else
				{
					((Mobile)m_HearAll[i]).SendMessage( msg );
				}
			}

			if ( remove != null )
			{
				for(int i=0;i<remove.Count;i++)
					m_HearAll.Remove( remove[i] );
			}
		}

		private static void HearAll_OnCommand( CommandEventArgs args )
		{
			if ( m_HearAll.Contains( args.Mobile ) )
			{
				m_HearAll.Remove( args.Mobile );
				args.Mobile.SendMessage( "Hear all disabled." );
			}
			else
			{
				m_HearAll.Add( args.Mobile );
				args.Mobile.SendMessage( "Hear all enabled, type [hearall again to disable it." );
			}
		}

		private static void ConsoleHearAll_OnCommand( CommandEventArgs args )
		{
			m_ConsolePrint = !m_ConsolePrint;

			if ( m_ConsolePrint )
				args.Mobile.SendMessage( "Now sending all speech to the console." );
			else
				args.Mobile.SendMessage( "No longer sending speech to the console." );
		}
	}
}
stinknmonk is offline   Reply With Quote
Old 04-25-2005, 08:46 PM   #4 (permalink)
Master of the Internet
 
Join Date: Aug 2003
Posts: 5,688
Default

I would guess the problem is here

Code:
if ( args.Mobile.Region.Name.Length > 0 )
I would change it to

Code:
if ( args.Mobile.Region == null || args.Mobile.Region.Name == null || args.Mobile.Region.Name.Length > 0 )
__________________
The first line of the first rule in the forum rules and guidelines "Be respectful of others. "

For questions, information, and support for XmlSpawner and its addons, visit the
XmlSpawner Support Forum
ArteGordon is offline   Reply With Quote
Old 04-25-2005, 08:54 PM   #5 (permalink)
Forum Novice
 
stinknmonk's Avatar
 
Join Date: Aug 2004
Location: East Tennessee
Age: 25
Posts: 152
Send a message via ICQ to stinknmonk Send a message via AIM to stinknmonk Send a message via Yahoo to stinknmonk
Default

Quote:
Originally Posted by ArteGordon
I would guess the problem is here

Code:
if ( args.Mobile.Region.Name.Length > 0 )
I would change it to

Code:
if ( args.Mobile.Region == null || args.Mobile.Region.Name == null || args.Mobile.Region.Name.Length > 0 )
KK thanks, Ive changed it and will see if it works on next restart. Its odd though because this is the first time it has EVER crashed due to this script. And ive had it in effect for 9 months now.
stinknmonk is offline   Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off



Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 RC5