We have several json files we iterate and running this on the desktop of course, works like a charm but once we deploy to Azure, we start seeing intermittent failures with "Error: kill EPERM". I can't find in the debug code where the failure exists and looking for some guidance/pointers where to look next.
node is v7.10.1 on the azure instance
AutoRest code generation utility [version: 2.0.4215]
(C) 2017 Microsoft Corporation.
https://aka.ms/autorest
Network Enabled: true
Starting @microsoft.azure/autorest-core from D:\local\UserProfile.autorest\@microsoft.[email protected]
No configuration found at 'file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/'.
Loading AutoRest extension '@microsoft.azure/autorest.csharp' (~2.2.45)
Loading AutoRest extension '@microsoft.azure/autorest.go' (~2.1.47)
Loading AutoRest extension '@microsoft.azure/autorest.java' (~2.1.32)
Loading AutoRest extension '@microsoft.azure/autorest.nodejs' (~2.1.25)
Loading AutoRest extension '@microsoft.azure/autorest.python' (~2.1.26)
Loading AutoRest extension '@microsoft.azure/autorest.ruby' (~3.1.26)
Loading AutoRest extension '@microsoft.azure/autorest.modeler' (2.1.22)
Loading AutoRest extension '@microsoft.azure/autorest.modeler' (2.3.38)
Loading AutoRest extension '@microsoft.azure/autorest.modeler' (2.3.42)
DEBUG: swagger-document-override/md-override-loader - START
DEBUG: swagger-document/loader - START
DEBUG: pipeline-emitter - START
DEBUG: configuration-emitter - START
DEBUG: Emitting 'pipeline' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/generated/pipeline
DEBUG: Emitting 'configuration' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/generated/configuration
DEBUG: pipeline-emitter - END
DEBUG: configuration-emitter - END
DEBUG: swagger-document-override/md-override-loader - END
DEBUG: swagger-document/loader - END
DEBUG: swagger-document/individual/transform - START
DEBUG: swagger-document/individual/transform - END
DEBUG: swagger-document/individual/schema-validator - START
DEBUG: swagger-document/individual/schema-validator - END
DEBUG: swagger-document/individual/identity - START
DEBUG: swagger-document/individual/identity - END
DEBUG: swagger-document/compose - START
DEBUG: swagger-document/compose - END
DEBUG: swagger-document/transform-immediate - START
DEBUG: swagger-document/transform-immediate - END
DEBUG: swagger-document/transform - START
DEBUG: swagger-document/transform - END
DEBUG: swagger-document/identity - START
DEBUG: swagger-document/identity - END
DEBUG: openapi-document/openapi-document-converter - START
DEBUG: swagger-document/emitter - START
DEBUG: ruby/modeler - START
DEBUG: Emitting 'swagger-document' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/generated/Microsoft.Swagger.Codegen.epetNetworkResourceProviderN
DEBUG: swagger-document/emitter - END
DEBUG: openapi-document/openapi-document-converter - END
DEBUG: openapi-document/transform - START
DEBUG: openapi-document/transform - END
DEBUG: openapi-document/component-modifiers - START
DEBUG: openapi-document/component-modifiers - END
DEBUG: openapi-document/identity - START
DEBUG: openapi-document/identity - END
DEBUG: csharp/imodeler1 - START
DEBUG: openapi-document/emitter - START
DEBUG: go/imodeler1 - START
DEBUG: java/imodeler1 - START
DEBUG: nodejs/imodeler1 - START
DEBUG: python/imodeler1 - START
DEBUG: Emitting 'openapi-document' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/generated/Microsoft.Swagger.Codegen.epetNetworkResourceProviderN
DEBUG: openapi-document/emitter - END
DEBUG: Generating client model from swagger model.
DEBUG: ruby/modeler - END
DEBUG: ruby/commonmarker - START
DEBUG: ruby/commonmarker - END
DEBUG: ruby/cm/transform - START
DEBUG: ruby/cm/transform - END
DEBUG: ruby/cm/emitter - START
DEBUG: ruby/generate - START
DEBUG: Emitting 'code-model-v1' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/rubycodegen/ruby/code-model-v1
DEBUG: ruby/cm/emitter - END
DEBUG: python/imodeler1 - END
DEBUG: python/commonmarker - START
DEBUG: python/commonmarker - END
DEBUG: python/cm/transform - START
DEBUG: python/cm/transform - END
DEBUG: python/cm/emitter - START
DEBUG: python/generate - START
DEBUG: Emitting 'code-model-v1' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/pythoncodegen/python/code-model-v1
DEBUG: python/cm/emitter - END
DEBUG: go/imodeler1 - END
DEBUG: go/commonmarker - START
DEBUG: go/commonmarker - END
DEBUG: go/cm/transform - START
DEBUG: go/cm/transform - END
DEBUG: go/cm/emitter - START
DEBUG: go/generate - START
DEBUG: Emitting 'code-model-v1' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/gocodegen/go/code-model-v1
DEBUG: go/cm/emitter - END
DEBUG: java/imodeler1 - END
DEBUG: java/commonmarker - START
DEBUG: java/commonmarker - END
DEBUG: java/cm/transform - START
DEBUG: java/cm/transform - END
DEBUG: java/cm/emitter - START
DEBUG: java/generate - START
DEBUG: Emitting 'code-model-v1' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/javacodegen/java/code-model-v1
DEBUG: java/cm/emitter - END
DEBUG: csharp/imodeler1 - END
DEBUG: csharp/commonmarker - START
DEBUG: csharp/commonmarker - END
DEBUG: csharp/cm/transform - START
DEBUG: csharp/cm/transform - END
DEBUG: csharp/generate - START
DEBUG: csharp/cm/emitter - START
DEBUG: Emitting 'code-model-v1' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/csharpcodegen/csharp/code-model-v1
DEBUG: csharp/cm/emitter - END
DEBUG: nodejs/imodeler1 - END
DEBUG: nodejs/commonmarker - START
DEBUG: nodejs/commonmarker - END
DEBUG: nodejs/cm/transform - START
DEBUG: nodejs/cm/transform - END
DEBUG: nodejs/cm/emitter - START
DEBUG: nodejs/generate - START
DEBUG: Emitting 'code-model-v1' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/nodejscodegen/nodejs/code-model-v1
DEBUG: nodejs/cm/emitter - END
DEBUG: [WRITING] ServiceClientTemplate => generated\walmart_v2\walmart.rb
DEBUG: [WRITING] ModelTemplate => generated\walmart_v2\models\native_xml_contracts_v1entity_contract_v1.rb
DEBUG: [WRITING] RequirementsTemplate => generated\walmart_v2.rb
DEBUG: [WRITING] ModuleDefinitionTemplate => generated\walmart_v2\module_definition.rb
DEBUG: ruby/generate - END
DEBUG: ruby/transform - START
DEBUG: ruby/transform - END
DEBUG: ruby/emitter - START
DEBUG: Emitting 'source-file-ruby' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/rubycodegen/ruby/generated/walmart_v2/walmart.rb
DEBUG: Emitting 'source-file-ruby' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/rubycodegen/ruby/generated/walmart_v2/models/native_xml_contracts_v1entity_contract_v1.rb
DEBUG: Emitting 'source-file-ruby' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/rubycodegen/ruby/generated/walmart_v2.rb
DEBUG: Emitting 'source-file-ruby' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/rubycodegen/ruby/generated/walmart_v2/module_definition.rb
DEBUG: ruby/emitter - END
DEBUG: [WRITING] ServiceClientTemplate => implementation\WalmartImpl.java
DEBUG: Generating Rest Code
DEBUG: Defaulting to generate client side Code
DEBUG: [WRITING] ServiceClientTemplate => walmart.js
DEBUG: [WRITING] ServiceClientTemplate => Walmart.cs
DEBUG: [WRITING] ServiceClientTemplateTS => walmart.d.ts
DEBUG: [WRITING] ModelIndexTemplate => models\index.js
DEBUG: [WRITING] ServiceClientInitTemplate => microsoft\swaggercodegenepetnetworkresourceprovidern\init.py
DEBUG: [WRITING] ModelIndexTemplateTS => models\index.d.ts
DEBUG: [WRITING] ModelTemplate => models\nativeXmlContractsV1EntityContractV1.js
DEBUG: nodejs/generate - END
DEBUG: nodejs/transform - START
DEBUG: nodejs/transform - END
DEBUG: nodejs/emitter - START
DEBUG: Emitting 'source-file-nodejs' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/nodejscodegen/nodejs/walmart.js
DEBUG: Emitting 'source-file-nodejs' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/nodejscodegen/nodejs/walmart.d.ts
DEBUG: Emitting 'source-file-nodejs' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/nodejscodegen/nodejs/models/index.js
DEBUG: Emitting 'source-file-nodejs' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/nodejscodegen/nodejs/models/index.d.ts
DEBUG: Emitting 'source-file-nodejs' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/nodejscodegen/nodejs/models/nativeXmlContractsV1EntityContractV1.js
DEBUG: nodejs/emitter - END
DEBUG: [WRITING] ServiceClientInterfaceTemplate => IWalmart.cs
DEBUG: [WRITING] ServiceClientTemplate => microsoft\swaggercodegenepetnetworkresourceprovidern\walmart.py
DEBUG: [WRITING] ServiceClientInterfaceTemplate => Walmart.java
DEBUG: [WRITING] ExtensionsTemplate => WalmartExtensions.cs
DEBUG: [WRITING] VersionTemplate => microsoft\swaggercodegenepetnetworkresourceprovidernversion.py
DEBUG: [WRITING] ModelTemplate => models\NativeXmlContractsV1EntityContractV1.java
DEBUG: [WRITING] ModelTemplate => Models/NativeXmlContractsV1EntityContractV1.cs
DEBUG: [WRITING] ModelInitTemplate => microsoft\swaggercodegenepetnetworkresourceprovidern\models\init.py
DEBUG: [WRITING] PackageInfoTemplate => package-info.java
DEBUG: [WRITING] ModelTemplate => microsoft\swaggercodegenepetnetworkresourceprovidern\models\native_xml_contracts_v1_entity_contract_v1.py
DEBUG: [WRITING] PackageInfoTemplate => implementationpackage-info.java
DEBUG: [WRITING] PackageInfoTemplate => modelspackage-info.java
DEBUG: java/generate - END
DEBUG: java/transform - START
DEBUG: java/transform - END
DEBUG: java/emitter - START
DEBUG: Emitting 'source-file-java' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/javacodegen/java/implementation/WalmartImpl.java
DEBUG: Emitting 'source-file-java' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/javacodegen/java/Walmart.java
DEBUG: Emitting 'source-file-java' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/javacodegen/java/models/NativeXmlContractsV1EntityContractV1.java
DEBUG: Emitting 'source-file-java' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/javacodegen/java/package-info.java
DEBUG: Emitting 'source-file-java' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/javacodegen/java/implementation/package-info.java
DEBUG: Emitting 'source-file-java' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/javacodegen/java/models/package-info.java
DEBUG: java/emitter - END
DEBUG: python/generate - END
DEBUG: python/transform - START
DEBUG: python/transform - END
DEBUG: python/emitter - START
DEBUG: Emitting 'source-file-python' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/pythoncodegen/python/microsoft/init.py
DEBUG: Emitting 'source-file-python' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/pythoncodegen/python/microsoft/swagger/init.py
DEBUG: Emitting 'source-file-python' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/pythoncodegen/python/microsoft/swagger/codegen/init.py
DEBUG: Emitting 'source-file-python' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/pythoncodegen/python/microsoft/swagger/codegen/epetnetworkresourceprovidern/init.py
DEBUG: Emitting 'source-file-python' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/pythoncodegen/python/microsoft/swagger/codegen/epetnetworkresourceprovidern/walmart.py
DEBUG: Emitting 'source-file-python' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/pythoncodegen/python/microsoft/swagger/codegen/epetnetworkresourceprovidern/version.py
DEBUG: Emitting 'source-file-python' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/pythoncodegen/python/microsoft/swagger/codegen/epetnetworkresourceprovidern/models/init.py
DEBUG: Emitting 'source-file-python' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/pythoncodegen/python/microsoft/swagger/codegen/epetnetworkresourceprovidern/models/native_xml_contracts_v1_entity_contract_v1.py
DEBUG: python/emitter - END
DEBUG: csharp/generate - END
DEBUG: csharp/simplifier - START
DEBUG: [WRITING] ModelsTemplate => models.go
DEBUG: [WRITING] ServiceClientTemplate => client.go
DEBUG: [WRITING] VersionTemplate => version.go
DEBUG: go/generate - END
DEBUG: go/transform - START
DEBUG: go/transform - END
DEBUG: go/emitter - START
DEBUG: Emitting 'source-file-go' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/gocodegen/go/models.go
DEBUG: Emitting 'source-file-go' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/gocodegen/go/client.go
DEBUG: Emitting 'source-file-go' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/gocodegen/go/version.go
DEBUG: go/emitter - END
DEBUG: csharp/simplifier - END
DEBUG: csharp/transform - START
DEBUG: csharp/transform - END
DEBUG: csharp/emitter - START
DEBUG: Emitting 'source-file-csharp' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/csharpcodegen/csharp/Walmart.cs
DEBUG: Emitting 'source-file-csharp' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/csharpcodegen/csharp/IWalmart.cs
DEBUG: Emitting 'source-file-csharp' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/csharpcodegen/csharp/WalmartExtensions.cs
DEBUG: Emitting 'source-file-csharp' at file:///D:/local/Temp/jobs/continuous/ClientCodeGeneration/rrh5e5au.z3e/e77e176e-06fe-4e4d-bca7-b852c39ee6f1/csharpcodegen/csharp/Models/NativeXmlContractsV1EntityContractV1.cs
DEBUG: csharp/emitter - END
Autorest is called with these parameters on the commandline:
Parameters: --input-file="D:\localTemp\jobscontinuous\ClientCodeGeneration\rrh5e5au.z3ee77e176e-06fe-4e4d-bca7-b852c39ee6f1\walmart_v2.json" --namespace="Microsoft.Swagger.Codegen.epetNetworkResourceProviderN" --csharp --csharp.output-folder="D:\localTemp\jobscontinuous\ClientCodeGeneration\rrh5e5au.z3ee77e176e-06fe-4e4d-bca7-b852c39ee6f1csharpcodegencsharp" --java --java.output-folder="D:\localTemp\jobscontinuous\ClientCodeGeneration\rrh5e5au.z3ee77e176e-06fe-4e4d-bca7-b852c39ee6f1\javacodegen\java" --nodejs --nodejs.output-folder="D:\localTemp\jobscontinuous\ClientCodeGeneration\rrh5e5au.z3ee77e176e-06fe-4e4d-bca7-b852c39ee6f1\nodejscodegen\nodejs" --python --python.output-folder="D:\localTemp\jobscontinuous\ClientCodeGeneration\rrh5e5au.z3ee77e176e-06fe-4e4d-bca7-b852c39ee6f1pythoncodegenpython" --go --go.output-folder="D:\localTemp\jobscontinuous\ClientCodeGeneration\rrh5e5au.z3ee77e176e-06fe-4e4d-bca7-b852c39ee6f1\gocodegen\go" --ruby --ruby.output-folder="D:\localTemp\jobscontinuous\ClientCodeGeneration\rrh5e5au.z3ee77e176e-06fe-4e4d-bca7-b852c39ee6f1\rubycodegen\ruby" --debug
Always fun to see things change when not on desktop 馃棥
Does it actually output all the files? I'm thinking that it probably does.
After processing everything, it does try to shutdown the out-of-proc language generators by issuing a kill to the process.
Kinda strange that it's having a permission issue killing it's own child process.
(if that's the case, I can go see if there's anything I can do to shut it the heck up)
It does generate the files.
Cool; I think I can fix it. It seems possible that in some cases we try to kill the process twice; on desktop I don't get an error from ChildProcess, but the docs indicate that it can raise an error if node can't deliver the signal.
No idea why it's actually raising the error on your case, but I think it's fixable.. gimme a few minutes, and I should have something for you to test.
@epet
Can you try autorest --version=2.0.4226 ... and see if the issue goes away?
I've added a check to see if it's been killed before, and an explicit handler for the error event that does nothing.
Hopefully, it shouldn't whine anymore.
that solved it! thanks for the quick turnaround!
Most helpful comment
Cool; I think I can fix it. It seems possible that in some cases we try to kill the process twice; on desktop I don't get an error from
ChildProcess, but the docs indicate that it can raise an error if node can't deliver the signal.No idea why it's actually raising the error on your case, but I think it's fixable.. gimme a few minutes, and I should have something for you to test.