heal-research / HeuristicLab

HeuristicLab - An environment for heuristic and evolutionary optimization
https://dev.heuristiclab.com
GNU General Public License v3.0
34 stars 16 forks source link

The serialized DefaultComparer from Mono has the wrong format #1990

Closed HeuristicLab-Trac-Bot closed 11 years ago

HeuristicLab-Trac-Bot commented 11 years ago

Issue migrated from trac ticket # 1990

milestone: HeuristicLab 3.3.8 | component: Persistence | priority: medium | resolution: done

2012-12-03 14:41:13: @Shabbafru created the issue


Mono has a type DefaultComparer which inherits from EqualityComparer<T>. The serialized format of this type is e.g. TYPE id="56" typeName= "System.Collections.Generic.EqualityComparer1+DefaultComparer[[HeuristicLab.Optimization.ICrossover, HeuristicLab.Optimization-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" serializer="HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableSerializer, HeuristicLab.Persistence-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" which theTypeName` can't parse correctly (the generic type arguments are missing).

HeuristicLab-Trac-Bot commented 11 years ago

2012-12-03 14:42:54: @Shabbafru edited the issue description

HeuristicLab-Trac-Bot commented 11 years ago

2012-12-03 14:47:16: @epitzer changed status from new to accepted

HeuristicLab-Trac-Bot commented 11 years ago

2012-12-06 12:08:05: @epitzer commented


r9005 Enable correct parsing of generics and nested classes.

HeuristicLab-Trac-Bot commented 11 years ago

2012-12-06 12:10:21: @epitzer changed status from accepted to reviewing

HeuristicLab-Trac-Bot commented 11 years ago

2012-12-06 12:10:21: @epitzer changed owner from @epitzer to @Shabbafru

HeuristicLab-Trac-Bot commented 11 years ago

2012-12-06 12:10:21: @epitzer commented


Please test again. Note that you might have to save the file again, first.

HeuristicLab-Trac-Bot commented 11 years ago

2012-12-10 10:07:11: @Shabbafru changed status from reviewing to readytorelease

HeuristicLab-Trac-Bot commented 11 years ago

2012-12-10 10:07:11: @Shabbafru changed owner from @Shabbafru to @epitzer

HeuristicLab-Trac-Bot commented 11 years ago

2012-12-10 10:07:11: @Shabbafru commented


I have implemented loading of HL files saved with Mono on Windows in r9014 and r9015. It works now with the changes you made in r9005. So thanks very much!

HeuristicLab-Trac-Bot commented 11 years ago

2012-12-10 13:22:44: @Shabbafru changed status from readytorelease to assigned

HeuristicLab-Trac-Bot commented 11 years ago

2012-12-10 13:22:44: @Shabbafru changed owner from @epitzer to @Shabbafru

HeuristicLab-Trac-Bot commented 11 years ago

2012-12-10 13:26:46: @Shabbafru changed owner from @Shabbafru to @epitzer

HeuristicLab-Trac-Bot commented 11 years ago

2012-12-10 13:26:46: @Shabbafru commented


sforsten just told me about a problem which could be related to the changes that you have made. If you open the regression sample and use as engine the Debug Engine and click on Step, the following exception is thrown:

HeuristicLab.Persistence.Auxiliary.ParseError: Could not parse typename: expected "OpenBracket" found ""HeuristicLab"" "HeuristicLab.Parameters.ValueLookupParameter`1[====>H<====HeuristicLab.Data.BoolValue] 
   at System.Windows.Forms.Control.EndInvoke(IAsyncResult asyncResult)
   at HeuristicLab.MainForm.WindowsForms.AsynchronousContentView.Invoke(Delegate method, Object[] args) in c:\dev\trunk\sources\HeuristicLab.MainForm.WindowsForms\3.3\Views\AsynchronousContentView.cs:line 56
   at HeuristicLab.DebugEngine.DebugEngineView.Content_ExecutionStateChanged(Object sender, EventArgs e) in c:\dev\trunk\sources\HeuristicLab.DebugEngine.Views\3.3\DebugEngineView.cs:line 105
   at HeuristicLab.Core.Executable.OnExecutionStateChanged() in c:\dev\trunk\sources\HeuristicLab.Core\3.3\Executable.cs:line 100
   at HeuristicLab.Core.Executable.set_ExecutionState(ExecutionState value) in c:\dev\trunk\sources\HeuristicLab.Core\3.3\Executable.cs:line 51
   at HeuristicLab.Core.Executable.OnPaused() in c:\dev\trunk\sources\HeuristicLab.Core\3.3\Executable.cs:line 121
   at HeuristicLab.DebugEngine.DebugEngine.OnPaused() in c:\dev\trunk\sources\HeuristicLab.DebugEngine\3.3\DebugEngine.cs:line 215
   at HeuristicLab.DebugEngine.DebugEngine.Step(Boolean skipStackOperations) in c:\dev\trunk\sources\HeuristicLab.DebugEngine\3.3\DebugEngine.cs:line 173
   at HeuristicLab.DebugEngine.DebugEngineView.<>c__DisplayClass2.<stepButton_Click>b__0(Object s, DoWorkEventArgs a) in c:\dev\trunk\sources\HeuristicLab.DebugEngine.Views\3.3\DebugEngineView.cs:line 130
   at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
HeuristicLab-Trac-Bot commented 11 years ago

2012-12-10 13:26:46: @Shabbafru

HeuristicLab-Trac-Bot commented 11 years ago

2012-12-10 14:33:13: @Shabbafru changed status from assigned to reviewing

HeuristicLab-Trac-Bot commented 11 years ago

2012-12-10 14:33:13: @Shabbafru changed owner from @epitzer to @Shabbafru

HeuristicLab-Trac-Bot commented 11 years ago

2012-12-10 14:33:13: @Shabbafru commented


r9018 fixed crash in the debug engine: use the FullName of a type instead of ToString

HeuristicLab-Trac-Bot commented 11 years ago

2012-12-10 14:35:45: @Shabbafru changed status from reviewing to readytorelease

HeuristicLab-Trac-Bot commented 11 years ago

2012-12-10 14:35:45: @Shabbafru changed owner from @Shabbafru to @epitzer

HeuristicLab-Trac-Bot commented 11 years ago

2012-12-10 14:35:45: @Shabbafru commented


I'm setting the ticket immediately to readytorelease as the bugfix of r9018 has already been discussed with and approved by epitzer.

HeuristicLab-Trac-Bot commented 11 years ago

2013-05-10 01:50:16: @s-wagner changed status from readytorelease to closed

HeuristicLab-Trac-Bot commented 11 years ago

2013-05-10 01:50:16: @s-wagner removed resolution