examples icon indicating copy to clipboard operation
examples copied to clipboard

Getting "TypeError: Cannot read property '4' of null" on deploy

Open AustinGil opened this issue 4 years ago • 1 comments

I copied the example at https://github.com/serverless/examples/tree/master/google-node-simple-http-endpoint and every time I try to deploy, I get the error : TypeError: Cannot read property '4' of null

Im not sure if this is an error with the repo example code, or with the plugin https://github.com/serverless/serverless-google-cloudfunctions

AustinGil avatar Jul 08 '20 19:07 AustinGil

Hi @AustinGil , hope you already resolve the issue. I had the same error just now, like below

Serverless: Checking deployment update progress...
......................
Serverless: Done...
Service Information
service: data-receipt-station-test3
project: my-project-test-277604
stage: dev
region: us-central1

Deployed functions
bsFileTransferInitProcessor
  projects/my-project-test-277604/topics/bs-file-transfer-entry-queue-dev

 
  Type Error ---------------------------------------------
 
  TypeError: Cannot read property '4' of null
      at /home/leo/workspace/data-receipt-station/node_modules/serverless-google-cloudfunctions/deploy/lib/cleanupDeploymentBucket.js:27:95
      at /home/leo/workspace/data-receipt-station/node_modules/lodash/lodash.js:3740:18
      at arrayMap (/home/leo/workspace/data-receipt-station/node_modules/lodash/lodash.js:639:23)
      at /home/leo/workspace/data-receipt-station/node_modules/lodash/lodash.js:3739:24
      at /home/leo/workspace/data-receipt-station/node_modules/lodash/lodash.js:3543:27
      at /home/leo/workspace/data-receipt-station/node_modules/lodash/lodash.js:4901:15
      at baseMap (/home/leo/workspace/data-receipt-station/node_modules/lodash/lodash.js:3542:7)
      at baseOrderBy (/home/leo/workspace/data-receipt-station/node_modules/lodash/lodash.js:3738:20)
      at Function.orderBy (/home/leo/workspace/data-receipt-station/node_modules/lodash/lodash.js:9623:14)
      at /home/leo/workspace/data-receipt-station/node_modules/serverless-google-cloudfunctions/deploy/lib/cleanupDeploymentBucket.js:24:32
      at processTicksAndRejections (internal/process/task_queues.js:93:5)
  From previous event:
      at PluginManager.invoke (/home/leo/.nvm/versions/node/v12.13.0/lib/node_modules/serverless/lib/classes/PluginManager.js:489:22)
      at /home/leo/.nvm/versions/node/v12.13.0/lib/node_modules/serverless/lib/classes/PluginManager.js:524:24
  From previous event:
      at PluginManager.run (/home/leo/.nvm/versions/node/v12.13.0/lib/node_modules/serverless/lib/classes/PluginManager.js:524:8)
      at /home/leo/.nvm/versions/node/v12.13.0/lib/node_modules/serverless/lib/Serverless.js:115:33
      at processImmediate (internal/timers.js:439:21)
      at process.topLevelDomainCallback (domain.js:131:23)
  From previous event:
      at Serverless.run (/home/leo/.nvm/versions/node/v12.13.0/lib/node_modules/serverless/lib/Serverless.js:102:74)
      at /home/leo/.nvm/versions/node/v12.13.0/lib/node_modules/serverless/bin/serverless.js:72:30
      at /home/leo/.nvm/versions/node/v12.13.0/lib/node_modules/serverless/node_modules/graceful-fs/graceful-fs.js:111:16
      at /home/leo/workspace/data-receipt-station/node_modules/graceful-fs/graceful-fs.js:61:14
      at /home/leo/.nvm/versions/node/v12.13.0/lib/node_modules/serverless/node_modules/graceful-fs/graceful-fs.js:45:10
      at FSReqCallback.oncomplete (fs.js:146:23)
  From previous event:
      at /home/leo/.nvm/versions/node/v12.13.0/lib/node_modules/serverless/bin/serverless.js:72:8
      at processImmediate (internal/timers.js:439:21)
      at process.topLevelDomainCallback (domain.js:131:23)
  From previous event:
      at Object.<anonymous> (/home/leo/.nvm/versions/node/v12.13.0/lib/node_modules/serverless/bin/serverless.js:61:4)
      at Module._compile (internal/modules/cjs/loader.js:956:30)
      at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
      at Module.load (internal/modules/cjs/loader.js:812:32)
      at Function.Module._load (internal/modules/cjs/loader.js:724:14)
      at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
      at internal/main/run_main_module.js:17:11
 
  Get Support --------------------------------------------
     Docs:          docs.serverless.com
     Bugs:          github.com/serverless/serverless/issues
     Issues:        forum.serverless.com
 
  Your Environment Information ---------------------------
     Operating System:          linux
     Node Version:              12.13.0
     Framework Version:         1.58.0
     Plugin Version:            3.2.5
     SDK Version:               2.2.1
     Components Core Version:   1.1.2
     Components CLI Version:    1.4.0

tried a few times and digging in to serverless-google-cloudfunctions, the error is from this line const timestamp = file.name.match(/(serverless)\/(.+)\/(.+)\/(\d+)-(.+)\/(.+\.zip)/)[4];

const orderedObjects = _.orderBy(
        files,
        (file) => {
          const timestamp = file.name.match(/(serverless)\/(.+)\/(.+)\/(\d+)-(.+)\/(.+\.zip)/)[4];
          return timestamp;
        },
        ['asc']
      );

I think it tried to get timestamp from a filename.

My fix:

  • remove all those related deployment bucket and cleanup deployment manager
  • then tried again and the error is gone.

leo7 avatar Nov 24 '20 05:11 leo7