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

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 [15/Nov/14 12:49 AM]
Thanks for the info. Latest version of JSW will get this fixed. And we will do an upgrade.