dashboard-plugin icon indicating copy to clipboard operation
dashboard-plugin copied to clipboard

Cannot read property 'push' of null

Open mattsurge opened this issue 5 years ago • 1 comments

I'm getting an error "cannot read property 'push' of null" when running sls deploy. Any ideas? Here's the logs:

MBP6423:back-channel matt$ export SLS_DEBUG=sls deploy 
MBP6423:back-channel matt$ sls deploy
Serverless: Load command config
Serverless: Load command config:credentials
Serverless: Load command create
Serverless: Load command install
Serverless: Load command package
Serverless: Load command deploy
Serverless: Load command deploy:function
Serverless: Load command deploy:list
Serverless: Load command deploy:list:functions
Serverless: Load command invoke
Serverless: Load command invoke:local
Serverless: Load command info
Serverless: Load command logs
Serverless: Load command metrics
Serverless: Load command print
Serverless: Load command remove
Serverless: Load command rollback
Serverless: Load command rollback:function
Serverless: Load command slstats
Serverless: Load command plugin
Serverless: Load command plugin
Serverless: Load command plugin:install
Serverless: Load command plugin
Serverless: Load command plugin:uninstall
Serverless: Load command plugin
Serverless: Load command plugin:list
Serverless: Load command plugin
Serverless: Load command plugin:search
Serverless: Load command config
Serverless: Load command config:credentials
Serverless: Load command rollback
Serverless: Load command rollback:function
Serverless: Load command webpack
Serverless: Load command offline
Serverless: Load command offline:start
Serverless: Load command login
Serverless: Load command logout
Serverless: Invoke deploy
Serverless: Invoke package
Serverless: Invoke aws:common:validate
Serverless: Invoke aws:common:cleanupTempDir
Serverless: Invoke webpack:validate
Serverless: Invoke webpack:compile
Serverless: Bundling with Webpack...
Time: 1713ms
Built at: 03/09/2019 2:54:29 PM
         Asset      Size  Chunks             Chunk Names
src/handler.js  1.38 KiB       0  [emitted]  src/handler
Entrypoint src/handler = src/handler.js
[0] ./src/handler.ts + 3 modules 1.99 KiB {0} [built]
    | ./src/handler.ts 793 bytes [built]
    | ./src/utils/index.ts 84 bytes [built]
    | ./src/utils/run-warm.ts 345 bytes [built]
    | ./src/utils/lambda-response.ts 814 bytes [built]
Serverless: Invoke webpack:package
Serverless: No external modules needed
 
  Type Error ---------------------------------------------
 
  Cannot read property 'push' of null
 
     For debugging logs, run again after setting the "SLS_DEBUG=*" environment variable.
 
  Stack Trace --------------------------------------------
 
TypeError: Cannot read property 'push' of null
    at push (/Users/matt/code/back-channel/node_modules/@serverless/enterprise-plugin/src/lib/wrap.js:136:37)
    at tryCatch (/Users/matt/code/back-channel/node_modules/regenerator-runtime/runtime.js:62:40)
    at Generator.invoke [as _invoke] (/Users/matt/code/back-channel/node_modules/regenerator-runtime/runtime.js:288:22)
    at Generator.prototype.(anonymous function) [as next] (/Users/matt/code/back-channel/node_modules/regenerator-runtime/runtime.js:114:21)
    at asyncGeneratorStep (/Users/matt/code/back-channel/node_modules/@serverless/enterprise-plugin/dist/lib/wrap.js:16:103)
    at _next (/Users/matt/code/back-channel/node_modules/@serverless/enterprise-plugin/dist/lib/wrap.js:18:194)
    at /Users/matt/code/back-channel/node_modules/@serverless/enterprise-plugin/dist/lib/wrap.js:18:364
    at new Promise (<anonymous>)
    at /Users/matt/code/back-channel/node_modules/@serverless/enterprise-plugin/dist/lib/wrap.js:18:97
    at /Users/matt/code/back-channel/node_modules/@serverless/enterprise-plugin/dist/lib/wrap.js:191:17
    at ServerlessEnterprisePlugin._callee$ (/Users/matt/code/back-channel/node_modules/@serverless/enterprise-plugin/src/lib/plugin.js:123:17)
    at tryCatch (/Users/matt/code/back-channel/node_modules/regenerator-runtime/runtime.js:62:40)
    at Generator.invoke [as _invoke] (/Users/matt/code/back-channel/node_modules/regenerator-runtime/runtime.js:288:22)
    at Generator.prototype.(anonymous function) [as next] (/Users/matt/code/back-channel/node_modules/regenerator-runtime/runtime.js:114:21)
    at asyncGeneratorStep (/Users/matt/code/back-channel/node_modules/@serverless/enterprise-plugin/dist/lib/plugin.js:40:103)
    at _next (/Users/matt/code/back-channel/node_modules/@serverless/enterprise-plugin/dist/lib/plugin.js:42:194)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:229:7)
From previous event:
    at PluginManager.invoke (/usr/local/lib/node_modules/serverless/lib/classes/PluginManager.js:407:22)
    at PluginManager.spawn (/usr/local/lib/node_modules/serverless/lib/classes/PluginManager.js:425:17)
    at Deploy.BbPromise.bind.then (/usr/local/lib/node_modules/serverless/lib/plugins/deploy/deploy.js:117:50)
From previous event:
    at Object.before:deploy:deploy [as hook] (/usr/local/lib/node_modules/serverless/lib/plugins/deploy/deploy.js:107:10)
    at BbPromise.reduce (/usr/local/lib/node_modules/serverless/lib/classes/PluginManager.js:407:55)
From previous event:
    at PluginManager.invoke (/usr/local/lib/node_modules/serverless/lib/classes/PluginManager.js:407:22)
    at PluginManager.run (/usr/local/lib/node_modules/serverless/lib/classes/PluginManager.js:438:17)
    at variables.populateService.then.then (/usr/local/lib/node_modules/serverless/lib/Serverless.js:114:33)
    at runCallback (timers.js:810:20)
    at tryOnImmediate (timers.js:768:5)
    at processImmediate [as _immediateCallback] (timers.js:745:5)
From previous event:
    at Serverless.run (/usr/local/lib/node_modules/serverless/lib/Serverless.js:101:6)
    at serverless.init.then (/usr/local/lib/node_modules/serverless/bin/serverless:43:28)
    at /usr/local/lib/node_modules/serverless/node_modules/graceful-fs/graceful-fs.js:111:16
    at /Users/matt/code/back-channel/node_modules/graceful-fs/graceful-fs.js:43:10
    at /usr/local/lib/node_modules/serverless/node_modules/graceful-fs/graceful-fs.js:45:10
    at FSReqWrap.oncomplete (fs.js:135:15)
From previous event:
    at initializeErrorReporter.then (/usr/local/lib/node_modules/serverless/bin/serverless:43:6)
    at runCallback (timers.js:810:20)
    at tryOnImmediate (timers.js:768:5)
    at processImmediate [as _immediateCallback] (timers.js:745:5)
From previous event:
    at /usr/local/lib/node_modules/serverless/bin/serverless:28:46
    at Object.<anonymous> (/usr/local/lib/node_modules/serverless/bin/serverless:67:4)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Function.Module.runMain (module.js:694:10)
    at startup (bootstrap_node.js:204:16)
    at bootstrap_node.js:625:3
 
  Get Support --------------------------------------------
     Docs:          docs.serverless.com
     Bugs:          github.com/serverless/serverless/issues
     Issues:        forum.serverless.com
 
  Your Environment Information -----------------------------
     OS:                     darwin
     Node Version:           8.15.1
     Serverless Version:     1.38.0

Not sure if this is related (seems to be), but the enterprise plugin was causing my function path entry point to change from src/handler.default to s-handler.default.

Here's the serverless.yml:

service: back-channel
tenant: myTenant
app: myApp

provider:
  name:     aws
  runtime:  nodejs8.10
  timeout:  30
  stage:    prod 
  region:   us-east-1 
  profile:  profileName_${self:provider.stage} 

functions:
  testFn:
    handler: src/handler.handle
    events:
      - sns:
          arn: arn:aws:sns:${self:provider.region}:topicName-${self:custom.topicName}
      - schedule:
          rate: rate(5 minutes)
          enabled: true
package:
 include:
  # - src/**
  # - include-me-dir/**
 exclude:
   - fixtures/**
   - .circleci/**

custom:
  webpack:
    webpackConfig: 'webpack.config.js'   # Name of webpack configuration file
    includeModules: true   # Node modules configuration for packaging
    packager: 'npm'   # Packager that will be used to package your external modules
  topicName: myTopic
  enterprise:
    collectLambdaLogs: true

plugins:
 # - serverless-plugin-typescript
  - serverless-webpack
  - serverless-offline
 # - serverless-pseudo-parameters
  - '@serverless/enterprise-plugin'

mattsurge avatar Mar 09 '19 19:03 mattsurge

I suspect the plugin is currently incompatible with sls webpack. I'll have to investigate.

dschep avatar Apr 16 '19 14:04 dschep