Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Invalid Array Length when running setup #70

Closed
yisraelU opened this issue Jul 1, 2018 · 9 comments
Closed

Invalid Array Length when running setup #70

yisraelU opened this issue Jul 1, 2018 · 9 comments

Comments

@yisraelU
Copy link

yisraelU commented Jul 1, 2018

I am running the one script installer on a new machine

Summary

The results i get from running the script are
/opt/cronicle/bin/control.sh setup
/opt/cronicle/bin/storage-cli.js:72
addrs = addrs.concat( addrs, ifaces[key] );
^

RangeError: Invalid array length
at Array.concat ()
at Object. (/opt/cronicle/bin/storage-cli.js:72:16)
at Module._compile (module.js:649:30)
at Object.Module._extensions..js (module.js:660:10)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:501:12)
at Function.Module._load (module.js:493:3)
at Function.Module.runMain (module.js:690:10)
at startup (bootstrap_node.js:194:16)
at bootstrap_node.js:666:3

Steps to reproduce the problem

just run curl -s https://raw.githubusercontent.com/jhuckaby/Cronicle/master/bin/install.js | node

Your Setup

Operating system and version?

Ubuntu 16.04

Node.js version?

v9.8.0

Cronicle software version?

Version 0.8.6

Are you using a multi-server setup, or just a single server?

single

Are you using the filesystem as back-end storage, or S3/Couchbase?

file system

Can you reproduce the crash consistently?

yes

Log Excerpts

@jhuckaby
Copy link
Owner

jhuckaby commented Jul 1, 2018

Wow, that is a weird one. I've never heard of this happening before. It seems like maybe your server doesn't have any kind of network connection, or something really unexpected is being returned from the Node.js os.networkInterfaces() call.

If you could, please run this command on your server, and then paste the output into a comment here:

node -e 'console.log(require("os").networkInterfaces())'

That will at least give me some idea of what is going on.

Thank you.

@yisraelU
Copy link
Author

yisraelU commented Jul 2, 2018

@jhuckaby
Sure , I have quite a few network adapters , most of them virtual

{ lo: 
   [ { address: '127.0.0.1',
       netmask: '255.0.0.0',
       family: 'IPv4',
       mac: '00:00:00:00:00:00',
       internal: true,
       cidr: '127.0.0.1/8' },
     { address: '::1',
       netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
       family: 'IPv6',
       mac: '00:00:00:00:00:00',
       scopeid: 0,
       internal: true,
       cidr: '::1/128' } ],
  ens3: 
   [ { address: '172.31.22.131',
       netmask: '255.255.240.0',
       family: 'IPv4',
       mac: '0e:9f:25:ee:89:e4',
       internal: false,
       cidr: '172.31.22.131/20' },
     { address: 'fe80::c9f:25ff:feee:89e4',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '0e:9f:25:ee:89:e4',
       scopeid: 2,
       internal: false,
       cidr: 'fe80::c9f:25ff:feee:89e4/64' } ],
  docker0: 
   [ { address: '172.17.0.1',
       netmask: '255.255.0.0',
       family: 'IPv4',
       mac: '02:42:7d:0c:ec:49',
       internal: false,
       cidr: '172.17.0.1/16' },
     { address: 'fe80::42:7dff:fe0c:ec49',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '02:42:7d:0c:ec:49',
       scopeid: 3,
       internal: false,
       cidr: 'fe80::42:7dff:fe0c:ec49/64' } ],
  'br-bff4db3b5b5c': 
   [ { address: '172.18.0.1',
       netmask: '255.255.0.0',
       family: 'IPv4',
       mac: '02:42:e7:44:ab:a3',
       internal: false,
       cidr: '172.18.0.1/16' },
     { address: 'fe80::42:e7ff:fe44:aba3',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '02:42:e7:44:ab:a3',
       scopeid: 178,
       internal: false,
       cidr: 'fe80::42:e7ff:fe44:aba3/64' } ],
  veth5d14a2c: 
   [ { address: 'fe80::7056:7eff:fea1:4674',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '72:56:7e:a1:46:74',
       scopeid: 79,
       internal: false,
       cidr: 'fe80::7056:7eff:fea1:4674/64' } ],
  veth69d869b: 
   [ { address: 'fe80::981e:24ff:fe26:df7f',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '9a:1e:24:26:df:7f',
       scopeid: 81,
       internal: false,
       cidr: 'fe80::981e:24ff:fe26:df7f/64' } ],
  vetha22b722: 
   [ { address: 'fe80::a8d2:ebff:fe99:d80e',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: 'aa:d2:eb:99:d8:0e',
       scopeid: 83,
       internal: false,
       cidr: 'fe80::a8d2:ebff:fe99:d80e/64' } ],
  veth4c50034: 
   [ { address: 'fe80::a402:2dff:fef4:1394',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: 'a6:02:2d:f4:13:94',
       scopeid: 85,
       internal: false,
       cidr: 'fe80::a402:2dff:fef4:1394/64' } ],
  vethce3c1fa: 
   [ { address: 'fe80::2c91:ebff:fe66:aafd',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '2e:91:eb:66:aa:fd',
       scopeid: 87,
       internal: false,
       cidr: 'fe80::2c91:ebff:fe66:aafd/64' } ],
  veth197d1ed: 
   [ { address: 'fe80::706d:1dff:fee2:b5f1',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '72:6d:1d:e2:b5:f1',
       scopeid: 89,
       internal: false,
       cidr: 'fe80::706d:1dff:fee2:b5f1/64' } ],
  vethc05e6f1: 
   [ { address: 'fe80::48a1:18ff:fe2b:87df',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '4a:a1:18:2b:87:df',
       scopeid: 91,
       internal: false,
       cidr: 'fe80::48a1:18ff:fe2b:87df/64' } ],
  veth2063f06: 
   [ { address: 'fe80::fc52:2fff:fee0:cbbd',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: 'fe:52:2f:e0:cb:bd',
       scopeid: 93,
       internal: false,
       cidr: 'fe80::fc52:2fff:fee0:cbbd/64' } ],
  vethe4d8e2e: 
   [ { address: 'fe80::b8ce:18ff:fe60:725b',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: 'ba:ce:18:60:72:5b',
       scopeid: 95,
       internal: false,
       cidr: 'fe80::b8ce:18ff:fe60:725b/64' } ],
  veth012d4a3: 
   [ { address: 'fe80::48fa:d7ff:fe10:abbe',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '4a:fa:d7:10:ab:be',
       scopeid: 97,
       internal: false,
       cidr: 'fe80::48fa:d7ff:fe10:abbe/64' } ],
  vethb304ef8: 
   [ { address: 'fe80::8c57:7ff:fe7f:9704',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '8e:57:07:7f:97:04',
       scopeid: 99,
       internal: false,
       cidr: 'fe80::8c57:7ff:fe7f:9704/64' } ],
  veth3e8011c: 
   [ { address: 'fe80::c026:98ff:fe38:1c9a',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: 'c2:26:98:38:1c:9a',
       scopeid: 101,
       internal: false,
       cidr: 'fe80::c026:98ff:fe38:1c9a/64' } ],
  vethb5dbe44: 
   [ { address: 'fe80::9cd2:22ff:fe2d:d185',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '9e:d2:22:2d:d1:85',
       scopeid: 103,
       internal: false,
       cidr: 'fe80::9cd2:22ff:fe2d:d185/64' } ],
  veth4a409b4: 
   [ { address: 'fe80::400:71ff:fe76:28ef',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '06:00:71:76:28:ef',
       scopeid: 107,
       internal: false,
       cidr: 'fe80::400:71ff:fe76:28ef/64' } ],
  veth13f4d10: 
   [ { address: 'fe80::c43b:94ff:fea2:9a70',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: 'c6:3b:94:a2:9a:70',
       scopeid: 111,
       internal: false,
       cidr: 'fe80::c43b:94ff:fea2:9a70/64' } ],
  veth2fcf9b6: 
   [ { address: 'fe80::20f6:90ff:fec4:612f',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '22:f6:90:c4:61:2f',
       scopeid: 113,
       internal: false,
       cidr: 'fe80::20f6:90ff:fec4:612f/64' } ],
  vethfaade70: 
   [ { address: 'fe80::4460:7eff:fe46:fd73',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '46:60:7e:46:fd:73',
       scopeid: 115,
       internal: false,
       cidr: 'fe80::4460:7eff:fe46:fd73/64' } ],
  veth8853ac3: 
   [ { address: 'fe80::ac05:b1ff:fec4:6e2b',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: 'ae:05:b1:c4:6e:2b',
       scopeid: 117,
       internal: false,
       cidr: 'fe80::ac05:b1ff:fec4:6e2b/64' } ],
  veth4c3e697: 
   [ { address: 'fe80::b4f0:c7ff:fedb:9d9b',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: 'b6:f0:c7:db:9d:9b',
       scopeid: 119,
       internal: false,
       cidr: 'fe80::b4f0:c7ff:fedb:9d9b/64' } ],
  veth4ef3d0b: 
   [ { address: 'fe80::f001:9fff:fe94:378d',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: 'f2:01:9f:94:37:8d',
       scopeid: 125,
       internal: false,
       cidr: 'fe80::f001:9fff:fe94:378d/64' } ],
  vethc781b9e: 
   [ { address: 'fe80::e4e7:90ff:fe5e:ddd3',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: 'e6:e7:90:5e:dd:d3',
       scopeid: 127,
       internal: false,
       cidr: 'fe80::e4e7:90ff:fe5e:ddd3/64' } ],
  vethd248efc: 
   [ { address: 'fe80::449c:b3ff:fea8:b4d9',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '46:9c:b3:a8:b4:d9',
       scopeid: 129,
       internal: false,
       cidr: 'fe80::449c:b3ff:fea8:b4d9/64' } ],
  vethecd6c04: 
   [ { address: 'fe80::909a:49ff:fe8c:50b9',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '92:9a:49:8c:50:b9',
       scopeid: 131,
       internal: false,
       cidr: 'fe80::909a:49ff:fe8c:50b9/64' } ],
  veth6558bc9: 
   [ { address: 'fe80::2830:13ff:fe3c:d555',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '2a:30:13:3c:d5:55',
       scopeid: 133,
       internal: false,
       cidr: 'fe80::2830:13ff:fe3c:d555/64' } ],
  veth3aa5c29: 
   [ { address: 'fe80::2459:d6ff:feeb:f548',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '26:59:d6:eb:f5:48',
       scopeid: 135,
       internal: false,
       cidr: 'fe80::2459:d6ff:feeb:f548/64' } ],
  veth2786c24: 
   [ { address: 'fe80::5481:b6ff:fe23:3b09',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '56:81:b6:23:3b:09',
       scopeid: 137,
       internal: false,
       cidr: 'fe80::5481:b6ff:fe23:3b09/64' } ],
  vethd1e7500: 
   [ { address: 'fe80::d829:cfff:fe0c:30c0',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: 'da:29:cf:0c:30:c0',
       scopeid: 139,
       internal: false,
       cidr: 'fe80::d829:cfff:fe0c:30c0/64' } ],
  veth3717bff: 
   [ { address: 'fe80::64a7:55ff:fe32:1972',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '66:a7:55:32:19:72',
       scopeid: 145,
       internal: false,
       cidr: 'fe80::64a7:55ff:fe32:1972/64' } ],
  veth77bf8af: 
   [ { address: 'fe80::10a7:4eff:fe32:18e3',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '12:a7:4e:32:18:e3',
       scopeid: 147,
       internal: false,
       cidr: 'fe80::10a7:4eff:fe32:18e3/64' } ],
  vetha79e094: 
   [ { address: 'fe80::8e8:70ff:fecd:8724',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '0a:e8:70:cd:87:24',
       scopeid: 149,
       internal: false,
       cidr: 'fe80::8e8:70ff:fecd:8724/64' } ],
  vethd190dca: 
   [ { address: 'fe80::34fd:3aff:fe62:18e6',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '36:fd:3a:62:18:e6',
       scopeid: 157,
       internal: false,
       cidr: 'fe80::34fd:3aff:fe62:18e6/64' } ],
  vethda2b5ae: 
   [ { address: 'fe80::cb5:46ff:fe23:8b14',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '0e:b5:46:23:8b:14',
       scopeid: 161,
       internal: false,
       cidr: 'fe80::cb5:46ff:fe23:8b14/64' } ],
  vethf5bebdc: 
   [ { address: 'fe80::90d3:50ff:fe55:8f75',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '92:d3:50:55:8f:75',
       scopeid: 165,
       internal: false,
       cidr: 'fe80::90d3:50ff:fe55:8f75/64' } ],
  veth0ce6a1c: 
   [ { address: 'fe80::7007:63ff:fe28:cef4',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '72:07:63:28:ce:f4',
       scopeid: 180,
       internal: false,
       cidr: 'fe80::7007:63ff:fe28:cef4/64' } ],
  veth57d149b: 
   [ { address: 'fe80::24f5:baff:fe93:5709',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '26:f5:ba:93:57:09',
       scopeid: 182,
       internal: false,
       cidr: 'fe80::24f5:baff:fe93:5709/64' } ] }

@jhuckaby
Copy link
Owner

jhuckaby commented Jul 4, 2018

Thank you for that command output. I honestly don't see anything weird about it, other than the crazy number of interfaces you have. But each one is an array, so I cannot fathom how it is crashing at that particular spot in the setup code.

I will admit, I've never tested Cronicle on Ubuntu 16, nor Node v9, so there may be something weird going on with that combination.

What I will do is add some defensive code in the setup script, to make sure the hash values coming out of os.networkInterfaces() are indeed arrays, before trying to concatenate them.

I'll let you know when the next release is out. Thanks for this issue report!

@yisraelU
Copy link
Author

yisraelU commented Jul 4, 2018

thank you.
On a separate note, do you have a roadmap for future features?

jhuckaby added a commit to jhuckaby/pixl-config that referenced this issue Jul 4, 2018
Workaround for bizarre bug discovered in Cronicle: jhuckaby/Cronicle#70
Possibly only occurring on Node 9 / Ubuntu 16.
jhuckaby added a commit that referenced this issue Jul 4, 2018
Cannot reproduce locally -- could be an issue with Node 9 on Ubuntu 16 only.
@jhuckaby
Copy link
Owner

jhuckaby commented Jul 4, 2018

@yisraelU I do have a roadmap, but it's just a local text file right now. I will work on getting it up onto a GitHub Wiki or something very soon.

@jhuckaby
Copy link
Owner

jhuckaby commented Jul 4, 2018

Should be fixed in v0.8.7. Thanks!

@jhuckaby jhuckaby closed this as completed Jul 4, 2018
@jhuckaby
Copy link
Owner

jhuckaby commented Jul 4, 2018

@yisraelU
Copy link
Author

yisraelU commented Jul 5, 2018

Thank you looks awesome
Are you looking for contributors?

@jhuckaby
Copy link
Owner

jhuckaby commented Jul 6, 2018

Thanks!

Well, to be honest, I'm not really looking for contributors at this time, because Cronicle is still in pre-release, and many things are still in flux. I'd be terrified about landing pull requests and then breaking things as I continue to make underlying changes. Just recently someone sent me two separate PRs, one that adds Windows support, and another that adds reverse proxy support. I am absolutely terrified about merging them, because I'd then have to support that code going forward. I don't know anything about Windows, nor proxies, and couldn't test them. I would be terrified to touch my own code from that point onward, in fear of breaking something.

But thank you very much for your interest! Someday soon I will release v1.0, and things will become more stable, and I can probably start accepting limited PRs, and working on a separate branch. That's something I still have to learn. Git branches terrify me, and I've never used one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants