Bug 19714 - Eclipse crashes: Drag & Drop
Summary: Eclipse crashes: Drag & Drop
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.0   Edit
Hardware: PC HP-UX
: P1 critical (vote)
Target Milestone: 2.0 F3   Edit
Assignee: Kent Johnson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-06-08 15:45 EDT by Sridhar Bidigalu CLA
Modified: 2002-06-14 05:55 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sridhar Bidigalu CLA 2002-06-08 15:45:57 EDT
* Create a simple Java Project JUnit
* Import the archive file junit37src.jar file into Unit project
* Expand junit.samples and select all the 3 files
* Drag & drop them under junit.framework

Eclipse crashes.

Platform: HP-UX B 11.11 U 64 bit, PA8500
JAVA: J2RE SE 1.3.1.05
Eclipse: V2.0 pre-release, Stable 20020602
Desktop: CDE 2.1.0
Motif: V2.1.0
Comment 1 Erich Gamma CLA 2002-06-08 15:57:06 EDT
In which view did you do the drag&drop operation?
The JDT drag&drop code should not be able to crash eclipse.
Moving to SWT for comment.
Comment 2 Mike Wilson CLA 2002-06-10 09:31:47 EDT
Must fix. Sridhar to talk to VI about it.
Comment 3 Sridhar Bidigalu CLA 2002-06-10 10:12:53 EDT
It fails under Package view. Here is the log file...

sbidigal  (55) > Unhandled exception caught in event loop.
Reason:
Widget is disposed

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : 11 occurred at PC=0xc23c5dd8
Function name=_XmDSIGetBorderWidth
Library=/usr/lib/libXm.4

Current Java thread:
"main" prio=3 tid=0x0000eef8 nid=1 lwp_id=24993 runnable [0x7f7f3000..0x7f7f23b0]
        at org.eclipse.swt.internal.motif.OS.XtAppNextEvent(Native Method)
        - locked <0x70bd2af8> (a java.lang.Class)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1498)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1177)
        at org.eclipse.ui.internal.Workbench.run(Workbench.java:1160)
        at
org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:739)
        at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462)
        at java.lang.reflect.Method.invoke(Native Method)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:244)
        at org.eclipse.core.launcher.Main.run(Main.java:693)
        at org.eclipse.core.launcher.Main.main(Main.java:526)

Dynamic libraries:
/opt/java1.3/bin/../bin/PA_RISC2.0/native_threads/java
        text:0x00001000-0x00007374 data:0x00008000-0x000086b8
/opt/java1.3/bin/../jre/lib/PA_RISC2.0/server/libjvm.sl
        text:0xc2800000-0xc2fd8000 data:0x7af7c000-0x7b032000
/usr/lib/libpthread.1
        text:0xc0030000-0xc0047000 data:0x7af2c000-0x7af2f000
/usr/lib/libm.2
        text:0xc0090000-0xc00b6000 data:0x7af2f000-0x7af35000
/usr/lib/libcl.2
        text:0xc0580000-0xc0658000 data:0x7af36000-0x7af54000
/usr/lib/libisamstub.1
        text:0xc008b000-0xc008c000 data:0x7af35000-0x7af36000
/usr/lib/libCsup.2
        text:0xc0390000-0xc03ab000 data:0x7af54000-0x7af57000
/usr/lib/librt.2
        text:0xc02cc000-0xc02d0000 data:0x7af57000-0x7af58000
/usr/lib/libc.2
        text:0xc0100000-0xc0238000 data:0x7b037000-0x7b04a000
/usr/lib/libdld.2
        text:0xc0005000-0xc0008000 data:0x7b032000-0x7b033000
/opt/java1.3/jre/lib/PA_RISC2.0/native_threads/libhpi.sl
        text:0xc25d0000-0xc25e2000 data:0x7af2b000-0x7af2c000
/opt/java1.3/bin/../jre/lib/PA_RISC2.0/libverify.sl
        text:0xc1a30000-0xc1a40000 data:0x7af19000-0x7af1a000
/opt/java1.3/bin/../jre/lib/PA_RISC2.0/libjava.sl
        text:0xc25f0000-0xc261c000 data:0x7af14000-0x7af19000
/opt/java1.3/bin/../jre/lib/PA_RISC2.0/libzip.sl
        text:0xc2620000-0xc2633000 data:0x7af10000-0x7af12000
/tmp_mnt/net/ma-homes/homes/sbidigal/eclipse/20020602/eclipse/plugins/org.eclipse.swt.motif_2.0.0/os/hpux/hp9000/libswt-motif-2043.sl
        text:0xc30c0000-0xc316f000 data:0x7ac5c000-0x7ac63000
/usr/lib/libXm.4
        text:0xc2300000-0xc2548000 data:0x7ac08000-0x7ac35000
/usr/lib/libXp.2
        text:0xc06cc000-0xc06d5000 data:0x7897c000-0x7897d000
/usr/lib/libXext.3
        text:0xc1810000-0xc1826000 data:0x7897d000-0x7897e000
/usr/lib/libXt.3
        text:0xc1000000-0xc1066000 data:0x7ac3a000-0x7ac40000
/usr/lib/X11R6/libSM.2
        text:0xc0364000-0xc036e000 data:0x7ac35000-0x7ac37000
/usr/lib/X11R6/libICE.2
        text:0xc06a0000-0xc06b6000 data:0x7ac37000-0x7ac3a000
/usr/lib/libX11.3
        text:0xc1900000-0xc1a0e000 data:0x7ac44000-0x7ac52000
/usr/lib/libnss_nis.1
        text:0xc0008000-0xc000f000 data:0x7897b000-0x7897c000
/usr/lib/libnsl.1
        text:0xc0240000-0xc02ca000 data:0x7896e000-0x7897b000
/usr/lib/libxti.2
        text:0xc0050000-0xc0068000 data:0x78969000-0x7896c000
/tmp_mnt/net/ma-homes/homes/sbidigal/eclipse/20020602/eclipse/plugins/org.eclipse.swt.motif_2.0.0/os/hpux/hp9000/libswt-cde-motif-2043.sl
        text:0xc008e000-0xc0090000 data:0x78968000-0x78969000
/usr/dt/lib/libDtSvc.3
        text:0xc2280000-0xc22ef000 data:0x78964000-0x78968000
/usr/dt/lib/libtt.3
        text:0xc21c0000-0xc2275000 data:0x78954000-0x78964000
/opt/java1.3/bin/../jre/lib/PA_RISC2.0/libnet.sl
        text:0xc0b74000-0xc0b7d000 data:0x772fd000-0x772fe000

Local Time = Fri Jun  7 15:48:09 2002
Elapsed Time = 41
#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot(TM) Server VM (1.3.1 1.3.1.05-JPSE_1.3.1.05_20020425
PA2.0 mixed mode)
#
# An error report file has been saved as hs_err_pid23026.log.
# Please refer to the file for further information.
#
Comment 4 Veronika Irvine CLA 2002-06-10 13:15:05 EDT
Where do I get a copy of junit37src.jar?
Comment 5 Sridhar Bidigalu CLA 2002-06-10 13:20:29 EDT
You can find it at..

{eclipse-home}/plugins/org.eclipse.jdt.ui.examples.projects_2.0.0/archive/junit
Comment 6 Veronika Irvine CLA 2002-06-10 14:33:33 EDT
I tried this on hpux and got the following log message.  NOTE: Eclipse does not 
hang for me.  The DropTarget wraps most calls to notifyListener in a try/catch 
block and catches Throwable so they should not be hanging the system.
There is one scenario where DND does not wrap the notifyListener call and I 
will look at this.

NullPointer exception in jdt.internal.compiler.lookup - sending back to jdt

!ENTRY org.eclipse.jdt.ui 4 1 Jun 10, 2002 14:32:35.486
!MESSAGE Internal Error
!STACK 0
java.lang.reflect.InvocationTargetException: java.lang.NullPointerException
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage
(Scope.java:1046)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage
(Scope.java:927)
	at org.eclipse.jdt.internal.core.search.matching.MatchSet.reportMatching
(MatchSet.java:222)
	at 
org.eclipse.jdt.internal.core.search.matching.MatchingOpenable.locateMatchesInCo
mpilationUnit(MatchingOpenable.java:345)
	at 
org.eclipse.jdt.internal.core.search.matching.MatchingOpenable.locateMatches
(MatchingOpenable.java:174)
	at 
org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches
(MatchLocator.java:1311)
	at 
org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches
(MatchLocator.java:578)
	at 
org.eclipse.jdt.core.search.SearchEngine.searchDeclarationsOfReferencedTypes
(SearchEngine.java:643)
	at 
org.eclipse.jdt.internal.corext.refactoring.structure.ReferenceFinderUtil.getTyp
eReferencesIn(ReferenceFinderUtil.java:48)
	at 
org.eclipse.jdt.internal.corext.refactoring.structure.ReferenceFinderUtil.getTyp
eReferencesIn(ReferenceFinderUtil.java:40)
	at 
org.eclipse.jdt.internal.corext.refactoring.structure.ReferenceFinderUtil.getTyp
esReferencedIn(ReferenceFinderUtil.java:31)
	at 
org.eclipse.jdt.internal.corext.refactoring.reorg.MoveRefactoring.checkReference
sToNotPublicTypes(MoveRefactoring.java:100)
	at 
org.eclipse.jdt.internal.corext.refactoring.reorg.MoveRefactoring.checkInput
(MoveRefactoring.java:82)
	at 
org.eclipse.jdt.internal.corext.refactoring.base.Refactoring.checkPreconditions
(Refactoring.java:84)
	at org.eclipse.jdt.internal.ui.refactoring.CheckConditionsOperation.run
(CheckConditionsOperation.java:54)
	at org.eclipse.jface.operation.ModalContext.runInCurrentThread
(ModalContext.java:299)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:249)
	at org.eclipse.jface.dialogs.ProgressMonitorDialog.run
(ProgressMonitorDialog.java:335)
	at org.eclipse.jdt.internal.ui.reorg.JdtMoveAction.doReorg
(JdtMoveAction.java:137)
	at org.eclipse.jdt.internal.ui.reorg.ReorgDestinationAction.run
(ReorgDestinationAction.java:105)
	at org.eclipse.jdt.internal.ui.reorg.JdtMoveAction.run
(JdtMoveAction.java:65)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun
(SelectionDispatchAction.java:178)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run
(SelectionDispatchAction.java:156)
	at 
org.eclipse.jdt.internal.ui.packageview.SelectionTransferDropAdapter.handleDropM
ove(SelectionTransferDropAdapter.java:238)
	at 
org.eclipse.jdt.internal.ui.packageview.SelectionTransferDropAdapter.drop
(SelectionTransferDropAdapter.java:142)
	at org.eclipse.jdt.internal.ui.dnd.JdtViewerDropAdapter.drop
(JdtViewerDropAdapter.java:107)
	at org.eclipse.jdt.internal.ui.dnd.DelegatingDropAdapter.drop
(DelegatingDropAdapter.java:73)
	at org.eclipse.swt.dnd.DNDListener.handleEvent(DNDListener.java:59)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:75)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:786)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:485)
	at org.eclipse.swt.dnd.DropTarget.notifyListeners(DropTarget.java:484)
	at org.eclipse.swt.dnd.DropTarget.transferProcCallback
(DropTarget.java:639)
	at org.eclipse.swt.internal.motif.OS.XtAppNextEvent(Native Method)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1498)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1177)
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:1160)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:739)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:248)
	at org.eclipse.core.launcher.Main.run(Main.java:697)
	at org.eclipse.core.launcher.Main.main(Main.java:530)
Comment 7 Philipe Mulet CLA 2002-06-10 15:04:00 EDT
This would happen if we have absolutely no imports (null), which seems strange 
given it should at least have java.lang.*.

Adding null check shouldn't hurt, but need to understand scenario.
Comment 8 Philipe Mulet CLA 2002-06-10 15:08:42 EDT
I see 16 references to CompilationUnitScope.imports... looks like the search 
request did come in before imports where set ?
Comment 9 Mike Wilson CLA 2002-06-10 15:16:24 EDT
Note: This *is* platform specific, so it's more likely to be some kind of 
problem with how things are updated than in your platform neutral code.
Comment 10 Kent Johnson CLA 2002-06-10 17:20:48 EDT
In the example workspace that VI produced the walkback, there is no JRE_LIB set 
so java.lang.* cannot be found.

Sridhar: Does your project have any build problems before you drag the source 
files?
Comment 11 Sridhar Bidigalu CLA 2002-06-10 17:34:05 EDT
I just checked it here on the HP-UX 11.0 system and it works fine. If
I have to verify on the HP-UX 11.11 system, Where I reproduced it, 
I have to go to Rational, Lexington. I don't think, I had any build 
problems, since I had executed SWT examples before running into this.
Comment 12 Philipe Mulet CLA 2002-06-11 07:19:23 EDT
Added null check protection, note that some code was already protecting itself.
Still need to understand this very scenario.

Releasing fix.

Comment 13 David Audel CLA 2002-06-14 05:55:09 EDT
Verified.