serverless / serverless/serverless
sls deploy fails when unrelated file is locked
Open
Nobody has claimed this yet.
bug
cat/packaging
- Dominant language
- JavaScript
- Stars
- 46.9k
- Forks
- 5.7k
- Avg merge
- 10h 7m
- Merged PRs (30d)
- 57
Description
Bug Report
Description
Using Visual Studio 2019 with a c# project generated by sls create
sls deploy when VS2019 is not running works nicely. When VS2019 has the solution open I get
Error: EBUSY: resource busy or locked, scandir 'C:\projects\led-monitor\.vs\aws-csharp\v16\Server\sqlite3\db.lock'
at Package.resolveFilePathsFunction (c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\lib\plugins\package\lib\packageService.js:213:8)
at Package.packageFunction (c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\lib\plugins\package\lib\packageService.js:168:17)
at c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\lib\plugins\package\lib\packageService.js:77:21
at arrayMap (c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\lodash\lodash.js:639:23)
at Function.map (c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\lodash\lodash.js:9554:14)
at Package.packageService (c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\lib\plugins\package\lib\packageService.js:66:29)
From previous event:
at Object.package:createDeploymentArtifacts [as hook] (c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\lib\plugins\package\package.js:58:71)
at c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\lib\classes\PluginManager.js:490:55
From previous event:
at PluginManager.invoke (c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\lib\classes\PluginManager.js:490:22)
at PluginManager.spawn (c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\lib\classes\PluginManager.js:510:17)
at Deploy.<anonymous> (c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\lib\plugins\deploy\deploy.js:115:50)
From previous event:
at Object.before:deploy:deploy [as hook] (c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\lib\plugins\deploy\deploy.js:100:30)
at c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\lib\classes\PluginManager.js:490:55
From previous event:
at PluginManager.invoke (c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\lib\classes\PluginManager.js:490:22)
at c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\lib\classes\PluginManager.js:525:24
From previous event:
at PluginManager.run (c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\lib\classes\PluginManager.js:525:8)
at c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\lib\Serverless.js:133:33
at processImmediate (internal/timers.js:439:21)
at process.topLevelDomainCallback (domain.js:131:23)
From previous event:
at Serverless.run (c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\lib\Serverless.js:120:74)
at c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\bin\serverless.js:75:30
at c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\node_modules\fs-extra\node_modules\graceful-fs\graceful-fs.js:136:16
at c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\node_modules\graceful-fs\graceful-fs.js:136:16
at c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\node_modules\graceful-fs\graceful-fs.js:57:14
at FSReqCallback.oncomplete (fs.js:157:23)
From previous event:
at c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\bin\serverless.js:75:8
at processImmediate (internal/timers.js:439:21)
at process.topLevelDomainCallback (domain.js:131:23)
From previous event:
at Object.<anonymous> (c:\Users\Einstein\AppData\Local\Yarn\Data\global\node_modules\serverless\bin\serverless.js:64:4)
at Module._compile (internal/modules/cjs/loader.js:945:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:962:10)
at Module.load (internal/modules/cjs/loader.js:798:32)
at Function.Module._load (internal/modules/cjs/loader.js:711:12)
at Function.Module.runMain (internal/modules/cjs/loader.js:1014:10)
at internal/main/run_main_module.js:17:11
serverless.yml
service: my-monitor
provider:
name: aws
runtime: dotnetcore2.1
package:
individually: true
exclude:
- ./.vs
functions:
auth:
handler: AuthApi::Api.AuthHandlers::Authorize
hello:
handler: AuthApi::Api.UserHandlers::Hello
events:
- http:
path: hello/world
method: get
cors: true
package:
artifact: bin/release/netcoreapp2.1/hello.zip
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The failure is reported in lib/plugins/package/lib/packageService.js at resolveFilePathsFunction, during package:createDeploymentArtifacts. Reproduce sls deploy with Visual Studio 2019 open and the .vs/.../db.lock present, then compare behavior with the package.exclude ./.vs setting in serverless.yml. Done means deployment packaging completes without scanning the locked unrelated file.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, csharp, javascript, node.js
- Domain
- cli, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100