YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
24 stars 8 forks source link

Feather: "Index outside the bounds of the array" error logged when parsing the attached project #1953

Open ezekiel-hls opened 1 year ago

ezekiel-hls commented 1 year ago

Description

Feather is not working on my end and feather messages is empty. Feather tooltip doesn't show and I am getting an error message pasted below when trying to turn feather off and on again. This persist on both Mac and Windows IDE.

Error in FeatherProject.Parse: System.AggregateException: One or more errors occurred. (Index was outside the bounds of the array.) ---> System.IndexOutOfRangeException: Index was outside the bounds of the array. at OddlySpecific.Feather.Rule.Compiler.GmlCompiler.ValidateLegalParameterArgumentTypesMatch(GmlCompositeType paramType, GmlType argType, Expression argExpr, Boolean isUndefinable) at OddlySpecific.Feather.Rule.Compiler.GmlCompiler.Visit(CallExpression expression) at OddlySpecific.Feather.Rule.Compiler.GmlCompiler.Visit(NewExpression expression) at OddlySpecific.Feather.GML.Parser.Expressions.Statements.NewExpression.Accept[T](IExpressionVisitor1 visitor) at OddlySpecific.Feather.Rule.Compiler.GmlCompiler.AcceptVarType(Expression expr, Boolean allowNarrowing) at OddlySpecific.Feather.Rule.Compiler.GmlCompiler.Visit(ArrayLiteralExpression expression) at OddlySpecific.Feather.GML.Parser.Expressions.ArrayLiteralExpression.Accept[T](IExpressionVisitor1 visitor) at OddlySpecific.Feather.Rule.Compiler.GmlCompiler.AcceptVar(Expression expr, Boolean allowNarrowing) at OddlySpecific.Feather.Rule.Compiler.GmlCompiler.Visit(BinaryOperatorExpression expression) at OddlySpecific.Feather.Rule.Compiler.GmlCompiler.AcceptVarType(Expression expr, Boolean allowNarrowing) at OddlySpecific.Feather.Rule.Compiler.GmlCompiler.Visit(BlockExpression expression) at OddlySpecific.Feather.GML.Parser.Expressions.BlockExpression.Accept[T](IExpressionVisitor1 visitor) at OddlySpecific.Feather.Rule.Compiler.GmlCompiler.AcceptVarType(Expression expr, Boolean allowNarrowing) at OddlySpecific.Feather.Rule.Compiler.GmlCompiler.Visit(FunctionExpression expression) at OddlySpecific.Feather.ResourceContext.Parse(Boolean mandatory) at OddlySpecific.Feather.FeatherProject.Parse(Boolean mandatory) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) --- End of inner exception stack trace --- at OddlySpecific.Feather.FeatherProject.<>c.<FromCurrentProject>b__60_1(Task t) at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) --- End of stack trace from previous location --- at OddlySpecific.Feather.FeatherProject.FromCurrentProject() at OddlySpecific.Feather.FeatherModule.OpenFeatherProject() at OddlySpecific.Feather.FeatherModule.ReloadFeatherProject() at OddlySpecific.Feather.FeatherModule.FeatherSettings_OnChange(Object sender, IReadOnlyList1 changed)

Steps To Reproduce

  1. Disable Feather
  2. Re-enable Feather
  3. Error message pops up in Output console

77b77019-3e22-44f0-8cb0-245bcaabaeb2

YYDan commented 1 year ago

@ezekiel-hls Can you attach/link us to the project which shows this issue, please?

Obviously, your steps above work just fine for the overwhelming majority of users and projects, so the issue is not as simple as that.

ezekiel-hls commented 1 year ago

@YYDan Here's a link to the project https://drive.google.com/drive/folders/193Q7utfxSdyPXbkD2ZxjlNFazCm-u0ch