<< Back to previous view |
[QB-2162] "wrapper.conf" incorrectly identifies architecture of machine (with Mac OS X) and fails to start
|
|
Status: | Resolved |
Project: | QuickBuild |
Component/s: | None |
Affects Version/s: | 5.1.30 |
Fix Version/s: | 6.0.0 |
Type: | Bug | Priority: | Major |
Reporter: | Andrei Kortsak | Assigned To: | Robin Shen |
Resolution: | Fixed | Votes: | 0 |
Remaining Estimate: | Unknown | Time Spent: | Unknown |
Original Estimate: | Unknown | ||
Environment: |
QuickBuild buildagent 5.1.30
Mac OS X Yosemite (10.10) |
Description |
After installation of the latest QB buildagent (5.1.30) on Mac machine with "Yosemite Mac OS X (10.10)" on it, agent wasn't able to start and failed with next error:
... wrapper | Launching a JVM... wrapper | JVM exited while loading the application. jvm 5 | Error: This Java instance does not support a 32-bit JVM. jvm 5 | Please install the desired version. wrapper | There were 5 failed launches in a row, each lasting less than 300 seconds. Giving up. wrapper | There may be a configuration problem: please check the logs. Quick search on PMEase forum showed that it is known issue: * Forum: http://forum.pmease.com/viewtopic.php?f=1&t=2959 * Issue Tracker: http://track.pmease.com/browse/QB-1858 Though, previous time it affected machines with "Mavericks Mac OS X (10.9)". After DEBUG level for buildagent was enabled, it gave a bit more information: ... wrapper | Launching a JVM... wrapper | Java Command Line: wrapper | Command[0] : /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java wrapper | Command[1] : -d32 ... Very strange that it identifies machine as "-d32", though it is 64-bit. PS. Commenting out "wrapper.java.additional.auto_bits=TRUE" line in "wrapper.conf" helped to bypass the problem |
Comments |
Comment by Robin Shen [ 28/Aug/14 03:46 AM ] |
Thanks for the info. Unfortunately we are not able to test again Yosemite as it has not been released yet. Will come up with the fix once it is released. |
Comment by Matt Kingman [ 14/Nov/14 02:22 AM ] |
The real issue here is that in agent.sh, the $OS_VER check is a string comparison of the full version string. If it compared the major/minor version numbers separately then it would work fine.
# Resolve the architecture if [ "$DIST_OS" = "macosx" ] then OS_VER=`sw_vers | grep 'ProductVersion:' | grep -o '[0-9]*\.[0-9]*\.[0-9]*|[0-9]*\.[0-9]*'` DIST_ARCH="universal" if [[ "$OS_VER" < "10.5.0" ]] then DIST_BITS="32" else ... |
Comment by Robin Shen [ 15/Nov/14 12:49 AM ] |
Thanks for the info. Latest version of JSW will get this fixed. And we will do an upgrade. |