Community
Participate
Working Groups
Not sure if this is core, but I will contact the IBM jre folks too. I'm using Eclipse M6, stable build 1218, and IBM J2RE 1.4.1 windows 32 build cn1411-20030930 (JIT enabled: jitc)). When I'm switching perspectives it Eclipse hangs and I have to kill the IDE with the task manager. This does not happen using the Sun jre, nor Eclipse M5. The simple steps to reproduce are: 1. Start Eclipse, 2. Open java perspective, 3. switch to resource and back to java perspective several times (between 4 and 7 times). Eclipse hangs. Reproducible on 3 W2K machines. Switching, opening, closing perspectives all do the trick too. It seems to be the lower number of switches if there are projects in the workspace.
Can you attach a VM dump from when it hangs? Ctrl+Break from the java console should generate a dump file (unless the VM itself is hosed).
I couldn't get it to generate a dump file in Java Console (started from control panel->Java Plug-in). Neither are there any entries in the .metadata/.log file.
By console, I meant the window that pops up when you launch java.exe. You may be using javaw.exe, which does not open a window. In this case, restart Eclipse like so: eclipse -data .... -vm c:\jre\bin\java.exe
Created attachment 7600 [details] vm dump from java console Thanks, here's the coredump.
I can reproduce consistently in 3.0 M6 (win2K) with the same steps: 1) Open brand new workspace 2) Open Java perspective 3) Toggle perspectives rapidly using Ctrl+F8 Deadlock is inside a native method: at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java(Compiled Code)) at org.eclipse.swt.widgets.CoolBar.setLocked(CoolBar.java(Compiled Code)) I cannot reproduce at all on I20040128 (1459). Moving to SWT for further investigation.
FH, coolbar? Please take a look.
Steve, take a look at this problem, I don't see how SWT could cause this hang. John, I couldn't reproduce the problem on my machine (WinXP). Nevertheless, you said it is working in the last integration build ? Tanya, can you download last Eclipse integration build and verify that this problem doesn't happen on it ?
I could reproduce very easily in M6 (only tried Win2k), but was unable to in latest integration builds. My concern is that perhaps changes in the workbench are causing the bug to no longer be manifested in current builds but an underlying problem may still exist. Note that it only occurs with J9SC (IBM) VM. I am using the most recently available VM drop: build 1.4.1, J2RE 1.4.1 IBM Windows 32 build cn1411-20031212 (JIT enabled: jitc)
Sorry, it still happened in Integration build I20040129-win32.
Can we confirm that it happens only with the IBM JRE? Can someone test it against the JDK? Thanks.
I cannot reproduce with a Sun JDK 1.4.2
I'm not sure then how this is an SWT problem. The API in question should be fine. There are 2 reasons it could hang as far as I can tell: 1) An inifinite loop in the operating system 2) Deadlock For 1), the difference could be in the JNI (somehow a different value is getting through on IBM JRE vs JDK). For 2) the IBM JRE might have a ui-thread somewhere and be playing games with low level Windows event queue functions. (I doubt this is the case). Try printing out the arguments from both JRE's. Next, hack the C code for the particular SendMessage() to make sure the values get to the other side. That's all I can think of.
Tried I20040205 with IBM JRE 1.4.2 The bug is not reproducible.
I'm not sure what to do with this one. John, since you can make it happen, do you want to own it. It seems like a VM problem which really has nothing to do with SWT or Eclipse. Your thoughts?
I agree it looks like a VM bug. I will contact the VM team and see if they want to follow up.
Mathieu, please be more specific with VM version info. Can you tell us the result of invoking "java -version" with the 1.4.2 VM you mentioned?
java version "1.4.2" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2) Classic VM (build 1.4.2, J2RE 1.4.2 IBM Windows 32 build cndev-20040128 (JIT ena bled: jitc))
Not reproducible with J9SC. Only reproducible with JIT disabled.
I have contacted the VM vendor and they are working on a fix. They have recommended as a workaround to set the following VM option: JITC_COMPILEOPT=NREORDERCODE I.e., eclipse -vm d:\jre\bin\java -vmargs -DJITC_COMPILEOPT=NREORDERCODE
This is caused by a VM defect. The defect was reported to the VM vendor (IBM). They have produced a fix, and I have verified their fix. Closing as invalid since no action was required in the Eclipse code base.
Verified. Thanks John, I can no longer reproduce it with the new jitc.dll from IBM VM, in Eclipse M6 or M7.