Stack Overflow in 'Simplifying Code' phase

IDE: Fire
Version: 10.0.0.2617
Target: Android/iOS/OSX/Net
Description:

Updating old project. Project is a cross-platform library for a product with MacOS / iOS / Android / Windows clients. Project will not build due to apparent compiler bug.

Expected Behaviour:

Code compiles or we get a useful reason why not

Actual Behaviour:

Nasty stack overflow in the “Simplifying Code” phase. Begins like this:

Stacktrace:
at <0xffffffff>
at (wrapper alloc) object.AllocVector (intptr,intptr) <0x001b2>
<…>
at System.Collections.Immutable.ImmutableArray`1/Builder<T_REF>…ctor (int) [0x00018] in <2257bd9deb0541b693a3701083404f11>:0
at System.Collections.Immutable.ImmutableArray.CreateBuilder<T_REF> (int) [0x00000] in <2257bd9deb0541b693a3701083404f11>:0
at RemObjects.Oxygene.Code.Compiler.CodeSimplifier.VisitBeginStatement (RemObjects.Oxygene.Code.BeginStatement) [0x002b6] in :0
at RemObjects.Oxygene.Code.BaseVisitor.VisitStatement (RemObjects.Oxygene.Code.Statement) [0x00356] in :0
at RemObjects.Oxygene.Code.Compiler.CodeSimplifier.VisitStatement (RemObjects.Oxygene.Code.Statement) [0x00012] in :0
at RemObjects.Oxygene.Code.Compiler.CodeSimplifier.VisitCastExpression (RemObjects.Oxygene.Code.CastExpression) [0x00378] in :0
at RemObjects.Oxygene.Code.BaseVisitor.VisitExpression (RemObjects.Oxygene.Code.Expression) [0x0085f] in :0
at RemObjects.Oxygene.Code.Compiler.CodeSimplifier.VisitExpression (RemObjects.Oxygene.Code.Expression) [0x000a4] in :0
at RemObjects.Oxygene.Code.BaseVisitor.VisitCastExpression (RemObjects.Oxygene.Code.CastExpression) [0x00014] in :0
at RemObjects.Oxygene.Code.Compiler.CodeSimplifier.VisitCastExpression (RemObjects.Oxygene.Code.CastExpression) [0x00386] in :0
at RemObjects.Oxygene.Code.BaseVisitor.VisitExpression (RemObjects.Oxygene.Code.Expression) [0x0085f] in :0
at RemObjects.Oxygene.Code.Compiler.CodeSimplifier.VisitExpression (RemObjects.Oxygene.Code.Expression) [0x000a4] in :0
at RemObjects.Oxygene.Code.BaseVisitor.VisitCastExpression (RemObjects.Oxygene.Code.CastExpression) [0x00014] in :0
at RemObjects.Oxygene.Code.Compiler.CodeSimplifier.VisitCastExpression (RemObjects.Oxygene.Code.CastExpression) [0x00386] in :0
at RemObjects.Oxygene.Code.BaseVisitor.VisitExpression (RemObjects.Oxygene.Code.Expression) [0x0085f] in :0
at RemObjects.Oxygene.Code.Compiler.CodeSimplifier.VisitExpression (RemObjects.Oxygene.Code.Expression) [0x000a4] in :0
at RemObjects.Oxygene.Code.Compiler.CodeSimplifier.VisitAssignmentStatement (RemObjects.Oxygene.Code.AssignmentStatement) [0x00158] in :0
at RemObjects.Oxygene.Code.BaseVisitor.VisitStatement (RemObjects.Oxygene.Code.Statement) [0x00363] in :0
at RemObjects.Oxygene.Code.Compiler.CodeSimplifier.VisitStatement (RemObjects.Oxygene.Code.Statement) [0x00012] in :0
at RemObjects.Oxygene.Code.BaseVisitor.VisitIfStatement (RemObjects.Oxygene.Code.IfStatement) [0x00014] in :0
at RemObjects.Oxygene.Code.Compiler.CodeSimplifier.VisitIfStatement (RemObjects.Oxygene.Code.IfStatement) [0x0001c] in :0
at RemObjects.Oxygene.Code.BaseVisitor.VisitStatement (RemObjects.Oxygene.Code.Statement) [0x003a4] in :0
at RemObjects.Oxygene.Code.Compiler.CodeSimplifier.VisitStatement (RemObjects.Oxygene.Code.Statement) [0x00012] in :0
at RemObjects.Oxygene.Code.Compiler.CodeSimplifier.VisitBeginStatement (RemObjects.Oxygene.Code.BeginStatement) [0x002f3] in :0
at RemObjects.Oxygene.Code.BaseVisitor.VisitStatement (RemObjects.Oxygene.Code.Statement) [0x00356] in :0
at RemObjects.Oxygene.Code.Compiler.CodeSimplifier.VisitStatement (RemObjects.Oxygene.Code.Statement) [0x00012] in :0
at RemObjects.Oxygene.Code.Compiler.CodeSimplifier.VisitCastExpression (RemObjects.Oxygene.Code.CastExpression) [0x00378] in :0
at RemObjects.Oxygene.Code.BaseVisitor.VisitExpression (RemObjects.Oxygene.Code.Expression) [0x0085f] in :0
at RemObjects.Oxygene.Code.Compiler.CodeSimplifier.VisitExpression (RemObjects.Oxygene.Code.Expression) [0x000a4] in :0
at RemObjects.Oxygene.Code.BaseVisitor.VisitCastExpression (RemObjects.Oxygene.Code.CastExpression) [0x00014] in :0
at RemObjects.Oxygene.Code.Compiler.CodeSimplifier.VisitCastExpression (RemObjects.Oxygene.Code.CastExpression) [0x00386] in :0
at RemObjects.Oxygene.Code.BaseVisitor.VisitExpression (RemObjects.Oxygene.Code.Expression) [0x0085f] in :0
at RemObjects.Oxygene.Code.Compiler.CodeSimplifier.VisitExpression (RemObjects.Oxygene.Code.Expression) [0x000a4] in :0
at RemObjects.Oxygene.Code.BaseVisitor.VisitCastExpression (RemObjects.Oxygene.Code.CastExpression) [0x00014] in :0

…etc etc etc

Steps:

Do you have a testcase I can try? (you can also send it to support@, we’ll keep it private).

I wish I could isolate the fault so we could have it posted here for future ref, but I’ll have to send the whole project to support. Doing so. thx …

Thanks, logged as bugs://85897

bugs://85897 got closed with status fixed.