I have some new MsBuild scripts that have been running on my CruiseControl server for approximatley a month. I am using a few custom MsBuild Tasks, but the last time they were changed was about two months ago. Suddenly, last week, MSBuild started crashing with an error reporting dialog. Here's the Event for the crash:
EventType clr20r3, P1 msbuild.exe, P2 2.0.50727.1433, P3 471ec246, P4 mscorlib, P5 2.0.0.0, P6 471ebc5b, P7 1153, P8 0, P9 system.objectdisposedexception, P10 NIL. I have no idea what's causing it. If anyone has any insight, that would be fantastic. In addition, after the crash, CruiseControl cannot fully recover. The server still receives messages from the dashboard/cctray to force, abort, and cancel builds, however CCNET is unable to actually start any builds. I try to kill the server and the log spew says it is stopping my projects, but the window is unable to close on its own. I usually end up killing it through Task Mnaager. If I try to start the server up again, I get this: 2008-11-25 10:11:42,014 [CCNet Server:ERROR] INTERNAL ERROR: Remoting configuration failed with the exception 'System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Net.Sockets.SocketException: Only one usage of each socket address (protocol/network address/port) is normally permitted at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.Bind(EndPoint localEP) at System.Net.Sockets.TcpListener.Start(Int32 backlog) at System.Net.Sockets.TcpListener.Start() at System.Runtime.Remoting.Channels.ExclusiveTcpListener.Start (Boolean exclusiveAddressUse) at System.Runtime.Remoting.Channels.Tcp.TcpServerChannel.StartListening (Object data) at System.Runtime.Remoting.Channels.Tcp.TcpServerChannel.SetupChannel() at System.Runtime.Remoting.Channels.Tcp.TcpServerChannel..ctor (IDictionary properties, IServerChannelSinkProvider sinkProvider, IAuthorizeRemotingConnection authorizeCallback) at System.Runtime.Remoting.Channels.Tcp.TcpChannel..ctor (IDictionary properties, IClientChannelSinkProvider clientSinkProvider, IServerChannelSinkProvider serverSinkProvider) --- End of inner exception stack trace --- at System.RuntimeMethodHandle._InvokeConstructor(Object[] args, SignatureStruct& signature, IntPtr declaringType) at System.RuntimeMethodHandle.InvokeConstructor(Object[] args, SignatureStruct signature, RuntimeTypeHandle declaringType) at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object [] activationAttributes) at System.Runtime.Remoting.RemotingConfigHandler.CreateChannelFromConfigEntry (ChannelEntry entry) at System.Runtime.Remoting.RemotingConfigHandler.ConfigureChannels (RemotingXmlConfigFileData configData, Boolean ensureSecurity) at System.Runtime.Remoting.RemotingConfigHandler.ConfigureRemoting (RemotingXmlConfigFileData configData, Boolean ensureSecurity)'. ---------- System.Runtime.Remoting.RemotingException: Remoting configuration failed with the exception 'System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Net.Sockets.SocketException: Only one usage of each socket address (protocol/network address/port) is normally permitted at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.Bind(EndPoint localEP) at System.Net.Sockets.TcpListener.Start(Int32 backlog) at System.Net.Sockets.TcpListener.Start() at System.Runtime.Remoting.Channels.ExclusiveTcpListener.Start (Boolean exclusiveAddressUse) at System.Runtime.Remoting.Channels.Tcp.TcpServerChannel.StartListening (Object data) at System.Runtime.Remoting.Channels.Tcp.TcpServerChannel.SetupChannel() at System.Runtime.Remoting.Channels.Tcp.TcpServerChannel..ctor (IDictionary properties, IServerChannelSinkProvider sinkProvider, IAuthorizeRemotingConnection authorizeCallback) at System.Runtime.Remoting.Channels.Tcp.TcpChannel..ctor (IDictionary properties, IClientChannelSinkProvider clientSinkProvider, IServerChannelSinkProvider serverSinkProvider) --- End of inner exception stack trace --- at System.RuntimeMethodHandle._InvokeConstructor(Object[] args, SignatureStruct& signature, IntPtr declaringType) at System.RuntimeMethodHandle.InvokeConstructor(Object[] args, SignatureStruct signature, RuntimeTypeHandle declaringType) at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object [] activationAttributes) at System.Runtime.Remoting.RemotingConfigHandler.CreateChannelFromConfigEntry (ChannelEntry entry) at System.Runtime.Remoting.RemotingConfigHandler.ConfigureChannels (RemotingXmlConfigFileData configData, Boolean ensureSecurity) at System.Runtime.Remoting.RemotingConfigHandler.ConfigureRemoting (RemotingXmlConfigFileData configData, Boolean ensureSecurity)'. at System.Runtime.Remoting.RemotingConfigHandler.ConfigureRemoting (RemotingXmlConfigFileData configData, Boolean ensureSecurity) at System.Runtime.Remoting.RemotingConfigHandler.DoConfiguration (String filename, Boolean ensureSecurity) at System.Runtime.Remoting.RemotingConfiguration.Configure(String filename, Boolean ensureSecurity) at ThoughtWorks.CruiseControl.Core.CruiseServerFactory.Create (Boolean remote, String configFile) at ThoughtWorks.CruiseControl.Core.ConsoleRunner.LaunchServer() at ThoughtWorks.CruiseControl.Core.ConsoleRunner.Run() at ThoughtWorks.CruiseControl.Console.ConsoleMain.Main(String[] args) ---------- Any ideas on either of my problems? Much appreciated. -- Adam Dickinson
