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.