Dinesh Kumar
Dinesh Kumar

Reputation: 31

junit failures in hudson - swterror -No more handles

I am trying build my UI project in hudson server. I am getting junit failures in Hudson. When I build the project locally, build is successful. I am trying to execute clean and deploy goals(maven 2.2.1) in Hudson.

Error message in Hudson:

Error Message No more handles Stacktrace at org.eclipse.swt.SWT.error(SWT.java:4308) at org.eclipse.swt.SWT.error(SWT.java:4197) at org.eclipse.swt.SWT.error(SWT.java:4168) at org.eclipse.swt.widgets.Widget.error(Widget.java:468) at org.eclipse.swt.widgets.Control.createHandle(Control.java:704) at org.eclipse.swt.widgets.Label.createHandle(Label.java:199) at org.eclipse.swt.widgets.Control.createWidget(Control.java:744) at org.eclipse.swt.widgets.Control.(Control.java:112) at org.eclipse.swt.widgets.Label.(Label.java:101) at com.cerner.revenuecycle.ui.common.themes.Components.createLabel(Components.java:161) at com.cerner.financials.ui.chargeentry.internal.anesthesia.AnesthesiaComposite.renderCalculationGroup(AnesthesiaComposite.java:627) at com.cerner.financials.ui.chargeentry.internal.anesthesia.AnesthesiaComposite.renderRightComposite(AnesthesiaComposite.java:487) at com.cerner.financials.ui.chargeentry.internal.anesthesia.AnesthesiaComposite.render(AnesthesiaComposite.java:253) at com.cerner.financials.ui.chargeentry.internal.anesthesia.AnesthesiaComposite.(AnesthesiaComposite.java:174) at com.cerner.financials.ui.chargeentry.internal.anesthesia.AnesthesiaCompositeTest.setUp(AnesthesiaCompositeTest.java:98) at com.cerner.engineering.pde.test.EclipseTestRunner.run(EclipseTestRunner.java:313) at com.cerner.engineering.pde.test.MultiTestRunnerApplication.runOneTest(MultiTestRunnerApplication.java:191) at com.cerner.engineering.pde.test.MultiTestRunnerApplication.runTests(MultiTestRunnerApplication.java:138) at com.cerner.engineering.pde.test.MultiTestRunnerApplication.run(MultiTestRunnerApplication.java:37) at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198) 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:344) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336) at org.eclipse.core.launcher.Main.basicRun(Main.java:280) at org.eclipse.core.launcher.Main.run(Main.java:977) at org.eclipse.core.launcher.Main.main(Main.java:952)

I googled a lot and found some links where people had the same issue. It was suggested to enable 'Run XVnc on build' in Hudson server. But my Hudson server runs windows Server 2008. I don't think, I will be needing Vnc. Please help me in fixing this issue. Thank you.

Upvotes: 0

Views: 161

Answers (1)

alphakermit
alphakermit

Reputation: 111

Assuming that your JUnit-Test is setting up an UI which creates more UI-elements (=handles) than your server can handle, there are two options to resolve your problem:

  1. Take care of the disposal of your widgets: It's a general rule that if you create a widget, you are the one to dispose it (dispose-method).
  2. Increase the limit of handles your Windows Server 2008 can draw. Since I'm not familiar with Windows Server 2008, I am not able to tell you which registry entry you will have to modify. Windows generally has limits for handles overall and per process.

Upvotes: 1

Related Questions