[WARN] Bug fix release of pureMD5 (Was: pureMD5)

Cafe, Daniel Larsson noticed a correctness issue with the pureMD5 package. This issue would affect you if you built the value incrementally via the 'updateMD5' function (vs just using 'md5') and didn't provide 512 bit long bytestrings (an MD5 block of operation). As you can probably tell, I didn't invest enough into the non-performance aspects of pureMD5. Faced with actual users ;-), I have released version 0.2.0 which has the bug fix, a new API (type prevention from re-finalizing a digest), and a reasonable set of quickchecks (covering Show / Binary instances, known answer and incremented hashing). Oh, also the module name has changed to place it inline with 'Crypto' package naming while not colliding. Sorry if this causes anyone headaches. Daniel, Good catch, I hope this didn't consume much of your time. Thanks a bunch! TomMD On Fri, 2008-06-13 at 04:14 +0200, Daniel Larsson wrote:
Hi Thomas,
I was fiddling around with your pureMD5 package, and encountered some problems with using the md5Update/md5Finalize sequence. I tried to calculate the md5 of some scattered data, but it kept returning the wrong values. It seems that each md5Update must supply an exact blockSize number of bits, since the mdLeftOver part isn't taken into account in subsequent calls to md5Update.
I wrote a small patch, and a simple QuickCheck property, to support calculating md5 of scattered data, attached to this mail. Hopefully I didn't mess up something...
-- Daniel

Thomas M. DuBuisson wrote:
As you can probably tell, I didn't invest enough into the non-performance aspects of pureMD5. Faced with actual users ;-), I have released version 0.2.0 which has the bug fix, a new API (type prevention from re-finalizing a digest), and a reasonable set of quickchecks (covering Show / Binary instances, known answer and incremented hashing). Oh, also the module name has changed to place it inline with 'Crypto' package naming while not colliding.
there is a small bug in pureMD5.cabal the line hs-source-dirs: Data,Test should be hs-source-dirs: . otherwise the sources are not found (at least on my linux box) Cheers, Uwe

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.

mfeathers:
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.
12 tuples are really really unusual. It sounds like perhaps you should be using a custom data type here. data Aircraft = Aircraft { wayPoints = currentWayPoints , groundSpeeds = ... , headings = ... , .... etc ... }

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

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

I win, almost ... 13:13:18 <dons> dolio: yeah, it was ... almost ... an April 1 style post :) And yes, this was truly shocking on a number of levels. However, we have people doing a lot of weird things with Haskell these days, so its not as absurd that someone would be hacking up a zip12 for an air traffic control system on some MS platform, with SQL in the backend, as it might have been a few years ago :) mfeathers:
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
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Wow. Where did you come up with the stack trace? That's...impressive.
On Sun, Jul 6, 2008 at 5:07 PM, Don Stewart
I win, almost ...
13:13:18 <dons> dolio: yeah, it was ... almost ... an April 1 style post
:)
And yes, this was truly shocking on a number of levels. However, we have people doing a lot of weird things with Haskell these days, so its not as absurd that someone would be hacking up a zip12 for an air traffic control system on some MS platform, with SQL in the backend, as it might have been a few years ago :)
mfeathers:
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
_______________________________________________ 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

Andrew Wagner wrote:
Wow. Where did you come up with the stack trace? That's...impressive.
Pulled it from a blog. I was actually looking for a creepy VB4 or VB5 stack trace I saw years ago that ripped through their dynamic type resolution layer. Now that would've been funny. :-) Michael
On Sun, Jul 6, 2008 at 5:07 PM, Don Stewart
wrote: I win, almost ...
13:13:18 <dons> dolio: yeah, it was ... almost ... an April 1 style post
:)
And yes, this was truly shocking on a number of levels. However, we have people doing a lot of weird things with Haskell these days, so its not as absurd that someone would be hacking up a zip12 for an air traffic control system on some MS platform, with SQL in the backend, as it might have been a few years ago :)
mfeathers:
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
_______________________________________________ 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

Don Stewart wrote:
I win, almost ...
13:13:18 <dons> dolio: yeah, it was ... almost ... an April 1 style post
:)
And yes, this was truly shocking on a number of levels. However, we have people doing a lot of weird things with Haskell these days, so its not as absurd that someone would be hacking up a zip12 for an air traffic control system on some MS platform, with SQL in the backend, as it might have been a few years ago :)
:-) Was that IRC? Oh boy, now I have a reputation. Michael
mfeathers:
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
_______________________________________________ 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

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 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
Hi Michael, Sorry to distract from your issue, but I note that (nub . nub) can be replaced with just 'nub' since the function nub is idempotent (f . f == f). <dibblego> @check \x -> (nub . nub) x == nub x -- is nub idempotent? <lambdabot> OK, passed 500 tests. - -- Tony Morris http://tmorris.net/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFIcS9LmnpgrYe6r60RAiDOAKCJlDaqNd5ssgxrUrrHee75WGzhbgCfftdn 70+4isXh4zaoYly0da2Gdk8= =ryfF -----END PGP SIGNATURE-----

On 2008 Jul 6, at 16:47, Tony Morris wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Michael Feathers wrote:
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
Hi Michael, Sorry to distract from your issue, but I note that (nub . nub) can be replaced with just 'nub' since the function nub is idempotent (f . f == f).
Or even better, with a custom nub: in order to handle some special cases the Prelude nub is rather inefficient. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH
participants (8)
-
Andrew Wagner
-
Brandon S. Allbery KF8NH
-
Don Stewart
-
Michael Feathers
-
Paul Visschers
-
Thomas M. DuBuisson
-
Tony Morris
-
Uwe Schmidt