History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: QB-2162
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Robin Shen
Reporter: Andrei Kortsak
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
QuickBuild

"wrapper.conf" incorrectly identifies architecture of machine (with Mac OS X) and fails to start

Created: 27/Aug/14 06:55 AM   Updated: 21/Dec/14 01:09 PM
Component/s: None
Affects Version/s: 5.1.30
Fix Version/s: 6.0.0

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
Environment:
QuickBuild buildagent 5.1.30
Mac OS X Yosemite (10.10)


 Description  « Hide
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

 All   Comments   Work Log   Change History      Sort Order:
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.

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
...

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.