Aws-sam-cli: sam build fails on non-ASCII return string from build process in HelloWorld

Created on 21 Oct 2020  路  4Comments  路  Source: aws/aws-sam-cli

Description

sam build fails on non-ASCII return string from build process in HelloWorld

Steps to reproduce

in helloworld

sam build

to replicate this you should use polish language

Observed result

sam build --debug
Telemetry endpoint configured to be https://aws-serverless-tools-telemetry.us-west-2.amazonaws.com/metrics
'build' command is called
No Parameters detected in the template
2 resources found in the template
Found Serverless function with name='HelloWorldFunction' and CodeUri='./src/HelloWorld/'
No Parameters detected in the template
Instantiating build definitions
Same build definition found, adding function (Previous: BuildDefinition(dotnetcore3.1, ./src/HelloWorld/, b91f6c88-144d-4007-8bf8-56967894d3ff, {}, []), Current: BuildDefinition(dotnetcore3.1, ./src/HelloWorld/, 22e7e5a1-df01-45c3-99f8-73f8a444485b, {}, []), Function: Function(name='HelloWorldFunction', functionname='HelloWorldFunction', runtime='dotnetcore3.1', memory=None, timeout=10, handler='HelloWorld::HelloWorld.Function::FunctionHandler', codeuri='./src/HelloWorld/', environment={'Variables': {'PARAM1': 'VALUE'}}, rolearn=None, layers=[], events={'HelloWorld': {'Type': 'Api', 'Properties': {'Path': '/hello', 'Method': 'get', 'RestApiId': 'ServerlessRestApi'}}}, metadata=None))
Building codeuri: ./src/HelloWorld/ runtime: dotnetcore3.1 metadata: {} functions: ['HelloWorldFunction']
Building to following folder C:\Users\Gleba\AppData\Local\Temp\tmppwj4nwxz
Loading workflow module 'aws_lambda_builders.workflows'
Registering workflow 'PythonPipBuilder' with capability 'Capability(language='python', dependency_manager='pip', application_framework=None)'
Registering workflow 'NodejsNpmBuilder' with capability 'Capability(language='nodejs', dependency_manager='npm', application_framework=None)'
Registering workflow 'RubyBundlerBuilder' with capability 'Capability(language='ruby', dependency_manager='bundler', application_framework=None)'
Registering workflow 'GoDepBuilder' with capability 'Capability(language='go', dependency_manager='dep', application_framework=None)'
Registering workflow 'GoModulesBuilder' with capability 'Capability(language='go', dependency_manager='modules', application_framework=None)'
Registering workflow 'JavaGradleWorkflow' with capability 'Capability(language='java', dependency_manager='gradle', application_framework=None)'
Registering workflow 'JavaMavenWorkflow' with capability 'Capability(language='java', dependency_manager='maven', application_framework=None)'
Registering workflow 'DotnetCliPackageBuilder' with capability 'Capability(language='dotnet', dependency_manager='cli-package', application_framework=None)'
Registering workflow 'CustomMakeBuilder' with capability 'Capability(language='provided', dependency_manager=None, application_framework=None)'
Found workflow 'DotnetCliPackageBuilder' to support capabilities 'Capability(language='dotnet', dependency_manager='cli-package', application_framework=None)'
Running workflow 'DotnetCliPackageBuilder'
Running DotnetCliPackageBuilder:GlobalToolInstall
Installing Amazon.Lambda.Tools Global Tool
executing dotnet: ['dotnet.exe', 'tool', 'install', '-g', 'Amazon.Lambda.Tools', '--ignore-failed-sources']

Error installing probably due to already installed. Attempt to update to latest version.
executing dotnet: ['dotnet.exe', 'tool', 'update', '-g', 'Amazon.Lambda.Tools', '--ignore-failed-sources']
DotnetCliPackageBuilder:GlobalToolInstall raised unhandled exception
Traceback (most recent call last):
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\aws_lambda_builders\workflows\dotnet_clipackage\actions.py", line 33, in execute
    self.subprocess_dotnet.run(["tool", "install", "-g", "Amazon.Lambda.Tools", "--ignore-failed-sources"])
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\aws_lambda_builders\workflows\dotnet_clipackage\dotnetcli.py", line 67, in run
    raise DotnetCLIExecutionError(message=err.decode(encoding).strip())
aws_lambda_builders.workflows.dotnet_clipackage.dotnetcli.DotnetCLIExecutionError: Dotnet CLI Failed: Narz漏dzie "amazon.lambda.tools" jest ju木 zainstalowane.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\aws_lambda_builders\workflow.py", line 269, in run
    action.execute()
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\aws_lambda_builders\workflows\dotnet_clipackage\actions.py", line 37, in execute
    self.subprocess_dotnet.run(["tool", "update", "-g", "Amazon.Lambda.Tools", "--ignore-failed-sources"])
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\aws_lambda_builders\workflows\dotnet_clipackage\dotnetcli.py", line 64, in run
    LOG.info(out.decode(encoding).strip())
  File "encodings\cp1250.py", line 15, in decode
UnicodeDecodeError: 'charmap' codec can't decode byte 0x88 in position 37: character maps to <undefined>

Expected result

clean compile

Additional environment details (Ex: Windows, Mac, Amazon Linux etc)

  1. OS: Win10
  2. sam --version: SAM CLI, version 1.6.2
stagbug-repro

All 4 comments

I have the same problem. OS: Win10 pro german version. SAM CLI, version 1.15.0

Seeing sort of the same thing and can't figure out if this is a bad or good issue. SAM build command Raises Error: PythonPipBuilder:ResolveDependencies #2513

I have the same issue - Windows 10 Pro German, SAM CLI v1.15.0 and used the HelloWorld template with .netcore3.1

sam build --debug
Telemetry endpoint configured to be https://aws-serverless-tools-telemetry.us-west-2.amazonaws.com/metrics
'build' command is called
No Parameters detected in the template
2 resources found in the template
Found Serverless function with name='HelloWorldFunction' and CodeUri='./src/HelloWorld/'
No Parameters detected in the template
Instantiating build definitions
No previous build graph found, generating new one
Unique function build definition found, adding as new (Function Build Definition: BuildDefinition(dotnetcore3.1, ./src/HelloWorld/, Zip, , fc11d8dd-4720-44b8-98ed-71fe0a29594a, {}, []), Function: Function(name='HelloWorldFunction', functionname='HelloWorldFunction', runtime='dotnetcore3.1', memory=None, timeout=10, handler='HelloWorld::HelloWorld.Function::FunctionHandler', imageuri=None, packagetype='Zip', imageconfig=None, codeuri='./src/HelloWorld/', environment={'Variables': {'PARAM1': 'VALUE'}}, rolearn=None, layers=[], events={'HelloWorld': {'Type': 'Api', 'Properties': {'Path': '/hello', 'Method': 'get', 'RestApiId': 'ServerlessRestApi'}}}, metadata=None, codesign_config_arn=None))
Building codeuri: ./src/HelloWorld/ runtime: dotnetcore3.1 metadata: {} functions: ['HelloWorldFunction']
Building to following folder C:\Users\****\sam-test\.aws-sam\build\HelloWorldFunction
Loading workflow module 'aws_lambda_builders.workflows'
Registering workflow 'PythonPipBuilder' with capability 'Capability(language='python', dependency_manager='pip', application_framework=None)'
Registering workflow 'NodejsNpmBuilder' with capability 'Capability(language='nodejs', dependency_manager='npm', application_framework=None)'
Registering workflow 'RubyBundlerBuilder' with capability 'Capability(language='ruby', dependency_manager='bundler', application_framework=None)'
Registering workflow 'GoDepBuilder' with capability 'Capability(language='go', dependency_manager='dep', application_framework=None)'
Registering workflow 'GoModulesBuilder' with capability 'Capability(language='go', dependency_manager='modules', application_framework=None)'
Registering workflow 'JavaGradleWorkflow' with capability 'Capability(language='java', dependency_manager='gradle', application_framework=None)'
Registering workflow 'JavaMavenWorkflow' with capability 'Capability(language='java', dependency_manager='maven', application_framework=None)'
Registering workflow 'DotnetCliPackageBuilder' with capability 'Capability(language='dotnet', dependency_manager='cli-package', application_framework=None)'
Registering workflow 'CustomMakeBuilder' with capability 'Capability(language='provided', dependency_manager=None, application_framework=None)'
Found workflow 'DotnetCliPackageBuilder' to support capabilities 'Capability(language='dotnet', dependency_manager='cli-package', application_framework=None)'
Running workflow 'DotnetCliPackageBuilder'
Running DotnetCliPackageBuilder:GlobalToolInstall
Installing Amazon.Lambda.Tools Global Tool
executing dotnet: ['dotnet.exe', 'tool', 'install', '-g', 'Amazon.Lambda.Tools', '--ignore-failed-sources']

Error installing probably due to already installed. Attempt to update to latest version.
executing dotnet: ['dotnet.exe', 'tool', 'update', '-g', 'Amazon.Lambda.Tools', '--ignore-failed-sources']
Das Tool "amazon.lambda.tools" wurde in der neuesten stabilen Version neu installiert (Version 5.0.0).
DotnetCliPackageBuilder:GlobalToolInstall succeeded
Running DotnetCliPackageBuilder:RunPackageAction
Running `dotnet lambda package` in C:\Users\****\sam-test\src\HelloWorld
executing dotnet: ['dotnet.exe', 'lambda', 'package', '--output-package', 'C:\\Users\\****\\sam-test\\.aws-sam\\build\\HelloWorldFunction\\HelloWorld.zip']
DotnetCliPackageBuilder:RunPackageAction raised unhandled exception
Traceback (most recent call last):
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\aws_lambda_builders\workflow.py", line 269, in run
    action.execute()
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\aws_lambda_builders\workflows\dotnet_clipackage\actions.py", line 79, in execute
    self.subprocess_dotnet.run(arguments, cwd=self.source_dir)
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\aws_lambda_builders\workflows\dotnet_clipackage\dotnetcli.py", line 64, in run
    LOG.info(out.decode(encoding).strip())
  File "encodings\cp1252.py", line 15, in decode
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 692: character maps to <undefined>

Build Failed

I found workaround. If you change the system language to English, it works.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

goldenbearkin picture goldenbearkin  路  3Comments

PhungXuanAnh picture PhungXuanAnh  路  3Comments

asyba picture asyba  路  3Comments

cmccoypdx picture cmccoypdx  路  3Comments

drumadrian picture drumadrian  路  3Comments