Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[rcptt-users] java.lang.NoSuchFieldException while recording/replaying test cases

Hi,

recently I started evaluating RCPTT as a testing tool for our various RCP-based applications. Initially, I was using the 2.0.2 release and it all worked fine. Afterwards, I switched to the master branch following the guide [1] to make my own little modifications. Ever since I'm seeing the following issue:

1) The AUT launches opening the Tesla/ECL ports, no errors/exceptions
2) When I hit e.g., the Record button, the recording window appears with "Connecting" status. Meanwhile, in the console.log I see the following entries:

java.lang.NoSuchFieldException: timerList
        at java.lang.Class.getDeclaredField(Class.java:2070)
        at org.eclipse.rcptt.tesla.swt.events.TimerUtils.getTimers(TimerUtils.java:20)
        at org.eclipse.rcptt.tesla.internal.ui.player.TeslaSWTAccess.getTimers(TeslaSWTAccess.java:449)
        at org.eclipse.rcptt.tesla.internal.ui.player.SWTUIPlayer.hasTimers(SWTUIPlayer.java:1904)
        at org.eclipse.rcptt.tesla.ecl.impl.UIRunnable$1.doProcessing(UIRunnable.java:66)
        at org.eclipse.rcptt.tesla.swt.events.TeslaEventManager.doProcessing(TeslaEventManager.java:109)
        at org.eclipse.rcptt.tesla.swt.aspects.DisplayAspect.ajc$around$org_eclipse_rcptt_tesla_swt_aspects_DisplayAspect$1$e269b158(DisplayAspect.aj:87)
        at org.eclipse.swt.widgets.Display.sleep(Display.java:3978)
        at org.eclipse.ui.application.WorkbenchAdvisor.eventLoopIdle(WorkbenchAdvisor.java:364)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2641)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
        at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
        at gcs.scc.application.Application.start(Unknown Source)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
        at org.eclipse.equinox.launcher.Main.main(Main.java:1384)

After >5100 instances of the exception above, the connection is established and I can record as usual. When I hit replay, I see the same exceptions and then the test case is being replayed.

I can reproduce the behavior on master, 2.1.0-release, 2.1.0-maintenance and other more recent branches. Again, I don't see this behavior in the commit tagged as the 2.0.2 release. However, I want to develop on the master to use some of the recently introduced features.

Any ideas where this transient exception is coming from? I'd appreciate any pointers.

Here is some logging output:

[...]
!ENTRY org.eclipse.rcptt.runtime.ui 1 0 2016-06-13 15:43:56.786
!MESSAGE Trying to start ECL server on port 7001

!ENTRY org.eclipse.rcptt.runtime.ui 1 0 2016-06-13 15:43:56.848
!MESSAGE ECL server started on port 7001

!ENTRY org.eclipse.rcptt.runtime.ui 1 0 2016-06-13 15:43:56.859
!MESSAGE Verified that local ECL server is working

!ENTRY org.eclipse.rcptt.runtime.ui 1 0 2016-06-13 15:43:56.863
!MESSAGE Trying to start Tesla server on port 7001

!ENTRY org.eclipse.rcptt.runtime.ui 1 0 2016-06-13 15:43:56.866
!MESSAGE Trying to start Tesla server on port 7002

!ENTRY org.eclipse.rcptt.runtime.ui 1 0 2016-06-13 15:43:56.922
!MESSAGE Tesla server started on port 7002
[org.eclipse.rcptt.tesla.ecl.impl] info AspectJ Weaver Version 1.7.0 built on Tuesday Jul 3, 2012 at 22:30:30 GMT
[org.eclipse.rcptt.tesla.ecl.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.DisplayAspect
[org.eclipse.rcptt.tesla.ecl.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.DebugDisplayAspect
[org.eclipse.rcptt.tesla.ecl.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.DNDAspect
[org.eclipse.rcptt.tesla.ecl.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.MenuAspect
[org.eclipse.rcptt.tesla.ecl.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.EventFilterAspect
[org.eclipse.rcptt.tesla.ecl.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.BrowserAspect
[org.eclipse.rcptt.tesla.ecl.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.ClipboardAspect
[org.eclipse.rcptt.tesla.ecl.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.ImagesAspect
[org.eclipse.rcptt.tesla.jdt] info AspectJ Weaver Version 1.7.0 built on Tuesday Jul 3, 2012 at 22:30:30 GMT
[org.eclipse.rcptt.tesla.jdt] info register aspect org.eclipse.rcptt.tesla.jdt.JDTAspect
[org.eclipse.rcptt.ctx.preferences.impl] info AspectJ Weaver Version 1.7.0 built on Tuesday Jul 3, 2012 at 22:30:30 GMT
[org.eclipse.rcptt.ctx.preferences.impl] info register aspect org.eclipse.rcptt.runtime.ui.preferences.aspects.DialogSettingsAspect
[org.eclipse.rcptt.ctx.preferences.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.DisplayAspect
[org.eclipse.rcptt.ctx.preferences.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.DebugDisplayAspect
[org.eclipse.rcptt.ctx.preferences.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.DNDAspect
[org.eclipse.rcptt.ctx.preferences.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.MenuAspect
[org.eclipse.rcptt.ctx.preferences.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.EventFilterAspect
[org.eclipse.rcptt.ctx.preferences.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.BrowserAspect
[org.eclipse.rcptt.ctx.preferences.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.ClipboardAspect
[org.eclipse.rcptt.ctx.preferences.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.ImagesAspect
[org.eclipse.rcptt.ctx.resources.impl] info AspectJ Weaver Version 1.7.0 built on Tuesday Jul 3, 2012 at 22:30:30 GMT
[org.eclipse.rcptt.ctx.resources.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.DisplayAspect
[org.eclipse.rcptt.ctx.resources.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.DebugDisplayAspect
[org.eclipse.rcptt.ctx.resources.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.DNDAspect
[org.eclipse.rcptt.ctx.resources.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.MenuAspect
[org.eclipse.rcptt.ctx.resources.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.EventFilterAspect
[org.eclipse.rcptt.ctx.resources.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.BrowserAspect
[org.eclipse.rcptt.ctx.resources.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.ClipboardAspect
[org.eclipse.rcptt.ctx.resources.impl] info register aspect org.eclipse.rcptt.tesla.swt.aspects.ImagesAspect

!ENTRY org.eclipse.rcptt.tesla.core 4 0 2016-06-13 15:44:14.075
!MESSAGE timerList
!STACK 0
java.lang.NoSuchFieldException: timerList
        at java.lang.Class.getDeclaredField(Class.java:2070)
        at org.eclipse.rcptt.tesla.swt.events.TimerUtils.getTimers(TimerUtils.java:20)
        at org.eclipse.rcptt.tesla.internal.ui.player.TeslaSWTAccess.getTimers(TeslaSWTAccess.java:449)
        at org.eclipse.rcptt.tesla.internal.ui.player.SWTUIPlayer.hasTimers(SWTUIPlayer.java:1904)
        at org.eclipse.rcptt.tesla.ecl.impl.UIRunnable$1.doProcessing(UIRunnable.java:66)
        at org.eclipse.rcptt.tesla.swt.events.TeslaEventManager.doProcessing(TeslaEventManager.java:109)
        at org.eclipse.rcptt.tesla.swt.aspects.DisplayAspect.ajc$around$org_eclipse_rcptt_tesla_swt_aspects_DisplayAspect$1$e269b158(DisplayAspect.aj:87)
        [...]

5147 instances later...

[org.eclipse.rcptt.expandbar.runtime] info AspectJ Weaver Version 1.7.0 built on Tuesday Jul 3, 2012 at 22:30:30 GMT
[org.eclipse.rcptt.expandbar.runtime] info register aspect org.eclipse.rcptt.tesla.recording.aspects.RecordingAspect
[org.eclipse.rcptt.expandbar.runtime] info register aspect org.eclipse.rcptt.tesla.swt.aspects.DisplayAspect
[org.eclipse.rcptt.expandbar.runtime] info register aspect org.eclipse.rcptt.tesla.swt.aspects.DebugDisplayAspect
[org.eclipse.rcptt.expandbar.runtime] info register aspect org.eclipse.rcptt.tesla.swt.aspects.DNDAspect
[org.eclipse.rcptt.expandbar.runtime] info register aspect org.eclipse.rcptt.tesla.swt.aspects.MenuAspect
[org.eclipse.rcptt.expandbar.runtime] info register aspect org.eclipse.rcptt.tesla.swt.aspects.EventFilterAspect
[...]


Thanks,
Raimondas

[1] http://wiki.eclipse.org/RCPTT/Contribution_Guide

Back to the top