JDK-4523887 : REGRESSION:Crash of JVM occurs while running NetBeans3.3 beta3 with JDK1.4 beta3
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.swing
  • Affected Version: 1.4.0
  • Priority: P1
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_2000
  • CPU: x86
  • Submitted: 2001-11-07
  • Updated: 2001-12-10
  • Resolved: 2001-11-30
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
1.4.0 rc1Fixed
Related Reports
Relates :  
Relates :  
Description

Name: rmT116609			Date: 11/06/2001


C:\>java -version
java version "1.4.0-beta3"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta3-b84)
Java HotSpot(TM) Client VM (build 1.4.0-beta3-b84, mixed mode)

Steps to reproduce the problem:

1. Install Netbeans 3.3 with the JDK set to JDK 1.4.0-beta3 (select the bin 
directory of JDK1.4.0-beta3 when the NetBeans installation program asks for it), or 
start NetBeans like this: "runide -jdkhome c:\java\jdk1.4.0-beta3"  (assuming you 
placed your JDK1.4 in that directory).
2. Start Netbeans. Check if you are using JDK1.4.0-beta3 in the Help>About>Detail 
dialog box.
3. Go to Projects>Project Manager and choose "New...". Enter the name of 
the new project, e.g.: "Test"
4. Make sure the new project is active. Go to the "Explorer Window" and 
choose the "Filesystems" tab.
5. Right-click the FileSystems root and choose Mount>Local Directory. 
Select for example "C:\temp" and click Finish.

Now, close Netbeans and try to start it again. At the end of the startup 
phase, Netbeans will suddenly exit. If you start Netbeans using 
"runide.exe", you will see the error causing this exit.


I'm using Windows 2000 SP 2 and JDK 1.4 beta 3

The problem was NOT reproducible with the following JDK:
C:\>java -version
java version "1.3.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_01a)
Java HotSpot(TM) Client VM (build 1.3.1_01, mixed mode)


This is the error message:

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x782F7747
Function=Ordinal152+0x16
Library=C:\WINNT\system32\shell32.dll

Current Java thread:
	at sun.awt.shell.Win32ShellFolder.hasAttribute(Native Method)
	at sun.awt.shell.Win32ShellFolder.hasAttribute
(Win32ShellFolder.java:355)
	at sun.awt.shell.Win32ShellFolder.isDirectory(Win32ShellFolder.java:411)
	at org.openide.filesystems.LocalFileSystem.getDisplayName
(LocalFileSystem.java:80)
	at org.netbeans.core.RootFolderNode.initDisplayName
(RootFolderNode.java:110)
	at org.netbeans.core.RootFolderNode.init(RootFolderNode.java:104)
	at org.netbeans.core.RootFolderNode.<init>(RootFolderNode.java:47)
	at org.netbeans.core.DataSystem$DSMap.createNodes(DataSystem.java:225)
	at org.openide.nodes.Children$Keys$KE.nodes(Children.java:1820)
	at org.openide.nodes.ChildrenArray.nodesFor(ChildrenArray.java:125)
	at org.openide.nodes.Children$Info.nodes(Children.java:929)
	at org.openide.nodes.Children.justComputeNodes(Children.java:440)
	at org.openide.nodes.ChildrenArray.nodes(ChildrenArray.java:69)
	at org.openide.nodes.Children.computeNodes(Children.java:355)
	at org.openide.nodes.Children.getNodes(Children.java:284)
	at org.openide.nodes.Children.findChild(Children.java:216)
	at org.openide.nodes.NodeOp.findChild(NodeOp.java:216)
	at org.openide.nodes.NodeOp.findPath(NodeOp.java:234)
	at org.openide.nodes.NodeOp.findPath(NodeOp.java:262)
	at org.openide.explorer.ExplorerManager.findPath
(ExplorerManager.java:633)
	at org.openide.explorer.ExplorerManager$MyValidation.run
(ExplorerManager.java:776)
	- locked <02BD91B8> (a org.openide.explorer.ExplorerManager)
	at org.openide.explorer.ExplorerManager$MyValidation.validateObject
(ExplorerManager.java:764)
	at java.io.ObjectInputStream$ValidationList.doCallbacks
(ObjectInputStream.java:2082)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:332)
	at org.openide.util.io.NbMarshalledObject.get
(NbMarshalledObject.java:90)
	at org.openide.explorer.ExplorerPanel.readExternal
(ExplorerPanel.java:226)
	at org.netbeans.core.NbMainExplorer$ExplorerTab.readExternal
(NbMainExplorer.java:555)
	at org.openide.windows.TopComponent$Replacer.readObject
(TopComponent.java:760)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:42)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:28)
	at java.lang.reflect.Method.invoke(Method.java:327)
	at java.io.ObjectStreamClass.invokeReadObject
(ObjectStreamClass.java:812)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1736)
	at java.io.ObjectInputStream.readOrdinaryObject
(ObjectInputStream.java:1639)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1267)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:325)
	at org.openide.loaders.XMLSettingsSupport$SettingsRecognizer.readSerial
(XMLSettingsSupport.java:372)
	at
org.openide.loaders.XMLSettingsSupport$SettingsRecognizer.instanceCreate
(XMLSettingsSupport.java:402)
	at
org.openide.loaders.InstanceDataObject$SettingsInstance.instanceCreate
(InstanceDataObject.java:1184)
	- locked <039F4B00> (a java.lang.Object)
	at org.netbeans.core.windows.PersistenceManager.lookupTCInstance
(PersistenceManager.java:391)
	at org.netbeans.core.windows.WindowManagerImpl.lookupTCInstance
(WindowManagerImpl.java:870)
	at org.netbeans.core.windows.layers.TCRefImpl.getTopComponent
(TCRefImpl.java:353)
	at org.netbeans.core.windows.layers.TCRefImpl.updateMode
(TCRefImpl.java:195)
	at org.netbeans.core.windows.layers.ModeData$CookiesImpl.addComponents
(ModeData.java:715)
	at
org.netbeans.core.windows.layers.ModeData$CookiesImpl.updateComponents
(ModeData.java:598)
	at org.netbeans.core.windows.layers.ModeData$CookiesImpl.loadDataSection
(ModeData.java:1022)
	- locked <03A0F230> (a java.lang.Object)
	at
org.netbeans.core.windows.layers.ModeData$CookiesImpl.updateProperties
(ModeData.java:470)
	at org.netbeans.core.windows.layers.ModeData$CookiesImpl.updateAll
(ModeData.java:387)
	at org.netbeans.core.windows.layers.ModeData$CookiesImpl.createInstance
(ModeData.java:329)
	at org.netbeans.core.windows.layers.ICFolderImpl.scanChildren
(ICFolderImpl.java:205)
	at org.netbeans.core.windows.layers.ICFolderImpl.instanceCreate
(ICFolderImpl.java:96)
	at
org.netbeans.core.windows.layers.WorkspaceData$InstanceCookieImpl.createModes
(WorkspaceData.java:477)
	at
org.netbeans.core.windows.layers.WorkspaceData$InstanceCookieImpl.updateModes
(WorkspaceData.java:409)
	at
org.netbeans.core.windows.layers.WorkspaceData$InstanceCookieImpl.updateAll
(WorkspaceData.java:353)
	at
org.netbeans.core.windows.layers.WorkspaceData$InstanceCookieImpl.loadDataSectio
n(WorkspaceData.java:684)
	- locked <039C54B8> (a java.lang.Object)
	at org.netbeans.core.windows.WorkspaceImpl.ensureSectionLoaded
(WorkspaceImpl.java:895)
	at org.netbeans.core.windows.WorkspaceImpl.setVisible
(WorkspaceImpl.java:621)
	at org.netbeans.core.windows.WindowManagerImpl.setCurrentWorkspace
(WindowManagerImpl.java:435)
	at org.netbeans.core.windows.WorkspaceImpl$1.run(WorkspaceImpl.java:415)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:181)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:446)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy
(EventDispatchThread.java:193)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy
(EventDispatchThread.java:147)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:141)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:133)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:101)

Dynamic libraries:
0x00400000 - 0x0041F000 	C:\netbeans\bin\runide.exe
0x77F80000 - 0x77FFB000 	C:\WINNT\System32\ntdll.dll
0x77E80000 - 0x77F35000 	C:\WINNT\system32\KERNEL32.dll
0x77E10000 - 0x77E74000 	C:\WINNT\system32\USER32.dll
0x77F40000 - 0x77F7C000 	C:\WINNT\system32\GDI32.DLL
0x77DB0000 - 0x77E0B000 	C:\WINNT\system32\ADVAPI32.dll
0x77D40000 - 0x77DAC000 	C:\WINNT\system32\RPCRT4.DLL
0x10000000 - 0x10019000 	C:\WINNT\System32\NVDESK32.DLL
0x6D330000 - 0x6D441000 	C:\java\jdk1.4\jre\bin\client\jvm.dll
0x77570000 - 0x775A0000 	C:\WINNT\System32\WINMM.dll
0x78000000 - 0x78046000 	C:\WINNT\system32\MSVCRT.dll
0x6D1D0000 - 0x6D1D7000 	C:\java\jdk1.4\jre\bin\hpi.dll
0x6D300000 - 0x6D30D000 	C:\java\jdk1.4\jre\bin\verify.dll
0x6D210000 - 0x6D227000 	C:\java\jdk1.4\jre\bin\java.dll
0x6D320000 - 0x6D32D000 	C:\java\jdk1.4\jre\bin\zip.dll
0x6D000000 - 0x6D0F6000 	C:\java\jdk1.4\jre\bin\awt.dll
0x77800000 - 0x7781D000 	C:\WINNT\System32\WINSPOOL.DRV
0x75E60000 - 0x75E7A000 	C:\WINNT\System32\IMM32.dll
0x77A50000 - 0x77B3A000 	C:\WINNT\system32\ole32.dll
0x6D180000 - 0x6D1D0000 	C:\java\jdk1.4\jre\bin\fontmanager.dll
0x728A0000 - 0x728A6000 	C:\WINNT\System32\DCIMAN32.dll
0x0E630000 - 0x0E97B000 	C:\WINNT\System32\nvoglnt.dll
0x51000000 - 0x51044000 	C:\WINNT\System32\ddraw.dll
0x11FF0000 - 0x11FFC000 	C:\PROGRA~1\Workpace\wp32_240.dll
0x61220000 - 0x6122B000 	C:\Program Files\Microsoft
Hardware\Mouse\MSH_ZWF.dll
0x782F0000 - 0x78532000 	C:\WINNT\system32\shell32.dll
0x70BD0000 - 0x70C34000 	C:\WINNT\system32\SHLWAPI.DLL
0x71780000 - 0x7180A000 	C:\WINNT\system32\COMCTL32.DLL
0x77920000 - 0x77943000 	C:\WINNT\system32\imagehlp.dll
0x72A00000 - 0x72A2D000 	C:\WINNT\system32\DBGHELP.dll
0x690A0000 - 0x690AB000 	C:\WINNT\System32\PSAPI.DLL

Local Time = Mon Nov 05 10:05:20 2001
Elapsed Time = 18
#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot(TM) Client VM (1.4.0-beta3-b84 mixed mode)
#

Please also see:

http://openide.netbeans.org/issues/show_bug.cgi?id=17286
(Review ID: 135006) 
======================================================================

Name: rmT116609			Date: 11/06/2001


Quit netbeans, try to restart it, I got the reported error over and over 
again, I've tried rebooting the machine, I've uninstalled JDK & 
netbeans and reinstalled them again... still I never got netbeans to 
start, and always got the same error.
(Review ID: 134969)
======================================================================

Name: rmT116609			Date: 11/20/2001


Java VM: Java HotSpot(TM) Client VM (1.4.0-beta3-b84 mixed mode)

I took your example NOTEPAD, from swing.
run NB 3.3 beta-4 to search how does it work. I download both files from example
into the IDE, and went to change work directory for the current project,
another case the IDE would never find the right path to resource.
And got the log_err_file twice.
////////////////   1   //////////////////////

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x782F7747
Function=Ordinal152+0x16
Library=C:\WINNT\system32\shell32.dll

Current Java thread:
	at sun.awt.shell.Win32ShellFolder.hasAttribute(Native Method)
	at sun.awt.shell.Win32ShellFolder.hasAttribute(Win32ShellFolder.java:355)
	at sun.awt.shell.Win32ShellFolder.isDirectory(Win32ShellFolder.java:411)
	at
javax.swing.filechooser.WindowsFileSystemView.isTraversable(FileSystemView.java:586)
	at javax.swing.JFileChooser.isTraversable(JFileChooser.java:1524)
	at javax.swing.JFileChooser.setCurrentDirectory(JFileChooser.java:538)
	at org.netbeans.beaninfo.editors.FileEditor.getCustomEditor(FileEditor.java:181)
	at
org.openide.explorer.propertysheet.PropertyPanel$CustomizeListener.sheetButtonClicked(PropertyPanel.java:1690)
	at
org.openide.explorer.propertysheet.SheetButton.notifySheetButtonListenersAboutClick(SheetButton.java:439)
	at
org.openide.explorer.propertysheet.SheetButton$IL.mouseReleased(SheetButton.java:510)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:230)
	at java.awt.Component.processMouseEvent(Component.java:5020)
	at java.awt.Component.processEvent(Component.java:4819)
	at java.awt.Container.processEvent(Container.java:1383)
	at java.awt.Component.dispatchEventImpl(Component.java:3527)
	at java.awt.Container.dispatchEventImpl(Container.java:1440)
	at java.awt.Component.dispatchEvent(Component.java:3368)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3219)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2930)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2866)
	at java.awt.Container.dispatchEventImpl(Container.java:1426)
	at java.awt.Window.dispatchEventImpl(Window.java:1568)
	at java.awt.Component.dispatchEvent(Component.java:3368)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:448)
	at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:193)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:147)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:141)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:133)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:101)

Dynamic libraries:
0x00400000 - 0x0041F000 	D:\netbeans\bin\runide.exe


Local Time = Tue Nov 20 20:35:19 2001
Elapsed Time = 874
#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot(TM) Client VM (1.4.0-beta3-b84 mixed mode)
#
///////////////////////////   2  //////////////////////////

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x77FCB9B1
Function=RtlSizeHeap+0x78
Library=C:\WINNT\System32\ntdll.dll

Current Java thread:
	at sun.awt.shell.Win32ShellFolder.releasePIDL(Native Method)
	at sun.awt.shell.Win32ShellFolder.finalize(Win32ShellFolder.java:214)
	at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
	at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:86)
	at java.lang.ref.Finalizer.access$100(Finalizer.java:17)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:163)

Dynamic libraries:
0x00400000 - 0x0041F000 	D:\netbeans\bin\runide.exe


Local Time = Tue Nov 20 20:19:20 2001
Elapsed Time = 1033
#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot(TM) Client VM (1.4.0-beta3-b84 mixed mode)
#

///////////////////////////////////////////////////////////
(Review ID: 136014)
======================================================================

The main problem (crash of JVM) is no longer reproducible with b89.

###@###.### 2001-12-10

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: merlin-rc1 FIXED IN: merlin-rc1 INTEGRATED IN: merlin-rc1 VERIFIED IN: merlin-rc1
14-06-2004

WORK AROUND Use the normal Open button and override approveSelection() in JFileChooser. ###@###.### 2001-11-13
13-11-2001

EVALUATION Probably a duplicate. Sending to Swing. ###@###.### 2001-11-06 --- In 1.4, JFileChooser uses the class sun.awt.shell.ShellFolder to retrieve system specific information about files and directories. When the user clicks on the "approve" button (labeled "Open", "Save", etc), the selected object is replaced with a normal java.io.File object. The application would then get the File object by calling JFileChooser.getSelectedFile(). The problem is that if the application implements its own "approve" action, like NetBeans 3.3 does, the approval code in JFileChooser is bypassed and the conversion to File is never made. The application will get a ShellFolder object back from getSelectedFile(), which is normally OK except for the fact that it contains system specific data which should never be serialized. Also, we really don't want objects of the sun.awt.shell.* classes to be serialized, because they are quite likely to change in future versions. The solution is to implement the method writeReplace() in the ShellFolder class and its subclasses, to always serialize a File object instead. ###@###.### 2001-11-13
13-11-2001