
Sorry guys. I was just bored on a Sunday afternoon so I thought I'd type up a little joke. I thought to myself "Gee, how outrageous can I make it?" 1) Using and debugging a zip12 function. 2) That fails only on 'take 5' (Brubeck fans take note) 3) Has some absurd arguments like (nub . nub) 4) Is embedded in an air traffic control system 5) Is written in a Microsoft variant of Haskell called H# 6) Silently makes SQL calls when evaluating a pure function 7) Yields an mile long stack trace Sorry all. Boredom made me do it, Michael Paul Visschers wrote:
You're zipping 12 lists here, so how about testing each list individually? This will narrow down the problem considerably.
Michael Feathers wrote:
I have some code that looks like this and I'm having trouble with it:
zip12 ((tails . nub) flightPaths) wayPoints etopsPackets (hd geoCaches) groundSpeeds headings (map windShift headings) (regulations !! 2) (foldr (\|/) (tail pathDistances)) [ghy x | x <- [1..], full x] (nub . nub) arrivalSchedule
The domain is air traffic control and I need to generate 12-tuples for aircraft that are within a particular radius of the tower.
When I evaluate that expression with 'take 4' it works fine. When I evaluate it with 'take 6' it works as well. But, when I evaluate it with 'take 5' I get the following runtime error from H# in Visual Studio (it runs fine on the command line). This is particularly odd because I'm not using Sql.
The type initializer for 'System.Data.SqlClient.SqlConnection' threw an exception. Exception (TypeInitializationException): Source="System.Data"; Target=null; Tag=null; TypeName="System.Data.SqlClient.SqlConnection"; Message = "The type initializer for 'System.Data.SqlClient.SqlConnection' threw an exception." InnerException (TypeInitializationException): Source="System.Data"; Target=null; Tag=null; Message = "The type initializer for 'System.Data.SqlClient.SqlConnectionFactory' threw an exception." StackTrace = " at System.Data.SqlClient.SqlConnection..cctor()" InnerException (TypeInitializationException): Source="System.Data"; Target=null; Tag=null; Message = "The type initializer for 'System.Data.SqlClient.SqlPerformanceCounters' threw an exception." StackTrace = " at System.Data.SqlClient.SqlConnectionFactory..ctor() at System.Data.SqlClient.SqlConnectionFactory..cctor()" InnerException (ConfigurationErrorsException): Source="System.Configuration"; Target=null; Tag=null; Line=21; Message = "The value of the property 'traceOutputOptions' cannot be parsed. The error is: The enumeration value must be one of the following: None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack. (C:\Documents and Settings\Paey\Desktop\Projects\RPMC\bin\Debug\RPMC.vshost.exe.config line 21)" StackTrace = " at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult) at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean ch... (truncated) ...olean checkPermission) at System.Configuration.BaseConfigurationRecord.GetSection(String configKey) at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String sectionName) at System.Configuration.ConfigurationManager.GetSection(String sectionName) at System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName) at System.Diagnostics.DiagnosticsConfiguration.GetConfigSection() at System.Diagnostics.DiagnosticsConfiguration.Initialize() at System.Diagnostics.Switch.InitializeConfigSettings() at System.Diagnostics.Switch.InitializeWithStatus() at System.Diagnostics.Switch.get_SwitchSetting() at System.Diagnostics.TraceSwitch.get_Level() at System.Data.ProviderBase.DbConnectionPoolCounters..ctor(String categoryName, String categoryHelp) at System.Data.SqlClient.SqlPerformanceCounters..ctor() at System.Data.SqlClient.SqlPerformanceCounters..cctor()" BareMessage = "The value of the property 'traceOutputOptions' cannot be parsed. The error is: The enumeration value must be one of the following: None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack." Filename = "C:\Documents and Settings\Pley\Desktop\Projects\RPMC\bin\Debug\RPMC.vshost.exe.config" Errors (ConfigurationException[]): Length=1; Rank=1; Count=1; #0 (ConfigurationErrorsException): Source=null; Target=null; Tag=null; StackTrace=null; BareMessage=(->BareMessage); Filename=(->Filename); Line=21; Message = "The value of the property 'traceOutputOptions' cannot be parsed. The error is: The enumeration value must be one of the following: None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack. (C:\Documents and Settings\Pley\Desktop\Projects\RPMC\bin\Debug\RPMC.vshost.exe.config line 21)" Errors (ConfigurationException[]): Length=1; Rank=1; Count=1; #0 (ConfigurationErrorsException): Source=null; Target=null; Tag=null; StackTrace=null; BareMessage=(->BareMessage); Filename=(->Filename); Line=21; Message = "The value of the property 'traceOutputOptions' cannot be parsed. The error is: The enumeration value must be one of the following: None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack. (C:\Documents and Settings\Pley\Desktop\Projects\RPMC\bin\Debug\RPMC.vshost.exe.config line 21)" Errors (ConfigurationException[]): Length=1; Rank=1; Count=1; #0 (ConfigurationErrorsException): Source=null; Target=null; Tag=null; StackTrace=null; BareMessage=(->BareMessage); Filename=(->Filename); Line=21; Message = "The value of the property 'traceOutputOptions' cannot be parsed. The error is: The enumeration value must be one of the following: None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack. (C:\Documents and Settings\Pey\Desktop\Projects\RPMC\bin\Debug\RPMC.vshost.exe.config line 21)" Errors (ConfigurationException[]): Length=1; Rank=1; Count=1; #0 (ConfigurationErrorsException): Source=null; Target=null; Tag=null; StackTrace=null; BareMessage=(->BareMessage); Filename=(->Filename); Line=21; Message = "The value of the property 'traceOutputOptions' cannot be parsed. The error is: The enumeration value must be one of the following: None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack. (C:\Documents and Settings\Pley\Desktop\Projects\RPMC\bin\Debug\RPMC.vshost.exe.config line 21)" Errors (ConfigurationException[]): Length=1; Rank=1; Count=1; #0 (ConfigurationErrorsException): Source=null; Target=null; Tag=null; StackTrace=null; BareMessage=(->BareMessage); Filename=(->Filename); Line=21; Message = "The value of the property 'traceOutputOptions' cannot be parsed. The error is: The enumeration value must be one of the following: None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack. (C:\Documents and Settings\Pley\Desktop\Projects\RPMC\bin\Debug\RPMC.vshost.exe.config line 21)" Errors (ConfigurationException[]): Length=1; Rank=1; Count=1; #0 (ConfigurationErrorsException): Source=null; Target=null; Tag=null; StackTrace=null; BareMessage=(->BareMessage); Filename=(->Filename); Line=21; Message "The value of the property 'traceOutputOptions' cannot be parsed. The error is: The enumeration value must be one of the following: None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack. (C:\Documents and Settings\Pley\Desktop\Projects\RPMC\bin\Debug\RPMC.vshost.exe.config line 21)" Errors (ConfigurationException[]): Length=1; Rank=1; Count=1; #0 (ConfigurationErrorsException): Source=null; Target=null; Tag=null; StackTrace=null; BareMessage=(->BareMessage); Filename=(->Filename); Line=21; Message = "The value of the property 'traceOutputOptions' cannot be parsed. The error is: The enumeration value must be one of the following: None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack. (C:\Documents and Settings\Pley\Desktop\Projects\RPMC\bin\Debug\RPMC.vshost.exe.config line 21)" Errors (ConfigurationException[]): Length=1; Rank=1; Count=1; #0 (ConfigurationErrorsException): Source=null; Target=null; Tag=null; StackTrace=null; BareMessage=(->BareMessage); Filename=(->Filename); Line=21; Message = "The value of the property 'traceOutputOptions' cannot be parsed. The error is: The enumeration value must be one of the following: None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack. (C:\Documents and Settings\Pley\Desktop\Projects\RPMC\bin\Debug\RPMC.vshost.exe.config line 21)" Errors (ConfigurationException[]): Length=1; Rank=1; Count=1; #0 = {System.Configuration.ConfigurationErrorsException: The value of the property 'traceOutputOptions' cannot be parsed. The error is: The enumeration value must be one of the following: None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack. (C:\Documents and Settings\Pley\Desktop\Projects\RPMC\bin\Debug\RPMC.vshost.exe.config line 21) ---> UJ.ExceptionManagement.Classes.EmsInnerException: (This is EmsInnerException helper object) --- End of inner exception stack trace ---} Values = System.Configuration.ConfigurationException[] Values = System.Configuration.ConfigurationException[] Values = System.Configuration.ConfigurationException[] Values = System.Configuration.ConfigurationException[] Values = System.Configuration.ConfigurationException[] Values = System.Configuration.ConfigurationException[] Values = System.Configuration.ConfigurationException[] Values = System.Configuration.ConfigurationException[] Values = System.Configuration.ConfigurationException[] TypeName = "System.Data.SqlClient.SqlPerformanceCounters" TypeName = "System.Data.SqlClient.SqlConnectionFactory" Environment: ThreadIdentity="" DateTime=["2008-06-27 13:02:08.709"] ThreadName=null WindowsIdentity="STRUSS\Pley" ThreadId="10" DomainName="RPMC.vshost.exe" OSVersion=["Microsoft Windows NT 5.1.2600 Service Pack 3"] MachineName="1LPPley" UserName="Pley" Remaining Stack Trace - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - at System.Data.SqlClient.SqlConnection..ctor() at System.Data.SqlClient.SqlConnection..ctor(String connectionString) at MicroFour.StrataFrame.Data.SqlDataSourceItem.CreateBlankDbConnection() at MicroFour.StrataFrame.Data.DbDataSourceItem.GetDataTable(DbCommand Command, OnChangeEventHandler CallBack) at MicroFour.StrataFrame.Data.SqlDataSourceItem.GetDataTable(DbCommand Command, OnChangeEventHandler CallBack) at MicroFour.StrataFrame.Data.DataLayer.GetDataTable(DbCommand Command, Boolean RegisterNotification) at MicroFour.StrataFrame.Business.BusinessLayer.FillDataTable(DbCommand CommandToExecute) at MicroFour.StrataFrame.Security.BusinessObjects.SFSUsersBO.FillByUserName(String UserName) at MicroFour.StrataFrame.Security.Login.AuthenticateUser(String Username, String Password, String Domain, SFSUsersBO& User) at MicroFour.StrataFrame.Security.Login.AttemptLogin(Object sender, EventArgs e) at RPMC.LoginForm.OnAttemptLogin() in C:\Documents and Settings\Pley\Desktop\Projects\RPMC\Forms\LoginForm.vb:line 30 at RPMC.LoginForm.cmdOk_Click(Object sender, EventArgs e) in C:\Documents and Settings\Pley\Desktop\Projects\RPMC\Forms\LoginForm.vb:line 285 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) Comments: EMS warning: maximum number of iterations reached when processing objects. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Now Playing: Clammbon - 246 http://youtube.com/watch?v=PO77bN8W1mA