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: