| Summary: | Execution environment has no linkage to the installed JRE (x86_64, SLED 11, Eclipse 3.7.2) | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] JDT | Reporter: | John P. Petrakis <jpetrakis> | ||||
| Component: | Debug | Assignee: | JDT-Debug-Inbox <jdt-debug-inbox> | ||||
| Status: | CLOSED NOT_ECLIPSE | QA Contact: | |||||
| Severity: | major | ||||||
| Priority: | P3 | CC: | curtis.windatt.public, Michael_Rennie, Olivier_Thomann | ||||
| Version: | 3.7.2 | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | Other | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
John P. Petrakis
Created attachment 218812 [details]
full stack traces of problem.
Moving to JDT/Debug oh yes... this does NOT occur on the exact same system for 1) 32 bit java and eclipse (IBM jdk) 2) if you switch the 64 bit IBM jdk for the Oracle java 7 jdk Could you please try with the Juno release ? that second item should have read: 2) if you switch from the IBM Java 7 JDK to the Oracle Java 7 JDK Juno.. 3.8 or 4.2? Juno.. 3.8 or 4.2? (In reply to comment #7) > Juno.. 3.8 or 4.2? For jdt/debug I don't think it is changing anything. Most bundles are the same between 3.8 and 4.2. 4.2 impacts mostly UI bundles. (In reply to comment #5) > 2) if you switch from the IBM Java 7 JDK to the Oracle Java 7 JDK I guess you mean Oracle Java 7 64 bits JDK ? (In reply to comment #0) > Reproducible: Always > 3. symlink the jre in the IBM Jdk location to the eclipse folder Can you add the JDK to the preferences if you do not symlink it? The "Failed to retrieve default libraries for /opt/local/ibm-java-x86_64-70" exception shown occurs when we try to run the VM to ask it for its default libraries and it fails. I am wondering if there is some sort of permissions issue here. Also the IOExceptions about the system call being interrupted are probably the reason we are failing to collect the VM libs. Do you happen to have a plugin / shell script or something that is sending signals to the Java process that could interrupt the IO? > 4) start eclipse > 5) open the "installed jre" preferences"... first exceptions occur > 6) close the prefs, and create a new java project you get terminate failed exc. > > The new project will not build unless you choose either of the radio buttons > that indicate a specific jdk to use as opposed to the exec. env. radio button. This is expected - sort of, but handled very poorly - if we can't launch the VM (or collect its libraries) and you set it to be used, each time the VM is asked a question you get a pile of exceptions. Yes by Oracle JDK I mean the oracle 64 bit java 7 jdk RE: Permissions. That had occurred to me as well but the folders I have (/opt/local/*) are owned by "me" and the mode on "/opt/local" is 777. The JDK, eclipse and workspace root are all located under /opt/local. I'm cd'ing straight into the eclipse folder (which I own) and running eclipse directly.... no other scripts are being used at the moment. (In reply to comment #11) > Yes by Oracle JDK I mean the oracle 64 bit java 7 jdk Are you also using a symlink to connect to Oracle JDK? yes I simply removed and recreated the symlink ... It seems eclipse 3.8 has the same issue. FIFW: I've used the same set-up technique (with the same UID) on RHEL 5.6, and 6.2 x86-64 systems without incident.... I can add other JDKs to the installed JRE list but none seem to end up showing up in the exec environment page of the prefs (eg. 64 bit IBM java 6 ) Here is something else: 1) using Eclipse 3.8 and IBM x86_64 jdk, open up a new workspace (symlinked jre in eclipse dir) 2) open prefs to installed JRE and same exceptions occur 3) remove symlink and replace with a new symlinke pointing at the Oracle x86_64 Jdk 4) restart and use same workspace 5) installed jre still shows as IBM Jdk 7 but this time, no exceptions AND the execution environment only shows the IBM Jdk 7. it does not show the oracle jdk as being installed. starting eclipse 3.8 with a FRESH workspace and the oracle jdk symlinked, the installed jre shows the oracle jre and the execution environment shows the proper linkage to the jre specified by the symlink. If I ADD the IBM JDK (eg. 7.0 Rev 1) at this point, the ibm jdk now shows as installed but it does NOT show up in the exec. environment sheet when selectiong the Java SE 1.7 environment (or earlier). Only the oracle one does. This really belongs to JDT/Debug (In reply to comment #18) > Here is something else: > > 1) using Eclipse 3.8 and IBM x86_64 jdk, open up a new workspace (symlinked jre > in eclipse dir) > 2) open prefs to installed JRE and same exceptions occur > 3) remove symlink and replace with a new symlinke pointing at the Oracle x86_64 > Jdk > 4) restart and use same workspace > 5) installed jre still shows as IBM Jdk 7 but this time, no exceptions AND the > execution environment only shows the IBM Jdk 7. This is working as expected. We cache valid JRE locations to speed up their re-resolution when Eclipse loads - we added some limited support for detecting library changes on-disk outside of Eclipse but we do not try to rename the JRE in your preferences. > it does not show the oracle jdk as being installed. > > starting eclipse 3.8 with a FRESH workspace and the oracle jdk symlinked, the > installed jre shows the oracle jre and the execution environment shows the > proper linkage to the jre specified by the symlink. Can you add the IBM jdk to the preferences if you DO NOT symlink it? It so happens that the JVM that is running the platform cannot be added. I did try this without using the symlink (used the "-vm" command line switch) and it did not make a difference. I had the java 6 and 7 VMs available (happened to be running under java 6). The java 6 could not install or even be searches and recognized but the java 7 one could. Even when it DOES install, the execution environment still won't recognize it. I should clarify a bit perhaps. If the running eclipse platform has no visible "installed jre" in the preference page, attempting to add the jre that was used to launch the running workbench will fail... regardless of what you do to add it. If you point to some other jre it will add it to the installed jre list but it won't show up as a vm choice in the exec. environment page. Is there any chance this could be a problem with the 64 bit IBM jvms? The 32 bit eclipse/jvm combinations appear to work just fine on the same SLED 11 vm platform. I only have a 32 bit Ubuntu 11.04 machine to test on, but this works correctly for both IBM and Oracle 7 VMs (32 bit). Yes that's right. On this 64 bit system, the 32 bit eclipse and jvm's function as expected and this doesn't appear to occur. It seems as if it's the 64 bit vms and eclipse that suffer this effect and mostly the IBM one at that. This, when it does happen, seems to be a fairly uncommon problem. As this hasn't occured for us for some time (and we suspect the problem may really be in the JVM) I think this can be closed so I'm doing exactly that. |