WindowTester6.0.0 not running with 64bit linux and 64bit jvm

WindowTester allows you to easily create and run unit tests for every GUI they build. It can also be used to generate system level tests.

Moderators: gnebling, Eric Clayberg, Dan Rubel, keertip, Phil Quitslund

WindowTester6.0.0 not running with 64bit linux and 64bit jvm

Postby nartubitak » Tue Mar 01, 2011 2:21 am

I try to run WindowTester6.0.0 in the following environment:

    OS: Ubuntu 10.04 LTS - the Lucid Lynx, 2.6.32-28-generic #55-Ubuntu SMP Mon Jan 10 23:42:43 UTC 2011 x86_64 GNU/Linux
    Java: java version "1.6.0_24", Java(TM) SE Runtime Environment (build 1.6.0_24-b07), Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode)
    Dev Env: Eclipse for RCP and RAP Developers, Version: Helios Service Release 1, Build id: 20100917-0705
    locale:
      LANG=en_US.utf8
      LC_CTYPE="en_US.utf8"
      LC_NUMERIC="en_US.utf8"
      LC_TIME="en_US.utf8"
      LC_COLLATE="en_US.utf8"
      LC_MONETARY="en_US.utf8"
      LC_MESSAGES="en_US.utf8"
      LC_PAPER="en_US.utf8"
      LC_NAME="en_US.utf8"
      LC_ADDRESS="en_US.utf8"
      LC_TELEPHONE="en_US.utf8"
      LC_MEASUREMENT="en_US.utf8"
      LC_IDENTIFICATION="en_US.utf8"
      LC_ALL=

I get that error:
Code: Select all
Caused by: java.lang.RuntimeException: Failed to create widget reference for instance of org.eclipse.swt.widgets.Menu
   WindowTester: 201009131510 - linux,gtk,x86_64
     at com.windowtester.runtime.internal.factory.WTRuntimeManager.createReference(WTRuntimeManager.java:95)
     at com.windowtester.runtime.internal.factory.WTRuntimeManager.asReference(WTRuntimeManager.java:36)
     at com.windowtester.runtime.swt.locator.SWTWidgetLocator.matches(SWTWidgetLocator.java:241)
     at com.windowtester.runtime.swt.internal.finder.matchers.SWTFinderMatcherAdapter.matches(SWTFinderMatcherAdapter.java:29)
     at com.windowtester.runtime.swt.internal.finder.legacy.WidgetFinder.findMatches(WidgetFinder.java:341)
     at com.windowtester.runtime.swt.internal.finder.legacy.WidgetFinder.findMatches(WidgetFinder.java:336)
     at com.windowtester.runtime.swt.internal.finder.legacy.WidgetFinder.findMatches(WidgetFinder.java:336)
     at com.windowtester.runtime.swt.internal.finder.legacy.WidgetFinder.findMatches(WidgetFinder.java:336)
     at com.windowtester.runtime.swt.internal.finder.legacy.WidgetFinder$1.run(WidgetFinder.java:285)
     at com.windowtester.runtime.swt.internal.display.DisplayExec$1.call(DisplayExec.java:31)
     at com.windowtester.runtime.swt.internal.widgets.DisplayReference$5.call(DisplayReference.java:139)
     at com.windowtester.runtime.swt.internal.widgets.SWTUIExecutor.execute(SWTUIExecutor.java:132)
     at com.windowtester.runtime.swt.internal.widgets.SWTUIExecutor.run(SWTUIExecutor.java:87)


Is there a fix or workaround for this?
nartubitak
 
Posts: 5
Joined: Tue Oct 06, 2009 12:42 am

Re: WindowTester6.0.0 not running with 64bit linux and 64bit

Postby gnebling » Tue Mar 01, 2011 9:07 am

64bit is not supported. Try with a 32bit JVM and 32 bit Eclipse.
gnebling
Moderator
 
Posts: 243
Joined: Tue Aug 22, 2006 7:49 am

Re: WindowTester6.0.0 not running with 64bit linux and 64bit

Postby jim_mayer » Fri Mar 18, 2011 4:45 am

Is there any outlook for adding 64 bit support? We'd like to use this tool, but switching to a 32 bit build environment is not an option.
jim_mayer
 
Posts: 3
Joined: Fri Mar 18, 2011 4:41 am

Re: WindowTester6.0.0 not running with 64bit linux and 64bit

Postby Eric Clayberg » Fri Mar 18, 2011 6:13 am

At this point in time, we do not have plans to support 64-bit Linux.

Note that the 32-bit version will run fine on a 64-bit Linux system.
Eric Clayberg
Software Engineering Manager
Google
http://code.google.com/webtoolkit/download.html

Author: "Eclipse Plug-ins"
http://www.qualityeclipse.com
Eric Clayberg
Moderator
 
Posts: 4503
Joined: Tue Sep 30, 2003 6:39 am
Location: Boston, MA USA

Re: WindowTester6.0.0 not running with 64bit linux and 64bit

Postby jim_mayer » Sun Mar 20, 2011 3:49 pm

Eric, thank you for the quick response. I'll give the 32 bit version a try, but I remain concerned about the complication of using both 32 and 64 bit software on one system. It means that we will need two jvms, will need to build 32 and 64 bit versions of any JNI code we load, and will need to install 32 bit versions of any libraries needed by the JVM (mostly libc, libdl, and libpthread from the looks of it). It's a systemic issue that affects our tool chain and introduces additional overhead and opportunities for mistakes.

As an aside, what's the nature of the problem? Is it a glitch in the SWT libraries? I'm curious, because most stuff seems to "just work" in the 64 bit world nowadays (including WindowTester on Swing applications).

Thanks.

-- Jim
jim_mayer
 
Posts: 3
Joined: Fri Mar 18, 2011 4:41 am

Re: WindowTester6.0.0 not running with 64bit linux and 64bit

Postby danBhentschel » Thu Mar 24, 2011 4:51 am

I was able to get WindowTester to record on a 64-bit Linux box by running a 32-bit Eclipse against a 32-bit JRE. However, I can't run my recorded tests. I get the following error in the Console:

Code: Select all
java.lang.ClassNotFoundException: com.windowtester.runtime.swt.internal.widgets.linux.gtk.x86.WTRuntimeFactorySWT_linux_gtk_x86
   at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
   at com.windowtester.runtime.internal.factory.WTRuntimeFactoryReferenceJava.createFactory(WTRuntimeFactoryReferenceJava.java:185)
   at com.windowtester.runtime.internal.factory.WTRuntimeFactoryReference.getFactory(WTRuntimeFactoryReference.java:70)
   at com.windowtester.runtime.internal.factory.WTRuntimeFactoryReference.createReference(WTRuntimeFactoryReference.java:57)
   at com.windowtester.runtime.internal.factory.WTRuntimeManager.createReference(WTRuntimeManager.java:87)
   at com.windowtester.runtime.internal.factory.WTRuntimeManager.asReference(WTRuntimeManager.java:36)
   at com.windowtester.runtime.swt.internal.widgets.SWTWidgetReference.forWidget(SWTWidgetReference.java:315)
   at com.windowtester.runtime.swt.internal.widgets.SWTWidgetReference.asControlReferences(SWTWidgetReference.java:234)
   at com.windowtester.runtime.swt.internal.widgets.CompositeReference$1.call(CompositeReference.java:24)
   at com.windowtester.runtime.swt.internal.widgets.CompositeReference$1.call(CompositeReference.java:1)
   at com.windowtester.runtime.swt.internal.widgets.SWTUIExecutor.execute(SWTUIExecutor.java:132)
   at com.windowtester.runtime.swt.internal.widgets.SWTUIExecutor.run(SWTUIExecutor.java:87)
   at com.windowtester.runtime.swt.internal.widgets.DisplayReference.execute(DisplayReference.java:121)
   at com.windowtester.runtime.swt.internal.widgets.DisplayReference.execute(DisplayReference.java:100)
   at com.windowtester.runtime.swt.internal.widgets.CompositeReference.getChildControls(CompositeReference.java:22)
   at com.windowtester.runtime.swt.internal.widgets.CompositeReference.setChildren(CompositeReference.java:31)
   at com.windowtester.runtime.swt.internal.widgets.DecorationsReference.setChildren(DecorationsReference.java:64)
   at com.windowtester.runtime.swt.internal.widgets.SWTWidgetReference$1.call(SWTWidgetReference.java:111)
   at com.windowtester.runtime.swt.internal.SWTUtils.safeExec(SWTUtils.java:58)
   at com.windowtester.runtime.swt.internal.widgets.SWTWidgetReference.getChildren(SWTWidgetReference.java:108)
   at com.windowtester.runtime.swt.internal.widgets.SWTWidgetReference.accept(SWTWidgetReference.java:296)
   at com.windowtester.runtime.swt.internal.widgets.finder.MatchCollector.findMatchesIn(MatchCollector.java:55)
   at com.windowtester.runtime.swt.internal.widgets.SWTWidgetReference.findWidgets(SWTWidgetReference.java:285)
   at com.windowtester.runtime.swt.internal.widgets.finder.SWTWidgetFinder$1.call(SWTWidgetFinder.java:112)
   at com.windowtester.runtime.swt.internal.widgets.finder.SWTWidgetFinder$1.call(SWTWidgetFinder.java:1)
   at com.windowtester.runtime.swt.internal.widgets.SWTUIExecutor.execute(SWTUIExecutor.java:132)
   at com.windowtester.runtime.swt.internal.widgets.SWTUIExecutor.access$0(SWTUIExecutor.java:130)
   at com.windowtester.runtime.swt.internal.widgets.SWTUIExecutor$1.run(SWTUIExecutor.java:91)
   at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
   at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
   at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3515)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3164)
   at com.xerox.vorpal.MainWindow.open(MainWindow.java:69)
   at com.xerox.vorpal.MainWindow$1.run(MainWindow.java:47)
   at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
   at com.xerox.vorpal.MainWindow.main(MainWindow.java:43)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at com.windowtester.internal.runtime.junit.core.launcher.LauncherFactory$MainRunner$1.run(LauncherFactory.java:121)
   at com.windowtester.internal.runtime.junit.core.launcher.LauncherFactory$SeparateThreadLauncher$1.run(LauncherFactory.java:90)
   at java.lang.Thread.run(Thread.java:662)
danBhentschel
 
Posts: 2
Joined: Thu Mar 24, 2011 4:04 am

Re: WindowTester6.0.0 not running with 64bit linux and 64bit

Postby keertip » Wed Mar 30, 2011 7:58 am

WindowTester should run fine in a 32bit eclipse and jvm. We are not able to reproduce this problem at our end. Could you uninstall WT and do a fresh install? Maybe the plugin is missing.
keertip
Moderator
 
Posts: 221
Joined: Thu Mar 15, 2007 10:26 am

Re: WindowTester6.0.0 not running with 64bit linux and 64bit

Postby danBhentschel » Wed Mar 30, 2011 8:42 am

I tried removing and re-installing the plugin. I also tried wiping our my eclipse configuration directory and starting a new workspace. (I have sometimes seen settings in one of these two places mess up a plugin.) None of this had any effect. I was still able to record tests, but I could not play them back. After playing with the AddressBookSWT project a bit, I was finally able to get it to work by adding the following jar files to the project build path:

Code: Select all
    <classpathentry kind="lib" path="/opt/eclipse-configuration/lusr_32bit/plugins/com.windowtester.swt.runtime.linux.gtk.x86_6.0.0.r36x201009131510/wt-linux-gtk-x86.jar"/>
    <classpathentry kind="lib" path="/opt/eclipse-configuration/lusr_32bit/plugins/com.windowtester.eclipse.ui_6.0.0.r36x201009141344/ui.jar"/>
    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.ui.forms_3.5.2.r36_v20100702.jar"/>
    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.ui.workbench_3.6.2.M20110210-1200.jar"/>


The first two are from my eclipse configuration directory. Not sure why I had different results than you, but with some massaging, I was able to make it work. I expect I can go through a similar exercise and get it to work with our application.

- dan
danBhentschel
 
Posts: 2
Joined: Thu Mar 24, 2011 4:04 am

Re: WindowTester6.0.0 not running with 64bit linux and 64bit

Postby keertip » Thu Apr 07, 2011 9:09 am

Thanks for the information. Glad you could get it to work
keertip
Moderator
 
Posts: 221
Joined: Thu Mar 15, 2007 10:26 am


Return to Window Tester

Who is online

Users browsing this forum: No registered users and 1 guest

cron