Registered users
Linkedin Twitter Facebook Google+
Close

In order to improve user's experience and to enable some functionalities by tracking the user accross the website, this website uses its own cookies and from third parties, like Google Analytics and other similar activity tracking software. Read the Privacy Policy
33HOPS, IT Consultants
33HOPS ::: Proveedores de Soluciones Informáticas :: Madrid :+34 91 663 6085Avda. Castilla la Mancha, 95 - local posterior - 28700 S.S. de los Reyes - MADRID33HOPS, Sistemas de Informacion y Redes, S.L.Info

VMWare ESXi 6.7 Update 2 | bash interpreter bug

Alert!  VMWare has finally released a fix for the broken bash in ESXi 6.7.0 U2.
You can find here the Official VMWare announcement

We recommend that you skip this version until a more stable build is reached or that you patch your ESXi box with the most recent fix to use XSIBackup.

Some days before the publishing of this post, VMWare released ESXi 6.7 update 2, which is supposed to address some bugs and improvements in the 6.7 branch.

Some customers started contacting us in regards to XSIBackup not running in this new release, which we found to be odd, especially since this was a minor update. In any case you never know what problems may arise with any new release, so we checked the errors that were being thrown:

syntax error: unexpected &

It turned out that the bash interpreter was trying to parse that ampersand inside double quoted text through the syntax parser, which we found to be at least a bit peculiar.

The test continued by escaping those tokens inside double quoted text, but we soon found out that the error would be thrown even inside single quotes, too bad.

A more thorough test revealed that even commented out text would lead to the error being thrown, which, although the single quote issue is definitive, turns this out into a bug and not only a difference in behaviour from part of the bash interpreter bundled with Busybox.

ESXi includes Busybox as a means of providing basic shell funcionality to their kernel through a binary that is modified and stripped off from some of its functions, including SMP capabilities.

Most of ESXi functionality is offered through VMWare APIs, especially in licensed environments, nevertheless there are a number of bash scripts that may be affected by this bug, including some inner ESXi management scripts and XSIBackup. Thus, upgrading to this version is not recommendable at all.

We have designed a quick workaround that should work for all kind of scripts, including XSIBackup.

WORKAROUND:

The workaround consists in copying some previous working Busybox binary to your ESXi 6.7 U2 server and using it to execute your scripts. There may be other Busybox components affected by other bugs, so this just addresses the bash interpreter issue. Nevertheless this concept may be extended to cover any other ESXi functionalty by following the same procedure. The only caveat is that it will require that you call the older utilities by using a full absolute path, instead of simply calling the binary. This can be addressed in many ways, like: adding the new folder containing the linked Busybox utilities to the path, exporting some global variable to be used in your scripts, using a variable local to your scripts, etc...

Step 1: copy some older busybox release from an older version of ESXi to your xsi-dir/bin folder in ESXi 6.7 U2. We used busybox in ESXi 6.5, its location is:
/usr/lib/vmware/busybox/bin/busybox
Step 2: create a hardlink in the xsi-dir named sh and pointing to the busybox binary you just copied.
ln -s /vmfs/volumes/datastore1/xsi-dir/bin/busybox /vmfs/volumes/datastore1/xsi-dir/bin/sh
Step 3: change the shebang at the top of the xsibackup script and point it to the newly created sh link.
#!/vmfs/volumes/datastore1/xsi-dir/bin/sh
This is just a quick workaround that we have not tested thoroughly, so use at your own risk. The recommended procedure is to skip this broken ESXi release.

Daniel J. García Fidalgo
33HOPS
This page was las modified on 2019-05-02



Website Map
Resources & help
Index of Docs
33HOPS Forum

Fill in to download
The download link will be sent to your e-mail.
Name
Lastname
E-mail


            Read our Privacy Policy