RNetLogo Class Error - java

I've got one week old clean install of OS X (10.12.6) with new installs of R (3.4.1), rJava (0.9-8), and Oracle Java 8 (1.8.0_144-b01). I'm having trouble getting RNetLogo (1.0-4) to start (using NLStart()). Also, my version of Netlogo is 6.0.1.
The code I'm running is:
library(RNetLogo)
NLStart("/Applications/NetLogo 6.0.1/Java",
gui = FALSE, nl.jarname = "netlogo-6.0.1.jar")
The error I'm experiencing is similar to what many others have experienced with this and previous versions of NetLogo and RNetLogo (examples: 1, 2, & 3). I have tried all of the fixes recommended on each of the links (above) but haven't found one that gets me past this error.
Here are the error messages:
java.lang.NoClassDefFoundError: org/nlogo/workspace/Controllable
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
Caused by: java.lang.ClassNotFoundException
at RJavaClassLoader.findClass(RJavaClassLoader.java:383)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 2 more
One in one of the message threads above, they suggest that it is a bug in RNetLogo. This may be true, but I can't find an active message board or bug/issue list associated with this package (it is being regularly maintained).

I reached out to the RNetLogo package maintainer (Jan Thiele) who provided me with an alternate R-based startup procedure for using the NetLogo GUI (credit goes to Robert Schlicht from University of Dresden).
Below is a simplified version of the startup procedure that they provided. To make it work, you may need to install (or reinstall) up-to-date versions of the packages: rJava, JGR, and RNetLogo.
Essentially, the procedure uses base R or RStudio to kick off a different R environment (Java GUI for R -- JGR) that is working with NetLogo on the Mac.
Here's how I start JGR (you may need to adjust the JDK version number):
#Load Java
dyn.load("/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/server/libjvm.dylib")
JGR::JGR() #Start JGR
Then in the Java GUI for R (JGR) start NetLogo:
library(RNetLogo)
NLStart("/Applications/NetLogo 6.0.1/Java", nl.jarname = "netlogo-6.0.1.jar")
Notes:
The "full" path is required for NLStart's nl.path argument.
NetLogo 6.0.2 was recently released and this procedure appears to work fine with that version too.

Related

How to launch locally built metals language server?

I am trying to set up emacs as scala editor. To that end i am trying to install metals for corresponding modes to work.
However, for some reason or another, metals either failed to install from emacs, or when installed with Coursier, were not responsive from emacs.
So, to explore all the options i decided to use metals source code (from Github? but i have run into the issue of being unable to properly utilize them.
What can i do to make metals available to emacs from the sources?
Currently, i have tried building them with
sbt publishLocal
and then trying to run the jar that was generated, with predictable result:
Exception in thread "main" java.lang.NoClassDefFoundError:
scala/collection/Seq at scala.meta.metals.Main.main(Main.scala)
Caused by: java.lang.ClassNotFoundException: scala.collection.Seq at
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 1 more
Process metals stderr finished Exception in thread "main"
java.lang.NoClassDefFoundError: scala/collection/Seq at
scala.meta.metals.Main.main(Main.scala) Caused by:
java.lang.ClassNotFoundException: scala.collection.Seq at
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 1 more
Process metals stderr finished
In my system i have installed with sbt, as suggested by the instructions on scala website.
How should i setup the system so that metals could be launched and used?
You shouldn't need to compile Metals from sources just to use it from Emacs. Check the official documentation: Emacs | Metals, especially the requirements and installation sections. It mentions
Next you have to install metals server. Emacs can do it for you when lsp-mode is enabled in a scala buffer or via lsp-install-server command. Also you can do it manually executing coursier install metals and configuring $PATH variable properly.
If you have problems with the installation, try asking on Scalameta Discord for help. There is a dedicated #emacs-users channel as well.
That said, if you still want to use a locally published Metals artifact for whatever other reason (e.g. contributing to the Metals code and testing changes locally), you should be able to do that. The contributing documentation describes how to work with the codebase and test your local Metals version.
In short, after you ran sbt publishLocal, you need to update the server version setting in your editor and run the Metals: Restart server command. It should pick up the locally published version.

Install DB2 Connect under Linux - error occured: "AWT-EventQueue-0" java.lang.NullPointerException

I am trying to install db2 connect (Version 10.1) under Linux (Debian 9.5). After calling db2setup the user interface freezes at point 5 (language selection) of the menu. The problem occurs only with the installation type CUSTOM.
This error message is triggered in the /tmp/db2setup.err log when the Next button is pressed.
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at com.ibm.db2.install.util.MessageHandler.handleMessage(Unknown Source)
at com.ibm.db2.install.util.MessageHandler.handleMessage(Unknown Source)
at com.ibm.db2.install.util.MessageHandler.handleError(Unknown Source)
at com.ibm.db2.install.gui.panels.FeaturePage.preValidate(Unknown Source)
at com.ibm.db2.install.gui.wizard.SetupWizardPanel.preValidatePage(Unknown Source)
at com.ibm.db2.install.gui.wizard.SetupWizardPanel.actionPerformed(Unknown Source)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2029)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2352)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:413)
at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:319)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:263)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:300)
at java.awt.Component.processMouseEvent(Component.java:6515)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3332)
at com.ibm.db2.tools.common.sg.CustomToggleButton.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Component.java:6280)
at java.awt.Container.processEvent(Container.java:2240)
at java.awt.Component.dispatchEventImpl(Component.java:4871)
at java.awt.Container.dispatchEventImpl(Container.java:2298)
at java.awt.Component.dispatchEvent(Component.java:4697)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4843)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4503)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4433)
at java.awt.Container.dispatchEventImpl(Container.java:2284)
at java.awt.Window.dispatchEventImpl(Window.java:2724)
at java.awt.Component.dispatchEvent(Component.java:4697)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:718)
at java.awt.EventQueue.access$000(EventQueue.java:112)
at java.awt.EventQueue$3.run(EventQueue.java:677)
at java.awt.EventQueue$3.run(EventQueue.java:675)
at java.security.AccessController.doPrivileged(AccessController.java:226)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:98)
at java.awt.EventQueue$4.run(EventQueue.java:691)
at java.awt.EventQueue$4.run(EventQueue.java:689)
at java.security.AccessController.doPrivileged(AccessController.java:226)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:688)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:222)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:124)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:101)
This message appears in db2setup.log:
"TSAMP" is needed but cannot be found on the media.
What am I doing wrong? I also tried to make the selection with the keyboard only - with the same result.
Is it possible to install db2 connect without GUI?
Stackoverflow is for programming issues, you might try dba.stackexchange.com for non-programming matters.
According to IBM SPCR, the v10.1 of Db2-connect was supported on RHEL 5.6 & 6, also SLES 10 and 11 , and Ubuntu 10.04LTS , 12.04LTS.
It might work (or might not) on later versions of Linux, or Debian 9.5 , or might have issues that need workaraounds. You might not get official support via the IBM formal channels. If you intend to use for production, ensure your business formally accepts the risks of running an out-of-support product on operating-system for which it was not tested.
If possible, use a currently supported version of a Db2-connect edition. Check end of support dates with IBM.
Ensure you try with the final fixpack of V10.1 which is FP6 (free download from IBM - get the 'server fixpack' build fixpack, not the universal one,
the server fixpack is installable without needing the base product to be installed already).
Install as root, because non-root installs are troublesome.
Carefully verify all of the prerequisites especially the required packages, SElinux settings, kernel-parameters and all others mentioned in documentation.
To install without a GUI you have 2 options, either use db2setup with response-files, or use the command-line db2_install tool (deprecated, but still works). Both tools support additional detailed logging (tracing) which can help, refer to documentation for details.
If you already have a different working Db2-connect server, you can use its db2rspgn tool to generate a text response-file (which you can then edit as needed) and supply the modified response file to db2setup.
If you get installation/run issues, try dba.stackexchange.com.
To avoid the exception, the TSAMP option must be deselected (installation type: CUSTOM).

can't run 3D scripts in Processing (Java / openGL-related?)

I have been running to the same problem in all versions of Processing (visual design software) that I have been using, namely I get a java / openGL-related error, when I try to run 3D scripts. More specifically, I am getting the following message:
java.lang.NoSuchMethodError: javax.media.opengl.GLDrawableFactory.initSingleton()V
at javax.media.opengl.GLProfile.initProfilesForDefaultDevices(GLProfile.java:1652)
at javax.media.opengl.GLProfile.access$000(GLProfile.java:77)
at javax.media.opengl.GLProfile$1.run(GLProfile.java:142)
at java.security.AccessController.doPrivileged(Native Method)
at javax.media.opengl.GLProfile.initSingleton(GLProfile.java:128)
at javax.media.opengl.GLProfile.getProfileMap(GLProfile.java:2149)
at javax.media.opengl.GLProfile.get(GLProfile.java:898)
at javax.media.opengl.GLProfile.getGL2ES1(GLProfile.java:789)
at processing.opengl.PJOGL.initSurface(PJOGL.java:250)
at processing.opengl.PGraphicsOpenGL.initPrimary(PGraphicsOpenGL.java:6310)
at processing.opengl.PGraphicsOpenGL.requestDraw(PGraphicsOpenGL.java:1653)
at processing.core.PApplet.run(PApplet.java:2256)
at java.lang.Thread.run(Thread.java:745)
Could not run the sketch (Target VM failed to initialize).
I have already looked online, but I was not able to find an answer that would give me some solution. I am using a MacBook Pro with OS X 10 (Yosemite) and I am running Processing 2.2.1. Any help would be really welcome.
Austin is right, look at this answer: https://stackoverflow.com/a/19838327/458157
OS X 10 still comes with an obsolete version of Java 3D installed by default and it brings an obsolete version of JOGL which is loaded in priority. This old version has no method called javax.media.opengl.GLDrawableFactory.initSingleton(). you can find more information about this concern in my tutorial: http://tinyurl.com/qyf995p

Oracle JDK Update 5 (1.7.0_05) not working on SUSE Linux Enterprise Server 11. EOFException while connecting to Javaspace Blackboard (JINI)

We are trying to run a process (broker) from a SUSE Linux Enterprise Server 11 (java-1_7_0-ibm) which connects to a Javaspace Blackboard (JINI) deployed on another linux machine. (CentOs with Open JDK "1.7.0_05-icedtea" version)
Stack Trace :
INFO: Starting broker
Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.J9VMInternals.initialize(J9VMInternals.java:259)
at net.jini.jeri.BasicInvocationHandler.invokeRemoteMethod(BasicInvocationHandler.java:653)
at net.jini.jeri.BasicInvocationHandler.invoke(BasicInvocationHandler.java:528)
at com.sun.jini.reggie.$Proxy0.lookup(Unknown Source)
at com.sun.jini.reggie.RegistrarProxy.lookup(RegistrarProxy.java:128)
at edu.vt.ndssl.blackboard.JiniSpaceService.findSpace(JiniSpaceService.java:372)
at edu.vt.ndssl.blackboard.JiniSpaceService.<init>(JiniSpaceService.java:74)
at edu.vt.ndssl.blackboard.JavaSpaceBlackboard.<init>(JavaSpaceBlackboard.java:31)
at edu.vt.ndssl.blackboard.BlackboardFactory.make(BlackboardFactory.java:28)
at edu.vt.ndssl.broker.Broker.<init>(Broker.java:53)
at edu.vt.ndssl.broker.Broker.main(Broker.java:231)
Caused by: java.lang.RuntimeException: Unexpected exception
at com.sun.jini.logging.Levels.createLevel(Levels.java:142)
at com.sun.jini.logging.Levels.<clinit>(Levels.java:52)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:237)
... 10 more
Caused by: java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2667)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1387)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2059)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1984)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1867)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1419)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:420)
at com.sun.jini.logging.Levels.createLevel(Levels.java:138)
... 13 more
Same code works fine with Java 1.6 version upto 26.
I am looking for a correct version of Java to be installed on the SUSE Linux Enterprise Server which will be compatible with this OS and also equivalent to the Oracle JDK Update 5 or Open JDK Version 1.7.0_05 (icedtea).
Apparently, the root cause of the problem is that Oracle has made an incompatible change to the serialization format of the com.sun.jini.logging.Levels class. The change reportedly happened in Oracle JDK 1.6.0_38 and JDK 1.7.0_13, and has presumably made it into recent OpenJDK versions as well.
This problem has manifested in a variety of projects that use JINI. Examples:
https://issues.apache.org/jira/browse/RIVER-415 + https://issues.apache.org/jira/browse/RIVER-416.
https://cloudifysource.zendesk.com/entries/23079726-bootstrap-localcloud-not-working-Could-not-initialize-class-com-sun-jini-logging-Levels
More examples can be found by searching for "com.sun.jini.logging.Levels EOFException".
I can't say what the solution is / would be for you, but I have a couple of ideas:
Avoidance: I think you can avoid the problem if you don't mix pre and post-change JVM versions in your application network.
If you need to upgrade your application JVMs, I suggest that you upgrade them all, and then do a complete shutdown/restart of your JINI applications and services.
Fix your applications: It appears that the Apache River project fixed the problem by modifying the JINI code. As the issue ticket says:
The com.sun.jini.logging.Levels class produces a RuntimeException with the latest version of Java (both 1.6 and 1.7). The issue surrounds creation of custom java.util.logging.Level. The current implementation uses a ClassReplacingObjectOutputStream and the LevelData approach. By removing this approach and creating a subclass of java.util.logging.Level the issue gets resolved.
The issue ticket has a lot of discussion on the best way to do this, proposed patches and links to the checkin where they actually implemented the fix.

Plugin inside Sametime with Lotus Notes Classess - The Whole Story

It's gonna be a long read so Thanks for being patient :).
I have been trying to develop a plugin to be executed inside Lotus Sametime. The idea of this plugin is to extract the calendar entries for a given date and then display it in sametime. Simple isn't it, i thought so too. Apparently I was wrong and grossly misunderstood the JVM version compatibility issues. I first did an independent test in the default Java 1.6 and it worked fine, I got the entries and got the code ready to move to the Sametime Development environment.
I moved to the plugin development environment to insert my code.My first issue came, when I added the Notes.jar to the External jar list and the import lotus.domino line. The IDE told me this
The type org.omg.CORBA.UserException cannot be resolved. It is indirectly referenced from required .class files
After some googling , i referenced the ibmorbapi.jar in the project and got it running. Unfortunately for me even that didn't work out. The plugin itself failed to load and this is what i got
java.lang.NoClassDefFoundError: lotus.notes.Session
at java.lang.J9VMInternals.verifyImpl(Native Method)
at java.lang.J9VMInternals.verify(J9VMInternals.java:59)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:120)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1244)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:157)
at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:759)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51)
at com.ibm.collaboration.realtime.imhub.ImHub.loadMiniAppExtensions(ImHub.java:416)
at com.ibm.collaboration.realtime.imhub.ImHub.getMiniApps(ImHub.java:356)
at com.ibm.collaboration.realtime.imhub.workbench.ImHubWorkbenchWindowAdvisorShelf.transformMiniApps(ImHubWorkbenchWindowAdvisorShelf.java:354)
at com.ibm.collaboration.realtime.imhub.workbench.ImHubWorkbenchWindowAdvisorShelf.createWindowContents(ImHubWorkbenchWindowAdvisorShelf.java:179)
at org.eclipse.ui.internal.WorkbenchWindow.createContents(WorkbenchWindow.java:938)
at org.eclipse.jface.window.Window.create(Window.java:426)
at org.eclipse.ui.internal.Workbench.busyOpenWorkbenchWindow(Workbench.java:805)
at org.eclipse.ui.internal.Workbench.doOpenFirstTimeWindow(Workbench.java:1453)
at org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:1404)
at org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWindow(WorkbenchConfigurer.java:190)
at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:708)
at org.eclipse.ui.internal.Workbench.init(Workbench.java:1101)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1863)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:422)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at com.ibm.collaboration.realtime.ui.WorkbenchAdapter.createAndRunWorkbench(WorkbenchAdapter.java:103)
at com.ibm.collaboration.realtime.ui.WorkbenchAdapter.run(WorkbenchAdapter.java:85)
at com.ibm.collaboration.realtime.application.RTCApplication.run(RTCApplication.java:765)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at java.lang.reflect.AccessibleObject.invokeL(AccessibleObject.java:211)
at java.lang.reflect.Method.invoke(Method.java:272)
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)
Since that was not gonna work. I thought why not create the NotesCalendarExtraction part into a separate jar execution file and get a xml file with the calendar entries in it and then give it to the plugin to show the entries. I know it was not the best solution but i was desperate and wanted to get this working. In anycase, the idea kinda worked well when I had hardcoded the jar file and and the path to the generated xml file. Btw I was executing the jar file using the getRuntime.exec module in java. Time came to get it running generically and unfortunately for me the exec module was not accepting spaces in its path so program files was out of question. I was not sure if this was right method but then the jar as such was not executing either for some reason. I tried putting in a bat file with the appropriate command line parameters and it generated the xml when executed in the command line but not when running from the eclipse ide for reasons known only to the IDE. I was out of options at this point and I got my hands on another plugin which did exactly the same thing with regard to getting the calendar entries. I decompiled plugin and checked out the source code and saw the code was using a class loader to do the job. A new hope got into me when i saw this code. After some googling i put together some code which did the job for me. Time came for the acid test, i put the code into the plugin env and this is what I got.
!ENTRY org.eclipse.ui 4 0 2009-09-27 22:05:55.996
!MESSAGE (org/omg/CORBA/UserException) bad major version at offset=6
!STACK 0
java.lang.UnsupportedClassVersionError: (org/omg/CORBA/UserException) bad major version at offset=6
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:246)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:109)
at java.net.URLClassLoader.findClassImpl(URLClassLoader.java:1028)
at java.net.URLClassLoader$4.run(URLClassLoader.java:549)
at java.security.AccessController.doPrivileged(AccessController.java:213)
at java.net.URLClassLoader.findClass(URLClassLoader.java:547)
at java.lang.ClassLoader.loadClass(ClassLoader.java:625)
at java.lang.ClassLoader.loadClass(ClassLoader.java:582)
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:246)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:109)
at java.net.URLClassLoader.findClassImpl(URLClassLoader.java:1028)
at java.net.URLClassLoader$4.run(URLClassLoader.java:549)
at java.security.AccessController.doPrivileged(AccessController.java:213)
at java.net.URLClassLoader.findClass(URLClassLoader.java:547)
at java.lang.ClassLoader.loadClass(ClassLoader.java:625)
at java.lang.ClassLoader.loadClass(ClassLoader.java:582)
at java.lang.J9VMInternals.verifyImpl(Native Method)
at java.lang.J9VMInternals.verify(J9VMInternals.java:59)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:120)
at java.lang.reflect.AccessibleObject.initializeClass(Native Method)
at java.lang.reflect.Method.invoke(Method.java:248)
at com.ibm.collaboration.realtime.lotusnotes.LotusNotes.getNotesSession(LotusNotes.java:179)
at com.ibm.notes.sametime.calendar.hack.SpeakUpMiniApp.createControl(SpeakUpMiniApp.java:58)
at com.ibm.collaboration.realtime.miniapp.MiniAppViewPart.createPartControl(MiniAppViewPart.java:41)
at com.ibm.rcp.ui.internal.shelf.ShelfViewReference.createPartHelper(ShelfViewReference.java:330)
at com.ibm.rcp.ui.internal.shelf.ShelfViewReference.createPart(ShelfViewReference.java:201)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:566)
at com.ibm.rcp.ui.shelf.ShelfPage.activatePart(ShelfPage.java:1168)
at com.ibm.rcp.ui.shelf.ShelfPage.access$10(ShelfPage.java:1159)
at com.ibm.rcp.ui.shelf.ShelfPage$7.handleEvent(ShelfPage.java:1312)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:962)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:947)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:706)
at com.ibm.rcp.swt.swidgets.SViewForm.toggleMaximize(SViewForm.java:1501)
at com.ibm.rcp.swt.swidgets.SViewStack.expand(SViewStack.java:596)
at com.ibm.rcp.swt.swidgets.SViewStack.toggleMaximize(SViewStack.java:526)
at com.ibm.rcp.swt.swidgets.SViewStack$5.handleEvent(SViewStack.java:312)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:962)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:947)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:706)
at com.ibm.rcp.swt.swidgets.SViewForm.onMouseUpMaximize(SViewForm.java:1437)
at com.ibm.rcp.swt.swidgets.SViewForm.onMouseUp(SViewForm.java:1127)
at com.ibm.rcp.swt.swidgets.SViewForm$4.handleEvent(SViewForm.java:421)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3673)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3284)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1930)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:422)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at com.ibm.collaboration.realtime.ui.WorkbenchAdapter.createAndRunWorkbench(WorkbenchAdapter.java:103)
at com.ibm.collaboration.realtime.ui.WorkbenchAdapter.run(WorkbenchAdapter.java:85)
at com.ibm.collaboration.realtime.application.RTCApplication.run(RTCApplication.java:765)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at java.lang.reflect.AccessibleObject.invokeL(AccessibleObject.java:211)
at java.lang.reflect.Method.invoke(Method.java:272)
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)
It's really frustrating again to the version error. The sametime plugin dev environment runs on J9 JVM and the for some reason that is not enough for notes.jar ibmorbapi.jar i guess. Atleast that is what my assumption is about the error.
I would appreciate any help on this from you guys. "org/omg/CORBA/UserException" seems to be crux of the issue and I am simply not able to get over it. I can get the external jar execution working in some complex way but I don't want to do it as i feel its the best way to get calendar entries from notes. I am sure it has to be reasonably simple and any help on this would be appreciated.
There are two jars that are related to talking to a Notes application.
Notes.jar - This is a JNI wrapper for LSXBE classes. In order for it to work correctly you will need Lotus Notes installed on the machine and the main directory on the system PATH.
NCSO.jar - This is for making DIIOP connections to a Domino server. This does not require Lotus Notes to be installed. It does require a Domino server you can connect to which has DIIOP enabled on it.
It is unclear if you have Notes installed?
The jars are also specific to certain JVM versions.
Java 6 - Notes 8.5.1
Java 5 - Notes 8.x
Java 1.4.2 - Notes 7.x
Java 1.3 - Notes 6.x
"bad major version at offset" means your are running the wrong jar for the JVM (eg. 851 jar on 1.4.2).
To rule out any configuration issues first I recommend creating just a simple java application which makes a connection to Notes/Domino. Once that works then you know your paths/jars are all set up correctly.
Looks like CORBA classes are compiled for a newer JDK. You need to find an older version of the JAR, or, alternatively, get the sources and compile them under your JDK (J9?). From what I see from a brief Google search, J9 is either 1.4 or even 1.3 compatible.
Also, make sure that all the code you compile yourself has the same target Java version, i.e. 1.4 (1.3?) in this case.

Categories