MainTask’ not found – Traveler: Class ‘com/lotus/sync/admin/MainTask’ not found

TL:DR When you start traveler on Domino 14 on Centos and get “Exception in thread “main”…” replace Notes.jar with an older version or upgrade to FP2 version and you are good to go.

So you installed Domino 14 on Centos Stream 9 Kernel 5.14.0-477 and then installed Traveler 14 (Traveler_14.0_Linux_ML_EA2.tar.gz) and the task does not start with the following errors reported:

Exception in thread "main" java.lang.NoClassDefFoundError: org.omg.CORBA.UserException
        at java.base/java.lang.ClassLoader.defineClassInternal(ClassLoader.java:472)
        at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:433)
        at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
        at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:1174)
        at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:961)
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:867)
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:825)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:1095)
Caused by: java.lang.ClassNotFoundException: org.omg.CORBA.UserException
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:827)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:1095)
        at java.base/java.lang.ClassLoader.defineClassImpl(Native Method)
...
Traveler version: 14.0.0.0 Build 202311091445_30 using DB jdbc:derby:ntsdb;create=true
	at com.lotus.sync.admin.MainTask.main(MainTask.java:2765)
	at lotus.domino.NotesThread.run(Unknown Source)
	at com.lotus.sync.admin.MainTask.runNotes(MainTask.java:2517)
	at com.lotus.sync.admin.MainTask.loadMobilityServer(MainTask.java:518)
	at com.lotus.sync.caf.admin.CAFAdmin.startCAF(CAFAdmin.java:134)
	at com.lotus.sync.dca.BackEndManager.startup(BackEndManager.java:226)
com.lotus.sync.util.ComponentNotStartedException: Could not load Converter Info, see previous errors
SEVERE  main-7f13287fb740 *system CAFAdmin.startCAF#145 The component CAF could not be started.    Internal error: com.lotus.sync.util.ComponentNotStartedException: Could not load Converter Info, see previous errors Exception Thrown: com.lotus.sync.util.ComponentNotStartedException: Could not load Converter Info, see previous errors
...

And the JVM

show jvm
> WARNING: A terminally deprecated method in java.lang.System has been called
WARNING: System::setSecurityManager has been called by lotus.notes.AgentSecurityManager (file:/opt/hcl/domino/notes/14000000/linux/ndext/Notes.jar)
WARNING: Please consider reporting this to the maintainers of lotus.notes.AgentSecurityManager
WARNING: System::setSecurityManager will be removed in a future release
08/14/2024 01:30:00 PM  JVM: Java Virtual Machine initialized.
08/14/2024 01:30:00 PM  Java runtime version: 17.0.8.1+1
08/14/2024 01:30:00 PM  JVM version: JRE 17 Linux amd64-64-Bit Compressed References 20230824_549 (JIT enabled, AOT enabled) OpenJ9   - d12d10c9e OMR      - e80bff83b JCL      - 8ecf238a124 based on jdk-17.0.8.1+1
08/14/2024 01:30:02 PM  Router: Updating values from Configuration document

There is no mention of this on any support site and even after raising a support call with HCL we did not make progress. When HCL support asks for the dump files and there are none run this command “tell traveler systemdump” and the full and very usefull dumps will appear in IBM…Traveler logs. Pity HCL supported omitted that. Hey ho.

After a few days of getting nowhere we made a copy of the prod server on Proxmox and started pulling the server apart. In the process finding the uninstall as well. It is not in the installation directory but rather, as the documentations points out in “Domino program directory/_HCL_Traveler_installation/traveler” When something is right in front of your eyes but you still don’t see it.

We took a Domino 12 server, installed Traveler 12 and got it working. We then upgraded the server to Domino 14 and upgraded Traveler to version 14.

By replacing Notes.jar on the Notes 14 server with the Notes.jar file on the upgraded server Traveler started working.

-rwxr-xr-x 1 root root  1223321 Aug 22 12:34 Notes.jar (copied from the upgraded server)
-rwxr-xr-x 1 root root  2090724 Nov  9  2023 Notes.jar.notworking

scp -r /opt/hcl/domino/notes/14000000/linux/ndext/Notes.jar  root@172.22.10.xx:/opt/hcl/domino/notes/14000000/linux/ndext

We the started Traveler and it worked.

Traveler: WARNING *system Status change from Green to Red: The APNS certificate for Verse Production has expired.
Traveler: WARNING *system Status change from Green to Red: The APNS certificate for Verse for Citrix Production has expired.
Traveler: WARNING *system Status change from Green to Red: The APNS certificate for To Do Production has expired.
Traveler: Restarting HTTP server for configuration changes.
XSP Command Manager terminated
HTTP Server: Shutdown
HTTP Server: Using Internet Site Configuration View
Traveler: Server started.

As the APN expired we downloaded and installed Domino 14 FP2, Traveler FP1 and the updated APN’s. The good news is the Notes.jar file has been upgraded and now works properly. Here are some links –> https://brandlrainer.info/2024/08/22/hcl-notes-domino-14-0fp2-and-hcl-notes-traveler-14-0-fp1-is-available/ and https://alichtenberg.cz/hcl-notes-domino-14-0-fp2-is-available/ use https://planetlotus.org/

In /opt/hcl/domino/notes/14000000/linux/ndext/

Before FP2

-rwxr-xr-x 1 root root  1223321 Aug 22 12:34 Notes.jar
-rwxr-xr-x 1 root root  2090724 Nov  9  2023 Notes.jar.notworking

After FP2 

-rwxr-xr-x 1 root root  2090651 Aug  9 16:08 Notes.jar
-rwxr-xr-x 1 root root  2090724 Nov  9  2023 Notes.jar.notworking

In /opt/hcl/domino/notes/14000000/linux/ndext/140FP2

-rwxr-xr-x 1 root root 2090651 Aug  9 16:08 Notes.jar

In /opt/hcl/domino/notes/14000000/linux/ndext/14000000/ (Backed up by the FP2 installer)
-rwxr-xr-x 1 root root 1223321 Aug 22 12:34 Notes.jar

The new JVM in use

sho jvm
WARNING: A terminally deprecated method in java.lang.System has been called
WARNING: System::setSecurityManager has been called by lotus.notes.AgentSecurityManager (file:/opt/hcl/domino/notes/14000000/linux/ndext/Notes.jar)
WARNING: Please consider reporting this to the maintainers of lotus.notes.AgentSecurityManager
WARNING: System::setSecurityManager will be removed in a future release
08/23/2024 09:15:38 AM  JVM: Java Virtual Machine initialized.
08/23/2024 09:15:38 AM  Java runtime version: 17.0.10+7
08/23/2024 09:15:38 AM  JVM version: JRE 17 Linux amd64-64-Bit Compressed References 20240116_670 (JIT enabled, AOT enabled) OpenJ9   - 2c3d78b48 OMR      - ea8124dbc JCL      - 2aad089841f based on jdk-17.0.10+7

--------
So the current JVM is
JRE 17 OpenJ9 based on jdk-17.0.10+7
and was previously
JRE 17 OpenJ9 based on jdk-17.0.8.1+1

The version of Centos Stream 9 used for Domino 14.

# hostnamectl
   Static hostname: (unset)
Transient hostname: 
         Icon name: computer-vm
           Chassis: vm 🖴
        Machine ID: 15feca34bc9a4dfdbf9defcac98cb4d1
           Boot ID: 8eb668b3a38e41a099c730315a6d7c0a
    Virtualization: kvm
  Operating System: CentOS Stream 9
       CPE OS Name: cpe:/o:centos:centos:9
            Kernel: Linux 5.14.0-447.el9.x86_64
      Architecture: x86-64
   Hardware Vendor: QEMU
    Hardware Model: Standard PC _Q35 + ICH9, 2009_
  Firmware Version: rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org

My question is this. Are we the only customer to run Domino 14 with Traveler on Centos Stream 9?

Leave a Reply

Your email address will not be published. Required fields are marked *