Al: al/createPackage' failed with error: 'Unexpected value 'String'

Created on 5 Dec 2017  路  4Comments  路  Source: microsoft/AL

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

bug shipped

All 4 comments

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

Was this page helpful?
0 / 5 - 0 ratings