Opened 4 years ago

Closed 4 years ago

#2443 closed defect (rejected)

StackOverflowException when using "large" MaximumTreeDepth

Reported by: pfleck Owned by: mkommend
Priority: medium Milestone:
Component: Encodings.SymbolicExpressionTreeEncoding Version: 3.3.12
Keywords: Cc:

Description

When creating a new SymbolicRegression/Classification/...Problem and setting the MaximumSymbolicExpressionTreeDepth to a "large" value (eg 1000), HL crashes with a StackOverflowException when trying to run any algorithm with it.

The exception occurs somewhere when calling GetAllowedChildSymbols (SymbolicExpressionGrammarBase.cs:325) and GetMaximumExpressionLength(SymbolicExpressionGrammarBase.cs:450).

A few months ago, there was no problem using such "large" tree-depths so I guess that some recent changes are causing this.

Change History (1)

comment:1 Changed 4 years ago by mkommend

  • Milestone HeuristicLab 3.3.13 deleted
  • Resolution set to rejected
  • Status changed from new to closed

I have tested this issue and can confirm that a tree depth limit of 1.000 can lead to stack overflows when running debug builds. However, with release builds I have successfully executed runs with a length limit of 10.000 and 1.000 depth limit using the PTC2. In addition a depth limit of 1.000 means for binary trees a maximum tree length of 21000 ~ 10300 which IMHO is pretty unrealistic (2100 is still 1030).

Note: See TracTickets for help on using tickets.