Ardesco/driver-binary-downloader-maven-plugin

PhantomJS binary is not executable

SiKing opened this issue · 3 comments

I am using just the vanilla “default usage” - nothing fancy - and version 1.0.12. Have this running on my machine (Mac) and everything works as expected.

Just ran this on my Jenkins (Linux), where I specifically need the headless PhantomJS.

The build gets stuck at:

[INFO] Archive file 'phantomjs-2.1.1-linux-x86_64.tar.bz2' is valid : true
[DEBUG] Determined archive type: BZ2
[DEBUG] Overwrite files that exist: false
[DEBUG] Decompressing .bz2 file
[DEBUG] Attempting to extract binary from a .tar file...
[DEBUG] Found: phantomjs-2.1.1-linux-x86_64/bin/phantomjs
[INFO] Extracting binary 'phantomjs'...

I gave it sufficient time, like 15 minutes. I killed the build and reran it. I see:

[INFO] Binary 'phantomjs' exists: true

However, then all the tests fail with:

java.lang.IllegalStateException: The driver is not executable: /selenium/bin/linux/phantomjs/64bit/phantomjs

I checked all the other binaries that were downloaded, and they all have correct execute permissions. PhantomJS is the only one that does not.

False alarm. Very sorry!
If I leave it alone and let it run longer it works just fine.

Maybe I need to give the Jenkins VM more CPU.

15+ minutes does seem excessive to extract a tar file, I wonder if there are some more performant libraries I could use...

I upped the VM to 2 CPU, and things are much more reasonable now. It is a shared resource, and maybe previously something else was running on it too. The 15 minutes was not exactly a scientific test.