Can anyone say what this error is?
It's happening of some of my projects, which used to compile just fine. I can't find anything obvious in code.
Microsoft (R) AL Compiler version 0.12.15355
Copyright (C) Microsoft Corporation. All rights reserved
[Error - 9:04:36 PM] Please report this issue to https://github.com/microsoft/al/issues including information on how to reproduce it, if possible.
Processing of message 'al/createPackage' failed with error: 'Unexpected value 'String' of type 'Microsoft.Dynamics.Nav.CodeAnalysis.NavTypeKind''
StackTrace:
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.CodeGenerator.EmitJokerToTypeConversion(ExpressionSyntax expression, TypeSymbol type) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\CodeGenerator_Conversions.cs:line 515
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.CodeGenerator.EmitExpression(BoundExpression expr, Boolean suppressTarget, Boolean isStatement) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\CodeGenerator_Expressions.cs:line 59
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.CodeGenerator.EmitArgumentExpression(ParameterSymbol parameterSymbol, BoundExpression argumentExpression) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\CodeGenerator_Expressions.cs:line 572
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.CodeGenerator.EmitArguments(InvocationExpressionSyntax invocation, BoundCall call) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\CodeGenerator_Expressions.cs:line 406
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.CodeGenerator.EmitBuiltInMethodCall(BoundCall call) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\CodeGenerator_Expressions.cs:line 255
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.CodeGenerator.EmitExpression(BoundExpression expr, Boolean suppressTarget, Boolean isStatement) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\CodeGenerator_Expressions.cs:line 45
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitIfStatement(BoundIfStatement stmt) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 282
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitSingleStatement(ArrayBuilder`1 statementList, BoundStatement stmt) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 237
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitBlock(BoundBlock block) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 118
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitSingleStatement(ArrayBuilder`1 statementList, BoundStatement stmt) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 233
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitStatement(BoundStatement stmt) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 145
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitIfStatement(BoundIfStatement stmt) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 282
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitSingleStatement(ArrayBuilder`1 statementList, BoundStatement stmt) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 237
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitStatementList(BoundStatementList stmts) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 190
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitRepeatStatement(BoundRepeatStatement stmt) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 570
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitSingleStatement(ArrayBuilder`1 statementList, BoundStatement stmt) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 246
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitStatement(BoundStatement stmt) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 145
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitIfStatement(BoundIfStatement stmt) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 282
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitSingleStatement(ArrayBuilder`1 statementList, BoundStatement stmt) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 237
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitBlock(BoundBlock block) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 118
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitSingleStatement(ArrayBuilder`1 statementList, BoundStatement stmt) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 233
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitStatement(BoundStatement stmt) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 145
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitSingleStatement(ArrayBuilder`1 statementList, BoundStatement stmt) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 256
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitStatement(BoundStatement stmt) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 145
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitIfStatement(BoundIfStatement stmt) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 282
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitSingleStatement(ArrayBuilder`1 statementList, BoundStatement stmt) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 237
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitBlock(BoundBlock block) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator_Statements.cs:line 118
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitScopeRunMethod() in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator.cs:line 599
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.EmitScopeClass() in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator.cs:line 230
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.MethodCodeGenerator.Generate() in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\CodeGen\MethodCodeGenerator.cs:line 94
at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.CompileMethod(MethodSymbol methodSymbol) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 436
at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.CompileMembers(ContainerSymbol containingType) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 309
at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.CompileObject(ObjectTypeSymbol containingType) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 235
at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.<>c__DisplayClass17_0.<CompileObjectAsTask>b__0() in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 216
at Microsoft.Dynamics.Nav.CodeAnalysis.Utilities.UICultureUtilities.<>c__DisplayClass5_0.<WithCurrentUICulture>b__0() in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Utilities\UICultureUtilities.cs:line 152
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.WaitForWorkers() in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 161
at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.CompileMethodBodies(Compilation compilation, ModuleBuilder moduleBeingBuiltOpt, Boolean hasDeclarationErrors, DiagnosticBag diagnostics, Predicate`1 filterOpt, CancellationToken cancellationToken) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 145
at Microsoft.Dynamics.Nav.CodeAnalysis.Compilation.CompileImpl(ModuleBuilder moduleBuilder, Boolean emittingPdb, DiagnosticBag diagnostics, Predicate`1 filterOpt, CancellationToken cancellationToken) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compilation\Compilation.cs:line 810
at Microsoft.Dynamics.Nav.CodeAnalysis.Compilation.Compile(ModuleBuilder moduleBuilder, Boolean emittingPdb, DiagnosticBag diagnostics, Predicate`1 filterOpt, CancellationToken cancellationToken) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compilation\Compilation.cs:line 787
at Microsoft.Dynamics.Nav.CodeAnalysis.CommandLine.CommonCompiler.PackageTheModule(Compilation compilation, CompilerTextWriter consoleOutput, CancellationToken cancellationToken, ErrorLogger errorLogger, AnalyzerDriver analyzerDriver) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\CommandLine\CommonCompiler.cs:line 531
at Microsoft.Dynamics.Nav.CodeAnalysis.CommandLine.CommonCompiler.RunCore(CompilerTextWriter consoleOutput, ErrorLogger errorLogger, CancellationToken cancellationToken) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\CommandLine\CommonCompiler.cs:line 413
at Microsoft.Dynamics.Nav.CodeAnalysis.CommandLine.CommonCompiler.Run(CompilerTextWriter consoleOutput, CancellationToken cancellationToken) in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\CommandLine\CommonCompiler.cs:line 312
at Microsoft.Dynamics.Nav.EditorServices.Protocol.LanguageServer.Extensions.CreatePackageRequestHandler.<HandleAsync>d__3.MoveNext() in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\LanguageServer\Extensions\CreatePackageRequestHandler.cs:line 32
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Dynamics.Nav.EditorServices.Protocol.RequestRegistry.<Process>d__6.MoveNext() in C:\Agent\_work\38\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\Endpoints\RequestRegistry.cs:line 59
It's happening in a procedure or trigger where you have IF which has IF which has REPEAT which has IF which has IF whose check is a BUILT IN method invocation to which you are passing and expression which is doing something with TEXT. Is there any way that this could help you find the actual code causing the issue so that we can debug? This should be 100% reproducible
Closed by accident. Still drinking morning coffee
Hi,
Here is a codeunit which brings out the error.
codeunit 62000 createPackageError.al.txt
The issue seems to be the Evaluate - and it doesn't really matter if there is an IF or not. Just the fact that the Evaluate is there is enough to provoke the error.
Hi @epernst . I have identified the issue and a fix is on the way