SeleniumHQ / selenium-google-code-issue-archive

Archive, please see main selenium repo
https://github.com/seleniumhq/selenium
346 stars 194 forks source link

IEDriver.dll causes JVM to crash #2946

Closed lukeis closed 8 years ago

lukeis commented 8 years ago

Originally reported on Google Code with ID 2946

when I'm running test in virtual machine, the 'Java.exe has encountered a problem' dialog
pop up and track the message to find that this issue is caused by iedriver.dll. Pls
see the details below.

What steps will reproduce the problem?
1. write a Junit test based on selenium
2. run it in the Virtual Machine

What is the expected output? What do you see instead?
That the test can execute successfully in Virtual Machine without error dialog popup
is expected.

Selenium version: 2.5.0
OS: Windows XP
Browser: InternetExplorer
Broswer version: 8.0.1

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x614937c7, pid=5864, tid=5788
#
# JRE version: 6.0_20-b02
# Java VM: Java HotSpot(TM) Client VM (16.3-b01 mixed mode, sharing windows-x86 )
# Problematic frame:
# C  [IEDriver.dll+0x537c7]
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

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

Current thread (0x01d2bc00):  JavaThread "main" [_thread_in_native, id=5788, stack(0x01b50000,0x01ba0000)]

siginfo: ExceptionCode=0xc0000005, reading address 0x00771000

Registers:
EAX=0x00e500cc, EBX=0x00000000, ECX=0x001b7c33, EDX=0x00000001
ESP=0x01b9f07c, EBP=0x01b9f084, ESI=0x00770fff, EDI=0x059c0fb8
EIP=0x614937c7, EFLAGS=0x00010206

Top of Stack: (sp=0x01b9f07c)
0x01b9f07c:   01b9f0e8 00730065 01b9f0a4 61443f1d
0x01b9f08c:   05970020 00720067 00730065 04a21018
0x01b9f09c:   01b9f0e8 04ca5c58 01b9f114 6145171d
0x01b9f0ac:   04ca5c64 00000000 ffffffff 6147688b
0x01b9f0bc:   06278d83 01b9f210 04a21018 00000000
0x01b9f0cc:   04ca6b18 04a21050 04ca6b18 04a21030
0x01b9f0dc:   04a21050 77672d80 04a21018 05970020
0x01b9f0ec:   00000000 04a21018 04c7e960 00000000 

Instructions: (pc=0x614937c7)
0x614937b7:   00 00 00 75 14 c1 e9 02 83 e2 03 83 f9 08 72 29
0x614937c7:   f3 a5 ff 24 95 e0 38 49 61 8b c7 ba 03 00 00 00 

Stack: [0x01b50000,0x01ba0000],  sp=0x01b9f07c,  free space=13c01b9eb98k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [IEDriver.dll+0x537c7]
C  [IEDriver.dll+0x3f1d]
C  [IEDriver.dll+0x1171d]
C  [IEDriver.dll+0x3150b]
C  [IEDriver.dll+0x71de0]
C  [jna5324504781682852490.dll+0xc7c2]
C  [jna5324504781682852490.dll+0x4561]
C  [jna5324504781682852490.dll+0x4cae]
j  com.sun.jna.Function.invokeVoid(I[Ljava/lang/Object;)V+0
j  com.sun.jna.Function.invoke([Ljava/lang/Object;Ljava/lang/Class;Z)Ljava/lang/Object;+45
j  com.sun.jna.Function.invoke(Ljava/lang/Class;[Ljava/lang/Object;Ljava/util/Map;)Ljava/lang/Object;+214
j  com.sun.jna.Library$Handler.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;+341
j  org.openqa.selenium.ie.$Proxy7.StopServer(Lcom/sun/jna/Pointer;)V+16
j  org.openqa.selenium.ie.InternetExplorerDriverServer.stop()V+13
j  org.openqa.selenium.ie.InternetExplorerDriver.stopClient()V+11
j  org.openqa.selenium.remote.RemoteWebDriver.quit()V+13
j  com.riskmanager.selenium.tests.Import_Objects_1.tearDown()V+3
v  ~StubRoutines::call_stub
V  [jvm.dll+0xf049c]
V  [jvm.dll+0x17fcf1]
V  [jvm.dll+0xf051d]
V  [jvm.dll+0x199ceb]
V  [jvm.dll+0x19a706]
V  [jvm.dll+0x11bc03]
C  [java.dll+0x714d]
j  sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87
j  sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
j  java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+161
j  org.junit.runners.model.FrameworkMethod$1.runReflectiveCall()Ljava/lang/Object;+15
j  org.junit.internal.runners.model.ReflectiveCallable.run()Ljava/lang/Object;+1
j  org.junit.runners.model.FrameworkMethod.invokeExplosively(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+10
j  org.junit.internal.runners.statements.RunAfters.evaluate()V+130
j  org.junit.runners.ParentRunner.run(Lorg/junit/runner/notification/RunNotifier;)V+20
j  org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(Lorg/eclipse/jdt/internal/junit/runner/TestExecution;)V+72
j  org.eclipse.jdt.internal.junit.runner.TestExecution.run([Lorg/eclipse/jdt/internal/junit/runner/ITestReference;)V+17
j  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests([Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/jdt/internal/junit/runner/TestExecution;)V+61
j  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(Lorg/eclipse/jdt/internal/junit/runner/TestExecution;)V+10
j  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run()V+70
j  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main([Ljava/lang/String;)V+14
v  ~StubRoutines::call_stub
V  [jvm.dll+0xf049c]
V  [jvm.dll+0x17fcf1]
V  [jvm.dll+0xf051d]
V  [jvm.dll+0xf9bc5]
V  [jvm.dll+0x10181d]
C  [javaw.exe+0x2155]
C  [javaw.exe+0x8614]
C  [kernel32.dll+0x51114]
C  [ntdll.dll+0x5b429]
C  [ntdll.dll+0x5b3fc]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  com.sun.jna.Function.invokeVoid(I[Ljava/lang/Object;)V+0
j  com.sun.jna.Function.invoke([Ljava/lang/Object;Ljava/lang/Class;Z)Ljava/lang/Object;+45
j  com.sun.jna.Function.invoke(Ljava/lang/Class;[Ljava/lang/Object;Ljava/util/Map;)Ljava/lang/Object;+214
j  com.sun.jna.Library$Handler.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;+341
j  org.openqa.selenium.ie.$Proxy7.StopServer(Lcom/sun/jna/Pointer;)V+16
j  org.openqa.selenium.ie.InternetExplorerDriverServer.stop()V+13
j  org.openqa.selenium.ie.InternetExplorerDriver.stopClient()V+11
j  org.openqa.selenium.remote.RemoteWebDriver.quit()V+13
j  com.riskmanager.selenium.tests.Import_Objects_1.tearDown()V+3
v  ~StubRoutines::call_stub
j  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
j  sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87
j  sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
j  java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+161
j  org.junit.runners.model.FrameworkMethod$1.runReflectiveCall()Ljava/lang/Object;+15
j  org.junit.internal.runners.model.ReflectiveCallable.run()Ljava/lang/Object;+1
j  org.junit.runners.model.FrameworkMethod.invokeExplosively(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+10
j  org.junit.internal.runners.statements.RunAfters.evaluate()V+130
j  org.junit.runners.ParentRunner.run(Lorg/junit/runner/notification/RunNotifier;)V+20
j  org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(Lorg/eclipse/jdt/internal/junit/runner/TestExecution;)V+72
j  org.eclipse.jdt.internal.junit.runner.TestExecution.run([Lorg/eclipse/jdt/internal/junit/runner/ITestReference;)V+17
j  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests([Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/jdt/internal/junit/runner/TestExecution;)V+61
j  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(Lorg/eclipse/jdt/internal/junit/runner/TestExecution;)V+10
j  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run()V+70
j  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main([Ljava/lang/String;)V+14
v  ~StubRoutines::call_stub

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

Java Threads: ( => current thread )
  0x01c30c00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=4620, stack(0x04050000,0x040a0000)]
  0x01c2f000 JavaThread "CompilerThread0" daemon [_thread_blocked, id=5112, stack(0x04000000,0x04050000)]
  0x01c2d800 JavaThread "Attach Listener" daemon [_thread_blocked, id=364, stack(0x03fb0000,0x04000000)]
  0x01c2a800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=3728, stack(0x03f60000,0x03fb0000)]
  0x01be3000 JavaThread "Finalizer" daemon [_thread_blocked, id=5576, stack(0x03f10000,0x03f60000)]
  0x01be1800 JavaThread "Reference Handler" daemon [_thread_blocked, id=4880, stack(0x03ec0000,0x03f10000)]
=>0x01d2bc00 JavaThread "main" [_thread_in_native, id=5788, stack(0x01b50000,0x01ba0000)]

Other Threads:
  0x01bdf800 VMThread [stack: 0x03e70000,0x03ec0000] [id=3460]
  0x01c4a800 WatcherThread [stack: 0x040a0000,0x040f0000] [id=2840]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 def new generation   total 4928K, used 1240K [0x23e90000, 0x243e0000, 0x293e0000)
  eden space 4416K,  20% used [0x23e90000, 0x23f71e18, 0x242e0000)
  from space 512K,  65% used [0x242e0000, 0x243344c0, 0x24360000)
  to   space 512K,   0% used [0x24360000, 0x24360000, 0x243e0000)
 tenured generation   total 10944K, used 1761K [0x293e0000, 0x29e90000, 0x33e90000)
   the space 10944K,  16% used [0x293e0000, 0x295986c0, 0x29598800, 0x29e90000)
 compacting perm gen  total 12288K, used 7754K [0x33e90000, 0x34a90000, 0x37e90000)
   the space 12288K,  63% used [0x33e90000, 0x34622bd8, 0x34622c00, 0x34a90000)
    ro space 10240K,  54% used [0x37e90000, 0x3840b760, 0x3840b800, 0x38890000)
    rw space 12288K,  55% used [0x38890000, 0x38f2f798, 0x38f2f800, 0x39490000)

Dynamic libraries:
0x00400000 - 0x00424000     C:\Program Files\Java\jdk1.6.0_20\bin\javaw.exe
0x77620000 - 0x7775d000     C:\Windows\SYSTEM32\ntdll.dll
0x75ef0000 - 0x75fc4000     C:\Windows\system32\kernel32.dll
0x757f0000 - 0x7583a000     C:\Windows\system32\KERNELBASE.dll
0x00130000 - 0x0019c000     C:\Windows\SYSTEM32\SYSFER.DLL
0x76010000 - 0x760b0000     C:\Windows\system32\ADVAPI32.dll
0x75a70000 - 0x75b1c000     C:\Windows\system32\msvcrt.dll
0x760b0000 - 0x760c9000     C:\Windows\SYSTEM32\sechost.dll
0x777a0000 - 0x77841000     C:\Windows\system32\RPCRT4.dll
0x763b0000 - 0x76479000     C:\Windows\system32\USER32.dll
0x75ea0000 - 0x75eee000     C:\Windows\system32\GDI32.dll
0x75b80000 - 0x75b8a000     C:\Windows\system32\LPK.dll
0x774b0000 - 0x7754d000     C:\Windows\system32\USP10.dll
0x77780000 - 0x7779f000     C:\Windows\system32\IMM32.DLL
0x77550000 - 0x7761c000     C:\Windows\system32\MSCTF.dll
0x7c340000 - 0x7c396000     C:\Program Files\Java\jdk1.6.0_20\jre\bin\msvcr71.dll
0x6d8b0000 - 0x6db47000     C:\Program Files\Java\jdk1.6.0_20\jre\bin\client\jvm.dll
0x73bb0000 - 0x73be2000     C:\Windows\system32\WINMM.dll
0x756a0000 - 0x756eb000     C:\Windows\system32\apphelp.dll
0x6d860000 - 0x6d86c000     C:\Program Files\Java\jdk1.6.0_20\jre\bin\verify.dll
0x6d3e0000 - 0x6d3ff000     C:\Program Files\Java\jdk1.6.0_20\jre\bin\java.dll
0x6d340000 - 0x6d348000     C:\Program Files\Java\jdk1.6.0_20\jre\bin\hpi.dll
0x77770000 - 0x77775000     C:\Windows\system32\PSAPI.DLL
0x6d8a0000 - 0x6d8af000     C:\Program Files\Java\jdk1.6.0_20\jre\bin\zip.dll
0x6d6c0000 - 0x6d6d3000     C:\Program Files\Java\jdk1.6.0_20\jre\bin\net.dll
0x75fd0000 - 0x76005000     C:\Windows\system32\WS2_32.dll
0x77760000 - 0x77766000     C:\Windows\system32\NSI.dll
0x751b0000 - 0x751ec000     C:\Windows\system32\mswsock.dll
0x751a0000 - 0x751a6000     C:\Windows\System32\wship6.dll
0x74cf0000 - 0x74cf5000     C:\Windows\System32\wshtcpip.dll
0x73cd0000 - 0x73ce0000     C:\Windows\system32\NLAapi.dll
0x75070000 - 0x750b4000     C:\Windows\system32\DNSAPI.dll
0x71890000 - 0x71898000     C:\Windows\System32\winrnr.dll
0x71880000 - 0x71890000     C:\Windows\system32\napinsp.dll
0x71860000 - 0x71872000     C:\Windows\system32\pnrpnsp.dll
0x73310000 - 0x7332c000     C:\Windows\system32\IPHLPAPI.DLL
0x72f00000 - 0x72f07000     C:\Windows\system32\WINNSI.DLL
0x71b00000 - 0x71b06000     C:\Windows\system32\rasadhlp.dll
0x72b20000 - 0x72b58000     C:\Windows\System32\fwpuclnt.dll
0x751f0000 - 0x75206000     C:\Windows\system32\CRYPTSP.dll
0x74f90000 - 0x74fcb000     C:\Windows\system32\rsaenh.dll
0x74dc0000 - 0x74dd7000     C:\Windows\system32\USERENV.dll
0x75770000 - 0x7577b000     C:\Windows\system32\profapi.dll
0x756f0000 - 0x756fc000     C:\Windows\system32\CRYPTBASE.dll
0x10000000 - 0x10055000     C:\Users\lijin\AppData\Local\Temp\jna5324504781682852490.dll
0x61440000 - 0x61581000     C:\Users\lijin\AppData\Local\Temp\webdriver6680820747591636534libs\IEDriver.dll
0x74c30000 - 0x74c39000     C:\Windows\system32\VERSION.dll
0x77350000 - 0x774ac000     C:\Windows\system32\ole32.dll
0x76560000 - 0x765ef000     C:\Windows\system32\OLEAUT32.dll
0x742d0000 - 0x74460000     C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7600.16385_none_72fc7cbf861225ca\gdiplus.dll
0x74460000 - 0x744a0000     C:\Windows\system32\uxtheme.dll
0x75b20000 - 0x75b77000     C:\Windows\system32\SHLWAPI.dll
0x744a0000 - 0x7463e000     C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.16661_none_420fe3fa2b8113bd\comctl32.dll
0x75760000 - 0x7576e000     C:\Windows\system32\RpcRtRemote.dll
0x76480000 - 0x76503000     C:\Windows\system32\CLBCatQ.DLL
0x75700000 - 0x7575f000     C:\Windows\system32\SXS.DLL
0x6a550000 - 0x6ab0a000     C:\Windows\System32\mshtml.dll
0x760d0000 - 0x76206000     C:\Windows\system32\urlmon.dll
0x75b90000 - 0x75c85000     C:\Windows\system32\WININET.dll
0x75ca0000 - 0x75e9d000     C:\Windows\system32\iertutil.dll
0x75900000 - 0x75a1c000     C:\Windows\system32\CRYPT32.dll
0x757e0000 - 0x757ec000     C:\Windows\system32\MSASN1.dll
0x6bce0000 - 0x6bd0a000     C:\Windows\System32\msls31.dll
0x74c40000 - 0x74c61000     C:\Windows\system32\ntmarta.dll
0x76510000 - 0x76555000     C:\Windows\system32\WLDAP32.dll
0x61070000 - 0x6109b000     C:\Program Files\Internet Explorer\ieproxy.dll
0x75680000 - 0x7569a000     C:\Windows\system32\SspiCli.dll
0x73f00000 - 0x73f0f000     C:\Windows\system32\wkscli.dll
0x74f80000 - 0x74f89000     C:\Windows\system32\netutils.dll
0x76620000 - 0x77269000     C:\Windows\system32\SHELL32.dll
0x73df0000 - 0x73e42000     C:\Windows\system32\RASAPI32.dll
0x73dd0000 - 0x73de5000     C:\Windows\system32\rasman.dll
0x73dc0000 - 0x73dcd000     C:\Windows\system32\rtutils.dll
0x6ff00000 - 0x6ff06000     C:\Windows\system32\sensapi.dll
0x6fde0000 - 0x6fdef000     C:\Windows\system32\jsproxy.dll
0x70400000 - 0x704b2000     C:\Windows\System32\jscript.dll

VM Arguments:
jvm_args: -Duser=rst.ft.sss@riskmetrics -Dpass=temp1234 -Dlog4j.configuration=file:C:/Users/lijin/log4j/log4j.xml
-DConfigDomain.systemDomain=QA-ALPHA -DDirectAPI.domain=QA-ALPHA -Dfile.encoding=Cp1252

java_command: org.eclipse.jdt.internal.junit.runner.RemoteTestRunner -version 3 -port
62586 -testLoaderClass org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader -loaderpluginname
org.eclipse.jdt.junit4.runtime -classNames com.riskmanager.selenium.tests.Import_Objects_1
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=C:\Progra~1\Java\jdk1.6.0_20
PATH=C:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;C:/Program
Files/Java/jre6/lib/i386;C:\Perl\site\bin;C:\Perl\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program
Files\Enterprise Vault\EVClient\;C:\Progra~1\Java\jdk1.6.0_20\bin;C:\Program Files\apache-maven-2.2.1\bin;C:\Ruby192\bin
;C:\Program Files\doxygen\bin;C:\Program Files\TortoiseSVN\bin;C:\Ruby187\bin;C:\cygwin\bin
USERNAME=lijin
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 42 Stepping 7, GenuineIntel

Reported by ruby2001 on 2011-11-28 10:19:54

lukeis commented 8 years ago
 In order to be able to reproduce and fix the issue, need to know the version of Selenium
you are using, the code you are executing when the error happens, and either an HTML
page (along with the appropriate CSS and JavaScript files) or a public URL to a site
that reproduces the issue. This issue is not encountered by every piece of code that
uses the IE driver, so narrowing down the cause would be our first step.

Reported by james.h.evans.jr on 2011-11-28 11:23:49

lukeis commented 8 years ago
Add more info so that the issue can be located. attached pls find the error output

Reported by ruby2001 on 2011-11-29 02:31:59


lukeis commented 8 years ago

Reported by barancev on 2011-11-29 18:35:32

lukeis commented 8 years ago
I find the same problem. After some investigation i find that this error happens when
you create and destroy InternetExplorerDriver in different threads. I created simple
maven project, that you can use to reproduce this issue.

Also it doesn't metter you run this on virtual machine or on standalone Windows machine.

If you need more information about this problem don't hesitate to aks.

Reported by alexandr.kulik1988 on 2011-11-30 12:43:20


lukeis commented 8 years ago
Also i found if you run maven with -DformMode=never everything works fine. So my assumption
about different threads was wrong.

Reported by alexandr.kulik1988 on 2011-11-30 13:56:47

lukeis commented 8 years ago
I encountered same issue. Any resolution for this?

Reported by thavva1023 on 2012-01-24 10:10:31

lukeis commented 8 years ago
I have also encountered similar issue.

When I'm running test remotely in virtual machine on Windows XP, the 'Java.exe has
encountered a problem' dialog pop up.  Please see the attached detail and some information
below.  The test can execute successfully in Virtual Machine with Firefox and Chrome.

What steps will reproduce the problem?
After successfully login into our application it comes to the main page which cause
the “java.exe has encountered a problem…”.  This page requires the Chrome Frame installed
to work correctly.  

Selenium version: 2.15.0 
OS: Windows XP
Browser: InternetExplorer
Broswer version: 8.0.6001
Google Chrome Frame - 17.0.963.46

Reported by cindyhchiang2 on 2012-02-17 19:52:14


lukeis commented 8 years ago
We still need an executable test case to fix this.

Reported by dawagner on 2012-02-28 01:03:06

lukeis commented 8 years ago
Here is what I found:
  1) the jvm appears to crash when shutting down a session: driver.quit();  after some
level of interaction with web pages and closing all open pages.
2) The jvm does not always crash running a particuar test. The best prevention appears
to be removing the temp iedriver.dll created in C:\Documents and Settings\{username}\Local
Settings\Temp\webdriver*libs between test runs.

Selenium version 2.18
Java 6.22
OS XP sp 3
Browser IE 6

Reported by tdalan6009@yahoo.com on 2012-04-02 21:42:55

lukeis commented 8 years ago
I'm experiencing the same problem but couldn't isolate the part that is causing it.

Application has some popups and when the test clicks close on one of those, the error
usually occurs there. I've created a similar small application just copying the popup
opening/closing code but the problem is not reproducible on it. Will still be trying,
just please don't close the issue until it's resolved...

Selenium version 2.20
Java 6.31
OS XP Sp3 (VMware)
Browser IE 6

Reported by aleksander.wirth on 2012-04-03 06:37:56

lukeis commented 8 years ago
I ran into a similar issue. I have not been able to isolate it. However, I did find
a work-around.  I had a fairly long-running test sequence.  I found that if closed
and reopened my driver at convenient points in the sequence, I could avoid the problem.

Selenium version 2.20
Java 1.6.0_19
OS XP Sp3 (VMware)
Browser IE 8

In my case, the test code is being executed via a RemoteDriver.

Reported by houseofyin on 2012-04-04 16:33:39

lukeis commented 8 years ago
I have had similar issues,

* Remote WebDriver via java
* Selenium server standalone jar  (2.21)
* Java 1.6 update 30 32bit

I do a series of 'driver.get()' URLs
At the end of testing I have been using 'driver.quit()' after all 'driver.gets()' have
been run.

Reported by brad.latus on 2012-05-07 02:38:35


lukeis commented 8 years ago
Extra note:

This sort of error generally occurs after 1+ hours of running an IE test every 5 minutes.

Reported by brad.latus on 2012-05-07 02:51:07

lukeis commented 8 years ago
Finally I have managed to get a simple script that in my tests is able to quickly kill
a remote webdriver instance. The ruby script is attached.

It looks like the server dies when it tries to collect the hung browsers that the script
intentionally leaves there (no quit calls from the script).

The webdriver server instance is started with the following config:
java -jar selenium-server-standalone-2.21.0.jar -timeout 20 -port 4444 -maxSession
1 -browser "browserName=internet explorer,version=8,maxInstances=1" -browser browserName=chrome,version=18,maxInstances=10
-Dwebdriver.chrome.driver="C:\Documents and Settings\tuenti\My Documents\chromedriver_win_18.0.1022.0.exe"

Internet Explorer version is: 8.0.6001.18702
OS: Windows XP 5.1 (service pack 3)

Reported by davidst on 2012-05-14 15:10:14


lukeis commented 8 years ago
Also, I'm running the script locally on my MacBook and the server is running inside
a VirtualBox Windows instance

Reported by davidst on 2012-05-14 15:11:30

lukeis commented 8 years ago
Just a heads-up on this: I'm seeing that the embedded http server (mongoose) that the
C++ is using is stopped (and destroyed) when the first browser is reclaimed by the
SessionCleaner thread.

Also, when the second browser is then reclaimed by SessionCleaner, as the embedded
http server is down the request fails, aaaaand the SessionCleaner thread dies with
the runtimeexception that is thrown, so no more sessions are reclaimed... ever. This
second thing is more suited to a different bug, but I just wanted to comment it as
I have come across it while debugging the original jvm crash problem.

Reported by davidst on 2012-05-17 16:14:09

lukeis commented 8 years ago
Great debugging work.  I just started running into this and was going to try to figure
out what is going on.  I need to get a debug build together first.

Reported by nirvdrum on 2012-05-17 17:47:20

lukeis commented 8 years ago

Reported by nirvdrum on 2012-05-17 17:47:39

lukeis commented 8 years ago
Nevermind. I'm now testing a possible fix, but need to give it some more time and love
:)

Reported by davidst on 2012-05-17 18:02:20

lukeis commented 8 years ago
Kevin, after talking to Jim Evans last night he confirmed that some changes have been
pushed to trunk this week in the direction of using the IE driver in a way similar
to the Chrome one: and external .exe referenced with a config param that enables the
execution of an individual server for every session, so I will test how this works
with my current test scenario.

So far I was using 2.21 version.

Reported by davidst on 2012-05-18 07:57:27

lukeis commented 8 years ago
David,

I'd be interested in hearing if things clear up for you.  I've been building from trunk
and am still seeing the problem, unfortunately.

Reported by nirvdrum on 2012-05-18 12:36:23

lukeis commented 8 years ago
So far I can confirm you that the server crash I was able to reproduce with the ruby
script I provided above and the way I was starting the server is not happening with
current trunk for me.

Nevertheless, I want to test it also with our current webdriver suite that is working
like a charm with Chrome.

Reported by davidst on 2012-05-18 15:47:56

lukeis commented 8 years ago
Should be fixed in 2.22, as long as you're using the standalone IEDriverServer.exe

Reported by barancev on 2012-05-29 20:36:15

lukeis commented 8 years ago
Great - but how do i use the standalone IEDriverServer.exe when running as a grid node?

Reported by christoph.neuroth on 2012-06-27 08:33:13

lukeis commented 8 years ago
You have to pass an additional parameter when launching the .jar:

-Dwebdriver.ie.driver=c:\PATH\TO\IEDriverServer.exe

Reported by davidst on 2012-06-27 09:03:26

lukeis commented 8 years ago
Thanks. Does not help though. I can see from the log that the standalone driver server
is used, but as before, after about an hour of happily running tests, it fails with
a VC++ Runtime Error :(

Reported by christoph.neuroth on 2012-06-27 15:00:41

lukeis commented 8 years ago
I'm running into the exact same problem as christop...@gmail.com here is our log file.
I've been trying to resolve this for months :( 

Reported by elderjameskieley on 2012-06-27 20:44:06


lukeis commented 8 years ago
@elderjameskieley: You should use quotes to specify the path to the driver executable
if the path contains spaces. According to the log, Selenium has not found the executable
and falled back to the DLL loaded into Java using JNI.

Reported by barancev on 2012-06-28 15:29:07

lukeis commented 8 years ago
I'll give it a shot, thanks for the responce

Reported by elderjameskieley on 2012-06-28 16:02:58

lukeis commented 8 years ago
It works! :D Thank you so much for all your help!!!! 

Reported by elderjameskieley on 2012-06-28 21:14:16

lukeis commented 8 years ago
We've gone 24 hours without this problem after upgrading to IEDriverServer 2.24.2 (not
sure if that's what fixed it, but it seems to be gone for now). Thanks.

Reported by christoph.neuroth on 2012-06-29 07:12:54

lukeis commented 8 years ago

Reported by luke.semerau on 2015-09-17 18:14:16