JDK-6563223 : problem when using Desktop.getDesktop().browse(URI)
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 6
  • Priority: P4
  • Status: Closed
  • Resolution: Cannot Reproduce
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2007-05-30
  • Updated: 2021-06-04
  • Resolved: 2007-07-24
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
J2SE 1.6

FULL OS VERSION :
Windows xp sp2

A DESCRIPTION OF THE PROBLEM :
In my application , when i use Desktop.getDesktop.browse(new URI("xxx"));  I have the message :
 An unexpected error has been detected by Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0e9b741a, pid=4056, tid=3476
#
# Java VM: Java HotSpot(TM) Client VM (1.6.0_01-b06 mixed mode, sharing)
# Problematic frame:
# C  [7-zipn.dll+0x741a]
when the URI is a 'file' URI (an internal html file). It's works good when it's an external html (http).

THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: Did not try

THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Did not try

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
7-Zip is installed in C:/Program File/7-Zip; it is not open when I launch my application.
When I try to browse a html file from my hardisk , my application crashe . When I try to browse a web html file , it's works.


ERROR MESSAGES/STACK TRACES THAT OCCUR :
Message from eclipse3.1
# An unexpected error has been detected by Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0e9b741a, pid=2376, tid=4984
#
# Java VM: Java HotSpot(TM) Client VM (1.6.0_01-b06 mixed mode, sharing)
# Problematic frame:
# C  [7-zipn.dll+0x741a]
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

---------------  T H R E A D  ---------------

Current thread (0x03064400):  JavaThread "AWT-EventQueue-0" [_thread_in_native, id=4984]

siginfo: ExceptionCode=0xc0000005, reading address 0xffffffff

Registers:
EAX=0x057df0b0, EBX=0x00000000, ECX=0x057df008, EDX=0x0000ffff
ESP=0x057def9c, EBP=0x057df030, ESI=0x057df008, EDI=0xffffffff
EIP=0x0e9b741a, EFLAGS=0x00010246

  Top of Stack: (sp=0x057def9c)
0x057def9c:   057df10c 02dadb40 057df0b0 0e9b701d
0x057defac:   ffffffff 057df10c 02dadb40 057df0b0
0x057defbc:   7c3b2bf3 7c3a4ec3 00000000 00000004
0x057defcc:   030c6bd4 0000000b 7c3b2c00 030c6bd0
0x057defdc:   0e811fbd 057df00c 030c6bd0 7c3a1ce3
0x057defec:   00000000 057df0b0 7c3a1e96 00000001
0x057deffc:   00000000 0e813382 057df10c 00000000
0x057df00c:   00000000 00000000 057df100 0e6b0f4c

Instructions: (pc=0x0e9b741a)
0x0e9b740a:   8b 7c 24 10 8b f1 33 db 89 1e 89 5e 04 89 5e 08
0x0e9b741a:   38 1f 74 07 43 80 3c 3b 00 75 f9 53 8b ce e8 ad


Stack: [0x05790000,0x057e0000),  sp=0x057def9c,  free space=315k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [7-zipn.dll+0x741a]
C  [shell32.dll+0x8612b]
C  [shell32.dll+0x4e28d]
C  [shell32.dll+0x106cb7]
C  [shell32.dll+0x1078f2]
C  [shell32.dll+0x107976]
C  [shell32.dll+0x8d0de]
C  [shell32.dll+0x4192d]
C  [shell32.dll+0x41896]
C  [shell32.dll+0x41832]
C  [shell32.dll+0xf4ef5]
C  [awt.dll+0x10759c]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  sun.awt.windows.WDesktopPeer.ShellExecute(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+0
j  sun.awt.windows.WDesktopPeer.ShellExecute(Ljava/net/URI;Ljava/lang/String;)V+5
j  sun.awt.windows.WDesktopPeer.open(Ljava/io/File;)V+8
j  java.awt.Desktop.open(Ljava/io/File;)V+24
j  Ald$67.actionPerformed(Ljava/awt/event/ActionEvent;)V+48
j  javax.swing.AbstractButton.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+84
j  javax.swing.AbstractButton$Handler.actionPerformed(Ljava/awt/event/ActionEvent;)V+5
j  javax.swing.DefaultButtonModel.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+35
j  javax.swing.DefaultButtonModel.setPressed(Z)V+117
j  javax.swing.AbstractButton.doClick(I)V+64
j  javax.swing.plaf.basic.BasicMenuItemUI.doClick(Ljavax/swing/MenuSelectionManager;)V+53
j  javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Ljava/awt/event/MouseEvent;)V+62
j  java.awt.Component.processMouseEvent(Ljava/awt/event/MouseEvent;)V+64
j  javax.swing.JComponent.processMouseEvent(Ljava/awt/event/MouseEvent;)V+23
j  java.awt.Component.processEvent(Ljava/awt/AWTEvent;)V+81
j  java.awt.Container.processEvent(Ljava/awt/AWTEvent;)V+18
j  java.awt.Component.dispatchEventImpl(Ljava/awt/AWTEvent;)V+562
j  java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V+42
j  java.awt.Component.dispatchEvent(Ljava/awt/AWTEvent;)V+2
j  java.awt.LightweightDispatcher.retargetMouseEvent(Ljava/awt/Component;ILjava/awt/event/MouseEvent;)V+320
j  java.awt.LightweightDispatcher.processMouseEvent(Ljava/awt/event/MouseEvent;)Z+139
j  java.awt.LightweightDispatcher.dispatchEvent(Ljava/awt/AWTEvent;)Z+50
j  java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V+12
j  java.awt.Window.dispatchEventImpl(Ljava/awt/AWTEvent;)V+19
j  java.awt.Component.dispatchEvent(Ljava/awt/AWTEvent;)V+2
j  java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+46
j  java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z+156
j  java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+30
j  java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
j  java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j  java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j  java.awt.EventDispatchThread.run()V+9
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x030c5c00 JavaThread "TimerQueue" daemon [_thread_blocked, id=5000]
  0x00386400 JavaThread "DestroyJavaVM" [_thread_blocked, id=5712]
=>0x03064400 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=4984]
  0x02ac6000 JavaThread "AWT-Windows" daemon [_thread_in_native, id=3864]
  0x02ac5400 JavaThread "AWT-Shutdown" [_thread_blocked, id=4188]
  0x02ac3800 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=5560]
  0x02a4cc00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=2956]
  0x02a4a800 JavaThread "CompilerThread0" daemon [_thread_blocked, id=4528]
  0x02a47000 JavaThread "Attach Listener" daemon [_thread_blocked, id=5020]
  0x02a46000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=4828]
  0x02a41800 JavaThread "Finalizer" daemon [_thread_blocked, id=3660]
  0x02a3d000 JavaThread "Reference Handler" daemon [_thread_blocked, id=2512]

Other Threads:
  0x02a34000 VMThread [id=5456]
  0x02a4e400 WatcherThread [id=2424]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 def new generation   total 1152K, used 896K [0x22960000, 0x22aa0000, 0x22e40000)
  eden space 1024K,  84% used [0x22960000, 0x22a38ed8, 0x22a60000)
  from space 128K,  22% used [0x22a80000, 0x22a873a0, 0x22aa0000)
  to   space 128K,   0% used [0x22a60000, 0x22a60000, 0x22a80000)
 tenured generation   total 15000K, used 14215K [0x22e40000, 0x23ce6000, 0x26960000)
   the space 15000K,  94% used [0x22e40000, 0x23c21d10, 0x23c21e00, 0x23ce6000)
 compacting perm gen  total 12288K, used 2134K [0x26960000, 0x27560000, 0x2a960000)
   the space 12288K,  17% used [0x26960000, 0x26b75b70, 0x26b75c00, 0x27560000)
    ro space 8192K,  62% used [0x2a960000, 0x2ae5e4e8, 0x2ae5e600, 0x2b160000)
    rw space 12288K,  52% used [0x2b160000, 0x2b7a0e78, 0x2b7a1000, 0x2bd60000)

Dynamic libraries:
0x00400000 - 0x00423000 	C:\Program Files\Java\jre1.6.0_01\bin\javaw.exe
0x7c910000 - 0x7c9c7000 	C:\WINDOWS\system32\ntdll.dll
0x7c800000 - 0x7c904000 	C:\WINDOWS\system32\kernel32.dll
0x77da0000 - 0x77e4c000 	C:\WINDOWS\system32\ADVAPI32.dll
0x77e50000 - 0x77ee1000 	C:\WINDOWS\system32\RPCRT4.dll
0x7e390000 - 0x7e420000 	C:\WINDOWS\system32\USER32.dll
0x77ef0000 - 0x77f37000 	C:\WINDOWS\system32\GDI32.dll
0x7c340000 - 0x7c396000 	C:\Program Files\Java\jre1.6.0_01\bin\msvcr71.dll
0x6d7c0000 - 0x6da07000 	C:\Program Files\Java\jre1.6.0_01\bin\client\jvm.dll
0x76ae0000 - 0x76b0f000 	C:\WINDOWS\system32\WINMM.dll
0x6d310000 - 0x6d318000 	C:\Program Files\Java\jre1.6.0_01\bin\hpi.dll
0x76ba0000 - 0x76bab000 	C:\WINDOWS\system32\PSAPI.DLL
0x6d770000 - 0x6d77c000 	C:\Program Files\Java\jre1.6.0_01\bin\verify.dll
0x6d3b0000 - 0x6d3cf000 	C:\Program Files\Java\jre1.6.0_01\bin\java.dll
0x6d7b0000 - 0x6d7bf000 	C:\Program Files\Java\jre1.6.0_01\bin\zip.dll
0x6d000000 - 0x6d1c3000 	C:\Program Files\Java\jre1.6.0_01\bin\awt.dll
0x72f50000 - 0x72f76000 	C:\WINDOWS\system32\WINSPOOL.DRV
0x77be0000 - 0x77c38000 	C:\WINDOWS\system32\msvcrt.dll
0x76320000 - 0x7633d000 	C:\WINDOWS\system32\IMM32.dll
0x774a0000 - 0x775dd000 	C:\WINDOWS\system32\ole32.dll
0x5b090000 - 0x5b0c8000 	C:\WINDOWS\system32\uxtheme.dll
0x736b0000 - 0x736f9000 	C:\WINDOWS\system32\ddraw.dll
0x73b10000 - 0x73b16000 	C:\WINDOWS\system32\DCIMAN32.dll
0x6d2b0000 - 0x6d303000 	C:\Program Files\Java\jre1.6.0_01\bin\fontmanager.dll
0x74690000 - 0x746db000 	C:\WINDOWS\system32\MSCTF.dll
0x7c9d0000 - 0x7d1f3000 	C:\WINDOWS\system32\shell32.dll
0x77f40000 - 0x77fb6000 	C:\WINDOWS\system32\SHLWAPI.dll
0x77390000 - 0x77493000 	C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll
0x58b50000 - 0x58bea000 	C:\WINDOWS\system32\comctl32.dll
0x10000000 - 0x10012000 	E:\Programmation\eclipse3.1\workspace\CerfaxiMulti\jaybird21.dll
0x03220000 - 0x0339e000 	E:\Programmation\eclipse3.1\workspace\CerfaxiMulti\fbembed.dll
0x719f0000 - 0x71a07000 	C:\WINDOWS\system32\WS2_32.dll
0x719e0000 - 0x719e8000 	C:\WINDOWS\system32\WS2HELP.dll
0x76010000 - 0x76075000 	C:\WINDOWS\system32\MSVCP60.dll
0x71a60000 - 0x71a72000 	C:\WINDOWS\system32\MPR.dll
0x6d570000 - 0x6d583000 	C:\Program Files\Java\jre1.6.0_01\bin\net.dll
0x6d590000 - 0x6d599000 	C:\Program Files\Java\jre1.6.0_01\bin\nio.dll
0x6d450000 - 0x6d474000 	C:\Program Files\Java\jre1.6.0_01\bin\jpeg.dll
0x6d1f0000 - 0x6d21f000 	C:\Program Files\Java\jre1.6.0_01\bin\cmm.dll
0x76340000 - 0x7638a000 	C:\WINDOWS\system32\COMDLG32.DLL
0x66900000 - 0x66a6a000 	C:\WINDOWS\System32\spool\DRIVERS\W32X86\3\CNMUI5m.DLL
0x77bd0000 - 0x77bd8000 	C:\WINDOWS\system32\VERSION.dll
0x76310000 - 0x76315000 	C:\WINDOWS\system32\MSIMG32.dll
0x66400000 - 0x66465000 	C:\WINDOWS\System32\spool\DRIVERS\W32X86\3\CNMDR5m.DLL
0x67100000 - 0x67113000 	C:\WINDOWS\System32\spool\DRIVERS\W32X86\3\CNMCP5m.DLL
0x73a80000 - 0x73a95000 	C:\WINDOWS\system32\mscms.dll
0x6fee0000 - 0x6ff34000 	C:\WINDOWS\system32\netapi32.dll
0x778e0000 - 0x779d8000 	C:\WINDOWS\system32\SETUPAPI.dll
0x76960000 - 0x76a15000 	C:\WINDOWS\system32\USERENV.dll
0x77b50000 - 0x77b72000 	C:\WINDOWS\system32\appHelp.dll
0x76f80000 - 0x76fff000 	C:\WINDOWS\system32\CLBCATQ.DLL
0x77000000 - 0x770d4000 	C:\WINDOWS\system32\COMRes.dll
0x770e0000 - 0x7716c000 	C:\WINDOWS\system32\OLEAUT32.dll
0x03510000 - 0x0353c000 	C:\Program Files\WinRAR\rarext.dll
0x0e550000 - 0x0e55b000 	C:\Program Files\UltraEdit\ue32ctmn.dll
0x0e670000 - 0x0e6a1000 	E:\PROGRA~1\PSPADE~1\PSPADS~1.DLL
0x765b0000 - 0x76606000 	C:\WINDOWS\System32\cscui.dll
0x76590000 - 0x765ad000 	C:\WINDOWS\System32\CSCDLL.dll
0x0e810000 - 0x0e81f000 	C:\Program Files\Notepad++\nppshellext.dll
0x7c3a0000 - 0x7c41b000 	C:\WINDOWS\system32\MSVCP71.dll
0x64f00000 - 0x64f12000 	C:\Program Files\Avast4\ashShell.dll
0x0e9b0000 - 0x0e9cd000 	C:\Program Files\7-Zip\7-zipn.dll

VM Arguments:
java_command: MainEdit
Launcher Type: SUN_STANDARD

Environment Variables:
CLASSPATH=.;.;c:\PROGRA~1\java\JMF\lib\sound.jar;c:\PROGRA~1\java\JMF\lib\jmf.jar;c:\PROGRA~1\java\JMF\lib;
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI Control Panel;C:\Program Files\Fichiers communs\Sonic Shared;C:\Program Files\UltraEdit;C:\Program Files\Fichiers communs\Ulead Systems\MPEG;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program Files\Fichiers communs\Teleca Shared;C:\Program Files\QuickTime\QTSystem\;;C:\Program Files\Java\JEE_5_SDK\bin;;C:\PROGRA~1\FICHIE~1\MUVEET~1\030625;C:\Program Files\Pinnacle\Shared Files;C:\Program Files\Pinnacle\Shared Files\Filter
USERNAME=Philippe
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 15 Model 4 Stepping 1, GenuineIntel



---------------  S Y S T E M  ---------------

OS: Windows XP Build 2600 Service Pack 2

CPU:total 2 family 15, cmov, cx8, fxsr, mmx, sse, sse2, ht

Memory: 4k page, physical 2095180k(1251560k free), swap 3509564k(2531900k free)

vm_info: Java HotSpot(TM) Client VM (1.6.0_01-b06) for windows-x86, built on Mar 14 2007 00:24:02 by "java_re" with unknown MS VC++:1310

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
try {
	File f = new File("Documentation/connexion.html");
	Desktop.getDesktop().browse(f.toURI());
} catch (MalformedURLException e1) {
        e1.printStackTrace();
}catch (URISyntaxException e2) {
	e2.printStackTrace();
}catch (IOException e3) {
	e3.printStackTrace();
}
---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
If I rename 7-Zipn.dll , all the situation works fine.

Comments
SUGGESTED FIX Use the latest version of 7-zip.
24-07-2007

EVALUATION This issue looks like a bug in 7-zip, in particular with the library 7-zipn.dll. In the latest versions of 7-zip (at least in 4.42 which is currently available on their website) the problem is fixed, and java.awt.Desktop class operates correctly.
24-07-2007