1.0 admin GUI exception on adding trigger

Oct 15, 2007 at 9:22 PM
I have just upgraded to 1.0 (thanks for the fixes and additions, guys!) as per the upgrade instructions. Attempting to add a CI trigger for any of my team build types results in an exception and the addition fails. I have tried all three trigger types with the same result, and the trigger path doesn't seem to matter. No event log entries appear from the service in association with the exception. No trace output is written by the service, either. The exception details from the dialog displayed by the admin GUI are as follows:

System.ServiceModel.FaultException: The server was unable to process the request due to an internal error. For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the <serviceDebug> configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework 3.0 SDK documentation and inspect the server trace logs.

Server stack trace:
at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)
at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at 0:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Callista.BuildLab.Core.ITriggerAdministration.AddTriggerToBuildType(String projectName, String buildType, TriggerType type, String data, Dictionary`2 parameters)
at Callista.BuildLab.AdminClient.TriggerForm.OK_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


                            • Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Callista.BuildLab.AdminClient
Assembly Version: 1.0.2843.23792
Win32 Version: 1.0.2843.23792
CodeBase: file:///C:/Program%20Files/Callista/TfsBuildLab/Administration/Callista.BuildLab.AdminClient.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GACMSIL/System.Windows.Forms/2.0.0.0_b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GACMSIL/System/2.0.0.0_b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GACMSIL/System.Drawing/2.0.0.0_b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Callista.BuildLab.Core
Assembly Version: 1.0.2843.23788
Win32 Version: 1.0.2843.23788
CodeBase: file:///C:/Program%20Files/Callista/TfsBuildLab/Administration/Callista.BuildLab.Core.DLL
----------------------------------------
Microsoft.ReportViewer.WinForms
Assembly Version: 8.0.0.0
Win32 Version: 8.0.50727.762
CodeBase: file:///C:/Program%20Files/Callista/TfsBuildLab/Administration/Microsoft.ReportViewer.WinForms.DLL
----------------------------------------
Microsoft.ReportViewer.Common
Assembly Version: 8.0.0.0
Win32 Version: 8.0.50727.762
CodeBase: file:///C:/Program%20Files/Callista/TfsBuildLab/Administration/Microsoft.ReportViewer.Common.DLL
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GACMSIL/System.Configuration/2.0.0.0_b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GACMSIL/System.Xml/2.0.0.0_b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Web.Services
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GACMSIL/System.Web.Services/2.0.0.0_b03f5f7f11d50a3a/System.Web.Services.dll
----------------------------------------
System.ServiceModel
Assembly Version: 3.0.0.0
Win32 Version: 3.0.4506.30 (WAPRTM.004506-0030)
CodeBase: file:///C:/WINDOWS/assembly/GACMSIL/System.ServiceModel/3.0.0.0_b77a5c561934e089/System.ServiceModel.dll
----------------------------------------
System.Runtime.Serialization
Assembly Version: 3.0.0.0
Win32 Version: 3.0.4506.30 (WAPRTM.004506-0030)
CodeBase: file:///C:/WINDOWS/assembly/GACMSIL/System.Runtime.Serialization/3.0.0.0_b77a5c561934e089/System.Runtime.Serialization.dll
----------------------------------------
SMDiagnostics
Assembly Version: 3.0.0.0
Win32 Version: 3.0.4506.30 (WAPRTM.004506-0030)
CodeBase: file:///C:/WINDOWS/assembly/GACMSIL/SMDiagnostics/3.0.0.0_b77a5c561934e089/SMDiagnostics.dll
----------------------------------------
Callista.BuildLab.Core.Model
Assembly Version: 1.0.2843.23786
Win32 Version: 1.0.2843.23786
CodeBase: file:///C:/Program%20Files/Callista/TfsBuildLab/Administration/Callista.BuildLab.Core.Model.DLL
----------------------------------------
kuqncyfd
Assembly Version: 8.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GACMSIL/System/2.0.0.0_b77a5c561934e089/System.dll
----------------------------------------
System.Web
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.210 (QFE.050727-2100)
CodeBase: file:///C:/WINDOWS/assembly/GAC32/System.Web/2.0.0.0_b03f5f7f11d50a3a/System.Web.dll
----------------------------------------

Any ideas?
Coordinator
Oct 16, 2007 at 9:25 AM
It looks like we still need to be more vigil with the logging :) ... this piece of code has no dependencies to TFS so it must be some sort of database error, can you send med the database file?

My guess is there is some problem with the upgrade scripts, I'll add some more logging to the code and send you a replacement dll for you service tonight.

/Peter
Oct 16, 2007 at 9:17 PM
While I would hate to short-circuit your diagnostic process, once you mentioned that it could be a problem with the upgrade scripts I nuked my installed database and server and installed fresh as I needed to get this thing up and running and had no previous TFSBuildLab data worth preserving. The service is running happily now, I've added my desired triggers, performed check-ins to trigger the appropriate builds, and am now just monitoring things to make sure that everything is working as expected.

I suspect you are right that there is something up with the upgrade scripts, even though they ran successfully on my installation. Perhaps it might have something to do with the fact that my database was virginal before the upgrade? I would hope not, but its the only thing that comes to mind given that there was no data for the upgrade scripts to get tripped up on.
Oct 16, 2007 at 9:20 PM
PS - I really would recommend beefing up the logging. Any time one of your WCF services throws, you should catch at the service boundary, do some logging, and then rethrow or generate a SOAP Fault as you desire. The service and GUI bits also look like they could do with some contextual information in their exceptions, so that their various stack traces can point users towards specific build types, properties, triggers, what have you.
Coordinator
Oct 16, 2007 at 10:04 PM
We are on it, have alot going on at the moment though so I'm not sure when it will be done... That is if you don't feel up to contribute abit ;)

/Peter
Oct 16, 2007 at 11:03 PM
I wish I could, really I do. It's a pretty cool tool. At the moment, however, I have way too little time and way too long a laundry list of projects and project ideas I never seem to get to. :(

In any case, the deployment of TFSBuildLab here in my environment has already made more than a few people happy, so thanks again for your efforts on this project!