# My URCap kill URSim

**URL:** <https://forum.universal-robots.com/t/my-urcap-kill-ursim/9671>\
**Category:** URCap Development\
**Created:** [November 5, 2020, 4:56pm UTC](https://forum.universal-robots.com/t/my-urcap-kill-ursim/9671 "2020-11-05T16:56:52Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![anon71220377](https://avatars.discourse-cdn.com/v4/letter/a/74df32/32.png) [@anon71220377](https://forum.universal-robots.com/u/anon71220377)\
**Post date:** [November 5, 2020, 4:56pm UTC](https://forum.universal-robots.com/t/my-urcap-kill-ursim/9671/1 "2020-11-05T16:56:52Z")

</div>

Hi,

I’m developing a URCap which insert nodes to the program tree. I have written the Contribution and it worked fine, but when I started adding more and more to thee View URSim crashed with the following error:

{thread: Thread-2 , loggerClass: com.ur.polyscope.controllerinterface.internal.ControllerSocket}  
08:42:50.923 ERROR - Crashed while loading {thread: Thread-2 , loggerClass: gui.main.URGUI}  
com.google.inject.ProvisionException: Unable to provision, see the following errors:

1. Error injecting constructor, java.lang.NullPointerException  
at com.ur.program.edit.infrastructure.AddNodeStructureView.(AddNodeStructureView.java:72)  
at com.ur.program.edit.infrastructure.AddNodeStructureView.class(AddNodeStructureView.java:51)  
while locating com.ur.program.edit.infrastructure.AddNodeStructureView  
for the 1st parameter of com.ur.program.edit.infrastructure.G5LeftReplacement.(G5LeftReplacement.java:28)  
while locating com.ur.program.edit.infrastructure.G5LeftReplacement  
for the 1st parameter of com.ur.program.edit.infrastructure.G5LeftToggle.(G5LeftToggle.java:25)  
while locating com.ur.program.edit.infrastructure.G5LeftToggle  
for the 2nd parameter of com.ur.program.edit.infrastructure.G5SidePanels.(G5SidePanels.java:26)  
while locating com.ur.program.edit.infrastructure.G5SidePanels  
while locating gui.tree.SidePlaceholders  
for the 3rd parameter of gui.polyscope.program.ProgramPanel.(ProgramPanel.java:115)  
at gui.polyscope.program.ProgramPanel.class(ProgramPanel.java:68)  
while locating gui.polyscope.program.ProgramPanel  
at gui.polyscope.ProgramTab.(ProgramTab.java:38)  
at gui.polyscope.ProgramTab.class(ProgramTab.java:25)  
while locating gui.polyscope.ProgramTab  
at gui.main.MainPanel.(MainPanel.java:23)  
at gui.main.MainPanel.class(MainPanel.java:23)  
while locating gui.main.MainPanel  
for the 1st parameter of gui.main.ExtensibleMainPanel.(ExtensibleMainPanel.java:16)  
at gui.main.ExtensibleMainPanel.class(ExtensibleMainPanel.java:16)  
while locating gui.main.ExtensibleMainPanel  
at gui.main.URGUI.(URGUI.java:108)  
at gui.main.URGUI.class(URGUI.java:96)  
while locating gui.main.URGUI

There are many more rows of errors, but I hope somebody can figure out the problem from this. Even after leaving the View completely empty (only the buildUI() method is present), the problem is still here.

Thanks,  
Viktor

---

<div class="post-metadata">

**Author:** ![moliveira](https://avatars.discourse-cdn.com/v4/letter/m/ecb155/32.png) [@moliveira](https://forum.universal-robots.com/u/moliveira)\
**Post date:** [November 6, 2020, 2:14pm UTC](https://forum.universal-robots.com/t/my-urcap-kill-ursim/9671/2 "2020-11-06T14:14:57Z")

</div>

Did you check line 72 of your AddNodeStructureView.java? It looks like there is a null pointer somewhere in your code. Just trace back your error code by following the error from top down. So line 72, than line 51, and so forth.

---

<div class="post-metadata">

**Author:** ![anon71220377](https://avatars.discourse-cdn.com/v4/letter/a/74df32/32.png) [@anon71220377](https://forum.universal-robots.com/u/anon71220377)\
**Post date:** [November 6, 2020, 7:06pm UTC](https://forum.universal-robots.com/t/my-urcap-kill-ursim/9671/3 "2020-11-06T19:06:15Z")

</div>

The problem is that I don’t have an AddNodeStructureView class, I guess it is part of the sdk.

I am working on a project named hu.co.unitech.drawer. This is the full error list:

10:58:33.161 ERROR - Crashed while loading {thread: Thread-2 , loggerClass: gui.main.URGUI}  
com.google.inject.ProvisionException: Unable to provision, see the following errors:

1. Error injecting constructor, java.lang.NullPointerException  
at com.ur.program.edit.infrastructure.AddNodeStructureView.(AddNodeStructureView.java:72)  
at com.ur.program.edit.infrastructure.AddNodeStructureView.class(AddNodeStructureView.java:51)  
while locating com.ur.program.edit.infrastructure.AddNodeStructureView  
for the 1st parameter of com.ur.program.edit.infrastructure.G5LeftReplacement.(G5LeftReplacement.java:28)  
while locating com.ur.program.edit.infrastructure.G5LeftReplacement  
for the 1st parameter of com.ur.program.edit.infrastructure.G5LeftToggle.(G5LeftToggle.java:25)  
while locating com.ur.program.edit.infrastructure.G5LeftToggle  
for the 2nd parameter of com.ur.program.edit.infrastructure.G5SidePanels.(G5SidePanels.java:26)  
while locating com.ur.program.edit.infrastructure.G5SidePanels  
while locating gui.tree.SidePlaceholders  
for the 3rd parameter of gui.polyscope.program.ProgramPanel.(ProgramPanel.java:115)  
at gui.polyscope.program.ProgramPanel.class(ProgramPanel.java:68)  
while locating gui.polyscope.program.ProgramPanel  
at gui.polyscope.ProgramTab.(ProgramTab.java:38)  
at gui.polyscope.ProgramTab.class(ProgramTab.java:25)  
while locating gui.polyscope.ProgramTab  
at gui.main.MainPanel.(MainPanel.java:23)  
at gui.main.MainPanel.class(MainPanel.java:23)  
while locating gui.main.MainPanel  
for the 1st parameter of gui.main.ExtensibleMainPanel.(ExtensibleMainPanel.java:16)  
at gui.main.ExtensibleMainPanel.class(ExtensibleMainPanel.java:16)  
while locating gui.main.ExtensibleMainPanel  
at gui.main.URGUI.(URGUI.java:108)  
at gui.main.URGUI.class(URGUI.java:96)  
while locating gui.main.URGUI

1 error  
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1028) ~[?:?]  
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1054) ~[?:?]  
at com.ur.injection.GuiceBuilder.get(GuiceBuilder.java:30) ~[polyscope-lang-3.5.10.jar:?]  
at gui.main.URGUI.runInitThreads(URGUI.java:385) [polyscope-internal-view-10.9.276.jar:?]  
at gui.main.URGUI.run(URGUI.java:217) [polyscope-internal-view-10.9.276.jar:?]  
at gui.main.Activator$StartPolyScopeThread.run(Activator.java:81) [polyscope-internal-view-10.9.276.jar:?]  
Caused by: java.lang.NullPointerException  
at sun.font.FontDesignMetrics.stringWidth(FontDesignMetrics.java:472) ~[?:1.8.0\_272]  
at com.ur.view.gui.treeview.BaseAccordionView.formatNameIfTooLong(BaseAccordionView.java:262) ~[?:?]  
at com.ur.view.gui.treeview.BaseAccordionView.decorateButton(BaseAccordionView.java:251) ~[?:?]  
at com.ur.program.edit.infrastructure.AddNodeStructureView.setupButton(AddNodeStructureView.java:193) ~[?:?]  
at com.ur.program.edit.infrastructure.AddNodeStructureView.access$1(AddNodeStructureView.java:192) ~[?:?]  
at com.ur.program.edit.infrastructure.AddNodeStructureView$NodeFactorySite.addProgramNodeFactory(AddNodeStructureView.java:240) ~[?:?]  
at com.ur.view.polyscope.module.programs.ProgramContributionProviderImpl.contributeToProgramFactory(ProgramContributionProviderImpl.java:36) ~[?:?]  
at com.ur.program.edit.infrastructure.AddNodeStructureView.(AddNodeStructureView.java:106) ~[?:?]  
at com.ur.program.edit.infrastructure.AddNodeStructureView$$FastClassByGuice$$6e8efe4a.newInstance() ~[?:?]  
at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89) ~[?:?]  
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:111) ~[?:?]  
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90) ~[?:?]  
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268) ~[?:?]  
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) ~[?:?]  
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) ~[?:?]  
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) ~[?:?]  
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194) ~[?:?]  
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) ~[?:?]  
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) ~[?:?]  
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) ~[?:?]  
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:110) ~[?:?]  
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90) ~[?:?]  
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268) ~[?:?]  
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) ~[?:?]  
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) ~[?:?]  
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:110) ~[?:?]  
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90) ~[?:?]  
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268) ~[?:?]  
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) ~[?:?]  
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) ~[?:?]  
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:110) ~[?:?]  
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90) ~[?:?]  
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268) ~[?:?]  
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:56) ~[?:?]  
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) ~[?:?]  
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) ~[?:?]  
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:110) ~[?:?]  
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90) ~[?:?]  
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268) ~[?:?]  
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) ~[?:?]  
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) ~[?:?]  
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) ~[?:?]  
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194) ~[?:?]  
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) ~[?:?]  
at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1019) ~[?:?]  
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) ~[?:?]  
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1015) ~[?:?]  
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1054) ~[?:?]  
at com.ur.injection.GuiceBuilder.get(GuiceBuilder.java:30) ~[?:?]  
at gui.polyscope.ProgramTab.(ProgramTab.java:44) ~[?:?]  
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0\_272]  
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0\_272]  
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0\_272]  
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0\_272]  
at com.google.inject.internal.DefaultConstructionProxyFactory$ReflectiveProxy.newInstance(DefaultConstructionProxyFactory.java:126) ~[?:?]  
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:111) ~[?:?]  
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90) ~[?:?]  
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268) ~[?:?]  
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) ~[?:?]  
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) ~[?:?]  
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) ~[?:?]  
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194) ~[?:?]  
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) ~[?:?]  
at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1019) ~[?:?]  
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) ~[?:?]  
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1015) ~[?:?]  
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1054) ~[?:?]  
at com.ur.injection.GuiceBuilder.get(GuiceBuilder.java:30) ~[?:?]  
at gui.main.MainPanel.initFlippablePanel(MainPanel.java:33) ~[?:?]  
at gui.main.MainPanel.(MainPanel.java:26) ~[?:?]  
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0\_272]  
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0\_272]  
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0\_272]  
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0\_272]  
at com.google.inject.internal.DefaultConstructionProxyFactory$ReflectiveProxy.newInstance(DefaultConstructionProxyFactory.java:126) ~[?:?]  
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:111) ~[?:?]  
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90) ~[?:?]  
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268) ~[?:?]  
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) ~[?:?]  
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) ~[?:?]  
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) ~[?:?]  
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194) ~[?:?]  
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) ~[?:?]  
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) ~[?:?]  
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) ~[?:?]  
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:110) ~[?:?]  
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90) ~[?:?]  
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268) ~[?:?]  
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) ~[?:?]  
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) ~[?:?]  
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) ~[?:?]  
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194) ~[?:?]  
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) ~[?:?]  
at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1019) ~[?:?]  
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) ~[?:?]  
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1015) ~[?:?]  
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1054) ~[?:?]  
at com.ur.injection.GuiceBuilder.get(GuiceBuilder.java:30) ~[?:?]  
at gui.main.URGUI.(URGUI.java:125) ~[?:?]  
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0\_272]  
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0\_272]  
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0\_272]  
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0\_272]  
at com.google.inject.internal.DefaultConstructionProxyFactory$ReflectiveProxy.newInstance(DefaultConstructionProxyFactory.java:126) ~[?:?]  
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:111) ~[?:?]  
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90) ~[?:?]  
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268) ~[?:?]  
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) ~[?:?]  
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) ~[?:?]  
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) ~[?:?]  
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194) ~[?:?]  
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) ~[?:?]  
at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1019) ~[?:?]  
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1085) ~[?:?]  
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1015) ~[?:?]  
… 5 more

Also I got this exception while the Activator tries to activate my Services: org.osgi.framework.bundleexception unable to cache bundle. Unfortunately I can’t reproduce it now.

---

<div class="post-metadata">

**Author:** ![anon71220377](https://avatars.discourse-cdn.com/v4/letter/a/74df32/32.png) [@anon71220377](https://forum.universal-robots.com/u/anon71220377)\
**Post date:** [November 9, 2020, 12:27am UTC](https://forum.universal-robots.com/t/my-urcap-kill-ursim/9671/4 "2020-11-09T00:27:44Z")

</div>

This might be of some importance, as it seems both errors occur on Thread-2:

16:23:46.994 WARN - Method used before correct value has been received from controller, returning default = joint\_max\_speed {thread: Thread-2 , loggerClass: com.ur.polyscope.robot.configuration.joint.JointConfigurationSettings}  
16:23:46.998 WARN - Ignoring any future reports of error {thread: Thread-2 , loggerClass: com.ur.polyscope.robot.configuration.joint.JointConfigurationSettings}  
16:23:50.298 WARN - Not connected to controller, trying to send string:  
sec load\_installation():

Also the bundleException was solved by running the comman mvn install -P ursim again.

Please help me, my degree may depend on this and I’m very lost.

---

<div class="post-metadata">

**Author:** ![moliveira](https://avatars.discourse-cdn.com/v4/letter/m/ecb155/32.png) [@moliveira](https://forum.universal-robots.com/u/moliveira)\
**Post date:** [November 9, 2020, 2:08pm UTC](https://forum.universal-robots.com/t/my-urcap-kill-ursim/9671/5 "2020-11-09T14:08:44Z")

</div>

without looking at your code I cant help you, all I can say is find the NullPointer. Follow the error message. The message should guide you to the problem. Look at you declarations, if you initialized a JSlider, Jbutton, etc. Make sure you initially set their values, make sure your globals/locals were initialized properly.

---

<div class="post-metadata">

**Author:** ![anon71220377](https://avatars.discourse-cdn.com/v4/letter/a/74df32/32.png) [@anon71220377](https://forum.universal-robots.com/u/anon71220377)\
**Post date:** [November 9, 2020, 2:22pm UTC](https://forum.universal-robots.com/t/my-urcap-kill-ursim/9671/6 "2020-11-09T14:22:55Z")

</div>

Hi,

Thanks for the recommendation, the Service of one of my Contributions wasn’t finished. I could figure this out thanks to @Ebbe 🙂
