Community
Participate
Working Groups
(start eclipse from a terminal window so you can see the console output when it fails) - Open the resource perspective - Give focus on the nav view - Select a file and choose Rename from popup - Change the name ("somethingelse.txt" for example) - Click on the title bar area of the outline view Poof! Eclipse dies and nothing is written to the log file. On the console, you get a Segmentation Violation. Here is the content of the javacore8613.992362334.txt file that was generated. Tue Jun 12 12:12:14 2001 SIGSEGV received at 14458be5 in unknown. Processing terminated. J2RE 1.3.0 IBM build cx130-20010502 /viper/team/sarsenau/eclipse/jre/bin/exe/java -verify -classpath /viper/team/sarsenau/eclipse/./startup.jar org.eclipse.core.launcher.Main -ws motif -application org.eclipse.ui.workbench -endsplash /viper/team/sarsenau/eclipse/./eclipse -endsplash 8612 System Properties ----------------- Java Home Dir: /viper/team/sarsenau/eclipse/jre Java DLL Dir: /viper/team/sarsenau/eclipse/jre/bin Sys Classpath: /viper/team/sarsenau/eclipse/jre/lib/rt.jar:/viper/team/sarsenau/eclipse/jre/lib/i18n.jar:/viper/team/sarsenau/eclipse/jre/classes User Args: -Djava.class.path=. -Xverify:all -Djava.class.path=/viper/team/sarsenau/eclipse/./startup.jar Current Thread Details ---------------------- PID:8613 "main" (TID:0x402e87e0, sys_thread_t:0x804ff00, state:R, native ID:0x400) prio=5 at org.eclipse.swt.internal.motif.OS.XmProcessTraversal(Native Method) at org.eclipse.swt.widgets.Control.setFocus(Control.java:1979) at org.eclipse.ui.part.PageBookView.setFocus(PageBookView.java:420) at org.eclipse.ui.internal.WorkbenchPage$1.run(WorkbenchPage.java:78) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:753) at org.eclipse.core.runtime.Platform.run(Platform.java:388) at org.eclipse.ui.internal.WorkbenchPage.activatePart(WorkbenchPage.java:75) at org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:1253) at org.eclipse.ui.internal.WorkbenchPage.requestActivation(WorkbenchPage.java:1093) at org.eclipse.ui.internal.PartPane.requestActivation(PartPane.java:217) at org.eclipse.ui.internal.PartPane$2.mouseDown(PartPane.java:34) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:108) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java(Compiled Code)) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:505) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1523) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1373) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:604) at org.eclipse.ui.internal.Workbench.run(Workbench.java:640) at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:810) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:280) at java.lang.reflect.Method.invoke(Native Method) at org.eclipse.core.launcher.Main.basicRun(Main.java:126) at org.eclipse.core.launcher.Main.run(Main.java:408) at org.eclipse.core.launcher.Main.main(Main.java:281) ----- Native Stack ----- ------------------------------------------------------------------------- Operating Environment --------------------- Host : kevinh. OS Level : 2.2.14-5.0.#1 Tue Mar 7 21:07:39 EST 2000 glibc Version : 2.1.3 No. of Procs : 1 Memory Info: total: used: free: shared: buffers: cached: Mem: 263868416 253071360 10797056 39174144 58822656 46747648 Swap: 139788288 9900032 129888256 MemTotal: 257684 kB MemFree: 10544 kB MemShared: 38256 kB Buffers: 57444 kB Cached: 45652 kB BigTotal: 0 kB BigFree: 0 kB SwapTotal: 136512 kB SwapFree: 126844 kB User Limits (in bytes except for NOFILE and NPROC) - RLIMIT_FSIZE : infinity RLIMIT_DATA : infinity RLIMIT_STACK : 2088960 RLIMIT_CORE : 1024000000 RLIMIT_NOFILE : 1024 RLIMIT_NPROC : 2048 Application Environment ----------------------- Signal Handlers - SIGQUIT : intrDispatchMD (libhpi.so) SIGILL : intrDispatchMD (libhpi.so) SIGTRAP : intrDispatchMD (libhpi.so) SIGABRT : intrDispatchMD (libhpi.so) SIGFPE : intrDispatchMD (libhpi.so) SIGBUS : intrDispatchMD (libhpi.so) SIGSEGV : intrDispatchMD (libhpi.so) SIGUSR1 : sigusr1Handler (libhpi.so) Environment Variables - LESSOPEN=|/usr/bin/lesspipe.sh %s USERNAME=sarsenau COLORTERM=gnome-terminal HISTSIZE=1000 HOSTNAME=kevinh LOGNAME=sarsenau INIT_VERSION=sysvinit-2.78 JAVAHOME=/viper/team/sarsenau/eclipse/jre LD_ASSUME_KERNEL=2.2.5 MAIL=/var/spool/mail/sarsenau LD_LIBRARY_PATH=/viper/team/sarsenau/eclipse/jre/bin:/viper/team/sarsenau/eclipse/jre/bin/classic: TERM=xterm HOSTTYPE=i386 PATH=/usr/bin:/bin:/usr/X11R6/bin:/usr/local/bin:/opt/bin:/usr/X11R6/bin:/usr/X11R6/bin CONSOLE=/dev/console KDEDIR=/usr HOME=/viper/team/sarsenau INPUTRC=/etc/inputrc PREVLEVEL=N RUNLEVEL=5 SHELL=/bin/bash XAUTHORITY=/viper/team/sarsenau/.Xauthority USER=sarsenau GDM_LANG=en_US AUTOBOOT=YES QTDIR=/usr/lib/qt-2.1.0 BOOT_IMAGE=linux DISPLAY=:0 SESSION_MANAGER=local/kevinh:/tmp/.ICE-unix/693,tcp/kevinh:1025 LANG=en_US OSTYPE=Linux WINDOWID=75497583 GDMSESSION=Default SHLVL=2 LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35: IBM_JAVA_COMMAND_LINE=/viper/team/sarsenau/eclipse/jre/bin/exe/java -verify -classpath /viper/team/sarsenau/eclipse/./startup.jar org.eclipse.core.launcher.Main -ws motif -application org.eclipse.ui.workbench -endsplash /viper/team/sarsenau/eclipse/./eclipse -endsplash 8612 Full Thread Dump ---------------- PID:8626 "ModalContext" (TID:0x406dc150, sys_thread_t:0x895f460, state:S, native ID:0x1c05) prio=5 at org.eclipse.swt.internal.motif.OS.write(Native Method) at org.eclipse.swt.widgets.Display.wake(Display.java:1878) at org.eclipse.swt.widgets.Synchronizer.asyncExec(Synchronizer.java:56) at org.eclipse.swt.widgets.Display.asyncExec(Display.java:268) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:124) ----- Native Stack ----- __write at 0x40024811 in libpthread.so.0 ------------------------------------------------------------------------- PID:8621 "Finalizer" (TID:0x402e8708, sys_thread_t:0x80ed388, state:S, native ID:0xc04) prio=8 at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:114) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:129) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:168) ----- Native Stack ----- __libc_internal_tsd_get at 0x4002cd3c in libpthread.so.0 ------------------------------------------------------------------------- PID:8620 "Reference Handler" (TID:0x402e8750, sys_thread_t:0x80ec5e0, state:S, native ID:0x803) prio=10 at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:421) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) ----- Native Stack ----- __libc_internal_tsd_get at 0x4002cd3c in libpthread.so.0 ------------------------------------------------------------------------- PID:8619 "Signal dispatcher" (TID:0x402e8798, sys_thread_t:0x80e65d0, state:S, native ID:0x402) prio=5 ----- Native Stack ----- __libc_internal_tsd_get at 0x4002cd3c in libpthread.so.0 ------------------------------------------------------------------------- PID:8613 "main" (TID:0x402e87e0, sys_thread_t:0x804ff00, state:R, native ID:0x400) prio=5 at org.eclipse.swt.internal.motif.OS.XmProcessTraversal(Native Method) at org.eclipse.swt.widgets.Control.setFocus(Control.java:1979) at org.eclipse.ui.part.PageBookView.setFocus(PageBookView.java:420) at org.eclipse.ui.internal.WorkbenchPage$1.run(WorkbenchPage.java:78) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:753) at org.eclipse.core.runtime.Platform.run(Platform.java:388) at org.eclipse.ui.internal.WorkbenchPage.activatePart(WorkbenchPage.java:75) at org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:1253) at org.eclipse.ui.internal.WorkbenchPage.requestActivation(WorkbenchPage.java:1093) at org.eclipse.ui.internal.PartPane.requestActivation(PartPane.java:217) at org.eclipse.ui.internal.PartPane$2.mouseDown(PartPane.java:34) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:108) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java(Compiled Code)) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:505) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1523) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1373) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:604) at org.eclipse.ui.internal.Workbench.run(Workbench.java:640) at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:810) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:280) at java.lang.reflect.Method.invoke(Native Method) at org.eclipse.core.launcher.Main.basicRun(Main.java:126) at org.eclipse.core.launcher.Main.run(Main.java:408) at org.eclipse.core.launcher.Main.main(Main.java:281) ----- Native Stack ----- ------------------------------------------------------------------------- Monitor pool info: Initial monitor count: 32 Minimum number of free monitors before expansion: 5 Pool will next be expanded by: 16 Current total number of monitors: 32 Current number of free monitors: 24 Monitor Pool Dump (inflated object-monitors): sys_mon_t:0x0804f478 infl_mon_t: 0x0804f048: java.lang.ref.Reference$Lock@402F16F0/402F16F8: <unowned> Waiting to be notified: "Reference Handler" (0x80ec5e0) sys_mon_t:0x0804f508 infl_mon_t: 0x0804f088: java.lang.ref.ReferenceQueue$Lock@402F4308/402F4310: <unowned> Waiting to be notified: "Finalizer" (0x80ed388) JVM System Monitor Dump (registered monitors): ACS Heap lock: <unowned> System Heap lock: <unowned> Sleep lock: <unowned> Method trace lock: <unowned> UTF8 Cache lock: <unowned> Heap lock: <unowned> Rewrite Code lock: <unowned> Monitor Cache lock: owner "main" (0x804ff00) 1 entry JNI Pinning lock: <unowned> JNI Global Reference lock: <unowned> Classloader lock: <unowned> Linking class lock: <unowned> Binclass lock: <unowned> Monitor Registry lock: owner "main" (0x804ff00) 1 entry Thread queue lock: owner "main" (0x804ff00) 1 entry Thread identifiers (as used in flat monitors): ident 8 "ModalContext" (0x895f460) ee 0x0895f294 ident 5 "Finalizer" (0x80ed388) ee 0x080ed1bc ident 4 "Reference Handler" (0x80ec5e0) ee 0x080ec414 ident 3 "Signal dispatcher" (0x80e65d0) ee 0x080e6404 ident 2 "main" (0x804ff00) ee 0x0804fd34 Java Object Monitor Dump (flat & inflated object-monitors): java.lang.ref.Reference$Lock@402F16F0/402F16F8 locknflags 80000200 Monitor inflated infl_mon 0x0804f048 java.lang.ref.ReferenceQueue$Lock@402F4308/402F4310 locknflags 80000400 Monitor inflated infl_mon 0x0804f088 NOTES: KH (6/12/2001 12:55:16 PM) Moving to SWT for comment. ARCH (6/12/01 2:56:59 PM) * Approved to fix SSQ (6/13/01 2:35:16 PM) - The text field is being disposed in its FocusOut callback and XmProcessTraversal does not check if it is disposed. Here is a simple testcase. When the window comes up, press the mouse button in the second composite. package ssq; import org.eclipse.swt.*; import org.eclipse.swt.widgets.*; import org.eclipse.swt.graphics.*; import org.eclipse.swt.layout.*; public class GPTest { public static void main(String[] args) { final Display display = new Display(); final Shell shell = new Shell(); final Composite comp1 = new Composite(shell, SWT.BORDER); comp1.setBounds(0, 0, 100, 100); final Composite comp2 = new Composite(shell, SWT.BORDER); comp2.setBounds(110, 0, 100, 100); final Text text1 = new Text(comp1, SWT.SINGLE | SWT.BORDER); text1.setBounds(0, 50, 90, 30); text1.setText("text1"); text1.setFocus (); final Text text2 = new Text(comp2, SWT.SINGLE | SWT.BORDER); text2.setBounds(0, 50, 90, 30); text2.setText("text2"); comp2.addListener(SWT.MouseDown, new Listener() { public void handleEvent(Event e) { text2.setFocus (); } }); text1.addListener(SWT.FocusOut, new Listener() { public void handleEvent(Event e) { text1.dispose (); Shell s = new Shell (shell); s.setBounds(0, 0, 50, 50); s.open(); s.setFocus (); s.close(); } }); shell.setBounds(0, 0, 300, 150); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } } } SSQ (6/13/01 2:43:00 PM) - The problem can be fixed/worked around by async exec the rename operation. org.eclipse.ui.actions.RenameResourceAction textEditor.addFocusListener(new FocusAdapter() { public void focusLost(FocusEvent fe) { //If the focus is lost then apply the rename fe.widget.getDisplay ().asyncExec (new Runnable () { public void run () { saveChangesAndDispose(resource); } }); } }); SN (6/13/01 5:44:51 PM) KH is putting in the fix. Waiting for the results. McQ (26/06/2001 3:03:09 PM) - We should look at this again.
PRODUCT VERSION: 0.122 (SDK)
*** Bug 4702 has been marked as a duplicate of this bug. ***
*** Bug 4677 has been marked as a duplicate of this bug. ***
Can this be closed? I notice the check for win32 has been removed from RenameResourceAction. It always does the asyncExec now.
Fixed in build >20020115