Error during (re-)installation of x-pack

I'm trying to update kibanas x-pack plugin from 5.3 to 5.4.1 running on archlinux. Kibana itself was installed via archlinux' kibana aur package.

While removing the old x-pack plugin works, installing the new plugin version fails with:

$ bin/kibana-plugin remove x-pack
Removing x-pack...
DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
$ ls plugins/
$ bin/kibana-plugin install x-pack
DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
Attempting to transfer from x-pack
Attempting to transfer from https://artifacts.elastic.co/downloads/kibana-plugins/x-pack/x-pack-5.4.1.zip
Transferring 119988917 bytes....................
Transfer complete
Retrieving metadata from plugin archive
Extracting plugin archive
Extraction complete
Optimizing and caching browser bundles...
Plugin installation was unsuccessful due to error "Wrong length!"

I have no idea what "Wrong length!" mean, what actually is the wrong length nor how to figure out what this message is trying to tell me so that I can put things right.

Google doesn't show anything useful, so I'm hoping someone here has a pointer for me.

That aur package is not distributed by us, we only do zip, tar.gz, rpm and deb. You can use one of those, i think both rpm and deb can be used on Archlinux. And the tar will work pretty much everywhere with no problems.

Hi Marius,
I think you misunderstood. Kibana itself installed just fine, that isn't the issue.

It's the x-pack plugin thats causing the trouble while being installed with kibana-plugin. If you look at the console output I pasted in my original message, the error occurs during the installation of the plugin, after downloading the plugin .zip file from ES' server, after extraction and during(?) or after(?) the browser bundle optimization.

(And the aur doens't do much more than fetch the tarball from elastic's server and install a systemd service file. See: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=kibana )

So I did a bit more digging. Turns out that an ArrayBuffer is being allocated with a length of "undefined".

Here's the output including the stack trace:
DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
Attempting to transfer from x-pack
Attempting to transfer from https://artifacts.elastic.co/downloads/kibana-plugins/x-pack/x-pack-5.4.1.zip
Transferring 119988917 bytes....................
Transfer complete
Retrieving metadata from plugin archive
Extracting plugin archive
Extraction complete
Optimizing and caching browser bundles...
RangeError: Wrong length!
at validateArrayBufferArguments (/usr/share/kibana/node_modules/core-js/modules/_typed-buffer.js:163:8)
at new ArrayBuffer (/usr/share/kibana/node_modules/core-js/modules/_typed-buffer.js:254:29)
at v8.js:122:17
at NativeModule.compile (bootstrap_node.js:563:7)
at Function.NativeModule.require (bootstrap_node.js:506:18)
at Function.Module._load (module.js:446:25)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at Object. (/usr/share/kibana/plugins/x-pack/plugins/monitoring/server/kibana_monitoring/lib/map_event.js:5:1)
at Module._compile (module.js:569:30)
at loader (/usr/share/kibana/node_modules/babel-register/lib/node.js:144:5)
at Object.require.extensions.(anonymous function) [as .js] (/usr/share/kibana/node_modules/babel-register/lib/node.js:154:7)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at Object. (/usr/share/kibana/plugins/x-pack/plugins/monitoring/server/kibana_monitoring/lib/ops_buffer.js:5:1)
at Module._compile (module.js:569:30)
at loader (/usr/share/kibana/node_modules/babel-register/lib/node.js:144:5)
at Object.require.extensions.(anonymous function) [as .js] (/usr/share/kibana/node_modules/babel-register/lib/node.js:154:7)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at Object. (/usr/share/kibana/plugins/x-pack/plugins/monitoring/server/kibana_monitoring/index.js:1:1)
at Module._compile (module.js:569:30)
at loader (/usr/share/kibana/node_modules/babel-register/lib/node.js:144:5)
at Object.require.extensions.(anonymous function) [as .js] (/usr/share/kibana/node_modules/babel-register/lib/node.js:154:7)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at Object. (/usr/share/kibana/plugins/x-pack/plugins/monitoring/index.js:8:1)
at Module._compile (module.js:569:30)
at loader (/usr/share/kibana/node_modules/babel-register/lib/node.js:144:5)
at Object.require.extensions.(anonymous function) [as .js] (/usr/share/kibana/node_modules/babel-register/lib/node.js:154:7)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at Object. (/usr/share/kibana/plugins/x-pack/index.js:3:1)
at Module._compile (module.js:569:30)
at loader (/usr/share/kibana/node_modules/babel-register/lib/node.js:144:5)
at Object.require.extensions.(anonymous function) [as .js] (/usr/share/kibana/node_modules/babel-register/lib/node.js:154:7)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at /usr/share/kibana/src/server/plugins/plugin_collection.js:79:32
at Generator.next ()
at step (/usr/share/kibana/src/server/plugins/plugin_collection.js:49:191)
at /usr/share/kibana/src/server/plugins/plugin_collection.js:49:437
at Promise ()
at /usr/share/kibana/src/server/plugins/plugin_collection.js:49:99
at Plugins.new (/usr/share/kibana/src/server/plugins/plugin_collection.js:115:7)
at KbnServer. (/usr/share/kibana/src/server/plugins/scan.js:94:26)
at Generator.next ()
at step (/usr/share/kibana/src/server/plugins/scan.js:19:191)
at /usr/share/kibana/src/server/plugins/scan.js:19:361
at
Plugin installation was unsuccessful due to error "Wrong length!"

I tried to fudge it by just allocating a megabytes worth of buffer in the case the length given is undefined, however that results in a segfault of the node binary, so no luck in a hacky quick fix there.

As I'm not a proficient node developer, this twisty maze of module loaders doesn't really tell me much of what is going on (or rather: what is going wrong). I'll try and work through the stack trace and see if I can find out more, however input from people who know their way around this is welcome.

I responded at https://github.com/elastic/kibana/issues/12253

Thanks Jon.
For other people encountering such an issue: it was a version mismatch of nodejs. Running node 6.10.2 resolved this issue for me and with this version of kibana. Other versions may obviously require other versions.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.