1

I have the latest version of Redhawk and CentOS, and I have run into a few problems right off the bat. Initially I couldn't see the Chalkboard and Sandbox, but that issue was resolved by commenting out (#) one of two lines in the eclipse.ini file:

 -Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB
 -Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton

I found this fix from here. It was noted that while there were no obvious errors that arose, there may be some unforeseen problems.

The issue I now have is that the property values of the components, like frequency or amplitude, cannot be altered. I can't alter them from the properties view or from the SCA Component Editor. I tried undoing the #, but the problem persisted. I have since looked into JacORB for solutions since the root of the Chalkboard problem seems to stem from there.

This is the last in the "caused by:" chain in the error log:

Caused by: 
     java.lang.ClassNotFoundException: org.jacorb.orb.ORBSingleton
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:270)
    at org.omg.CORBA.ORB.create_impl_with_systemclassloader(ORB.java:305)
    ... 91 more

Anyone have any ideas on how to fix the JacORB issue without commenting it out or any ideas on how I can get permission to alter the values? Solutions to either one would be appreciated.

Chris
  • 13
  • 2

1 Answers1

2

UPDATE: This is not an issue starting with Java 7u65, 6u85. See ORB Singleton Class Loading Bug

The problem is due to the IDE trying to replace some CORBA-related classes found in the Java bootstrap class path with JacORB-supplied ones. Java briefly disallowed this for a few updates starting with 7u55 and 6u71. JacORB references the need to modify the bootstrap class path in their manual, section 27.1: JacORB Programming Guide

I was able to work around this with my 1.9.0 IDE by modifying the IDE's bootstrap class path to include JacORB and a JacORB dependency. My steps below assume an IDE in /usr/local/redhawk/eclipse. First, extract the JacORB jar from the plugin:

cd /usr/local/redhawk/eclipse/plugins
jar xf org.jacorb_* lib/jacorb.jar

Next, note the filename for the slf4j plugin:

ls org.slf4j.api_*

Now modify /usr/local/redhawk/eclipse/eclipse.ini so that the two jars are prepended to the bootstrap classpath. You'll want to use the absolute path to the two jars. A snippet from mine is below:

...
-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
-Xbootclasspath/p:/usr/local/redhawk/eclipse/plugins/lib/jacorb.jar:/usr/local/redhawk/eclipse/plugins/org.slf4j.api_1.6.4.v20120130-2120.jar
...

If you startup from a console, you may see an error from slf4j, but I haven't found it to be problematic. If you've done it correctly, you should see the Sandbox show up in the SCA Explorer View, just above the Target SDR.

Daniel Wille
  • 539
  • 3
  • 10
  • Solved the problem. Thanks for the help. I had a feeling it had something to do with the JacORB bootstrap class, but I didn't know what to do about it. Didn't have to comment out the suggested JacORB line in the eclipse.ini to have it working. Thanks again! – Chris Jun 23 '14 at 16:34