Issue Details (XML | Word | Printable)

Key: RVM-46
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: David Grove
Reporter: David Grove
Votes: 0
Watchers: 0
Operations

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

CaffieneMark failures on AIX/PPC

Created: 14/Jun/07 11:13 AM   Updated: 04/Jul/08 02:26 PM   Resolved: 04/Jul/08 02:26 PM
Component/s: Instruction Architecture: PowerPC, Operating System: AIX
Affects Version/s: 2.9.1
Fix Version/s: 3.0

Time Tracking:
Not Specified

Issue Links:
Duplicate
 


 Description  « Hide

CaffieneMark was passing on AIX in 2.9.0.

It is no longer passing.

We cannot release 2.9.1 without fixing this.



Peter Donald added a comment - 23/Jun/07 08:44 PM

It seems that is was a failure with same cause as RVM-47


David Grove added a comment - 25/Jun/07 03:08 PM

CaffeineMark is now showing a little different behavior than DaCapo.

All BaseBase configurations base CaffeineMark.

All versions with the opt compiler (prototype-opt on up) fail with the following:

java.lang.NoClassDefFoundError: Could not find the class RunCaffeine:
RunCaffeine not found in SystemAppCL

The DaCapo failures also look like file-not-found errors, except I can get them to show up in a prototype image


David Grove added a comment - 15/Oct/07 07:19 AM

Sigh. Pushing ppc64 problems off to 2.9.3; don't think we're going to be able to nail these in 2.9.2 time frame.


David Grove added a comment - 13/May/08 03:43 PM

The root problem was that our build process has been broken for all PowerPC machines for a very long time. When targeting ppc, you must give gcc the -pthread command line argument if you want it to generate thread safe code (matches the xlc vs. xlc_r behavior of IBM's compilers). As far as I can tell, we've never done that correctly. One of the implications of -pthread is that it causes _THREAD_SAFE to be defined.

If _THREAD_SAFE is not defined, then errno isn't defined to be thread safe (because you aren't supposed to be using threads...). Someone had spot-fixed this in sys.C a long time ago, but unfortunately hadn't done the "proper' fix of invoking gcc with -pthread. As a result, the GNU classpath native code (in particular the various functions in native-lib) were being compiled with the non-thread safe definition of errno. One implication of this as that the native method for VMFile.exists was broken (it was indirectly computing its return value on the bogus errno returned by a call to stat.


David Grove added a comment - 13/May/08 03:49 PM

Fixes commited in r14126-14128.


David Grove added a comment - 04/Jul/08 02:22 PM

reopening so I can modify fix target to 3.0