Bug 4724 - GP - Fatal app error - renaming resource on linux (1GF7TXO)
Summary: GP - Fatal app error - renaming resource on linux (1GF7TXO)
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 2.0   Edit
Hardware: All Linux
: P2 normal (vote)
Target Milestone: 2.0 M2   Edit
Assignee: Simon Arsenault CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 4677 4702 (view as bug list)
Depends on:
Blocks:
 
Reported: 2001-10-11 14:21 EDT by Simon Arsenault CLA
Modified: 2002-03-07 10:32 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Arsenault CLA 2001-10-11 14:21:56 EDT
(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.
Comment 1 DJ Houghton CLA 2001-10-29 16:33:59 EST
PRODUCT VERSION:
	0.122 (SDK)

Comment 2 Mike Wilson CLA 2001-12-10 11:26:20 EST
*** Bug 4702 has been marked as a duplicate of this bug. ***
Comment 3 Mike Wilson CLA 2001-12-10 11:57:18 EST
*** Bug 4677 has been marked as a duplicate of this bug. ***
Comment 4 Nick Edgar CLA 2002-01-22 14:58:18 EST
Can this be closed?
I notice the check for win32 has been removed from RenameResourceAction.
It always does the asyncExec now.
Comment 5 Tod Creasey CLA 2002-01-22 15:01:39 EST
Fixed in build >20020115