Free cookie consent management tool by TermsFeed Policy Generator

Opened 11 years ago

Closed 11 years ago

#1990 closed defect (done)

The serialized DefaultComparer from Mono has the wrong format

Reported by: ascheibe Owned by: epitzer
Priority: medium Milestone: HeuristicLab 3.3.8
Component: Persistence Version: 3.3.8
Keywords: Cc: sforsten@heuristiclab.com

Description (last modified by ascheibe)

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.EqualityComparer`1+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 the TypeName can't parse correctly (the generic type arguments are missing).

Change History (10)

comment:1 Changed 11 years ago by ascheibe

  • Description modified (diff)

comment:2 Changed 11 years ago by epitzer

  • Status changed from new to accepted

comment:3 Changed 11 years ago by epitzer

r9005 Enable correct parsing of generics and nested classes.

comment:4 Changed 11 years ago by epitzer

  • Owner changed from epitzer to ascheibe
  • Status changed from accepted to reviewing

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

comment:5 Changed 11 years ago by ascheibe

  • Owner changed from ascheibe to epitzer
  • Status changed from reviewing to readytorelease

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!

comment:6 Changed 11 years ago by ascheibe

  • Owner changed from epitzer to ascheibe
  • Status changed from readytorelease to assigned

comment:7 Changed 11 years ago by ascheibe

  • Cc sforsten@heuristiclab.com added
  • Owner changed from ascheibe to epitzer

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.<>cDisplayClass2.<stepButton_Click>b0(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)

Version 0, edited 11 years ago by ascheibe (next)

comment:8 Changed 11 years ago by ascheibe

  • Owner changed from epitzer to ascheibe
  • Status changed from assigned to reviewing

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

comment:9 Changed 11 years ago by ascheibe

  • Owner changed from ascheibe to epitzer
  • Status changed from reviewing to readytorelease

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

comment:10 Changed 11 years ago by swagner

  • Resolution set to done
  • Status changed from readytorelease to closed
  • Version changed from 3.3.7 to 3.3.8
Note: See TracTickets for help on using tickets.