Bug 69198
Summary: | IBM 1.3.1 JDK does not run on AS/7.2 SMP | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 2.1 | Reporter: | Bryan Che <bche> | ||||
Component: | glibc | Assignee: | Jakub Jelinek <jakub> | ||||
Status: | CLOSED CURRENTRELEASE | QA Contact: | Brian Brock <bbrock> | ||||
Severity: | high | Docs Contact: | |||||
Priority: | high | ||||||
Version: | 2.1 | CC: | anderson, bennet, bstevens, fweimer, lwoodman, richardl, shillman | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | i686 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2003-07-25 15:23:20 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Bryan Che
2002-07-18 20:11:59 UTC
Created attachment 66025 [details]
This software will reproduce the JDK error using ant
The Read Me for the IBM Java SDK 1.3.1 states firmly that the environment variable LD_ASSUME_KERNEL must be set for SMP operation. I have included the relevant section below. This explains the "freeze" behaviour described in this bugzilla. The technical justification for this restriction is as follows:- On Intel, there is a kernel bug such that registers can be corrupted when we switch context on an SMP. This is fixed in the 2.4.10 kernel. This affects the JIT such that we have to use an alternate method to store a pointer to our ExecEnv but, this alternate method doesnt work if Linux is using floating stacks. Thus, if you are on an IA32 SMP with floating stacks (eg RedHat) with a 2.4.0-2.4.9 kernel you have to turn off floating stacks using an environment variable. The extract from the Read Me is:- Working with floating stacks Certain Linux distributions - Red Hat, for example - have enabled a GLIBC feature called 'floating stacks'. Because of Linux kernel limitations, the JVM will not run on SMP hardware with floating stacks enabled if the kernel level is less than 2.4.10. In this environment, floating stacks must be disabled before the JVM, or any application that starts the JVM, is started. On Red Hat, you disable floating stacks by exporting an environment variable, thus: export LD_ASSUME_KERNEL=2.2.5 On a non-floating stack Linux system, regardless of what is set for -Xss, a minimum native stack size of 256KB for each thread is provided. On a floating stack Linux system, the -Xss values are honored. Thus, if you are migrating from a non-floating stack Linux system, you must ensure that any -Xss values are large enough and are not relying on a minimum of 256KB. This readme is inaccurate, since it was not 2.4.10 where the LDT SMP problems were fixed, but 2.4.8 AFAIK. This has not been updated in over a year. Is this still a problem since the most recent Quartly Update (QU2)? Someone (Jakub?) fixed the glibc bug and it was pushed out at least six months ago. We're not seeing this bug on our AS2.1 SMP machines any more. As per comment #5, closing as resolved in CURRENTRELEASE. |