Skip to content

Apparently missing library in SchedulerResourceAdaptor under Java 8/Wildlfy #292

Description

@KeithMilner

/kind bug

What happened:
Using Restcomm SMSC 7.4.0-138 compiled to work with Wildfly. Migrating config and data across from Restcomm 7.3.153 installation.

After normal startup, logs started getting filled with the following error:

2018-06-01 00:00:00,107 ERROR [javax.slee.RAEntityNotification[entity=SchedulerResourceAdaptor].SchedulerResourceAdaptor] (pool-78-thread-1) Exception in SchedulerResourceAdaptor when fetching records and issuing events: javax/xml/bind/DatatypeConverter: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
        at org.restcomm.smpp.parameter.TlvProxy$1.read(TlvProxy.java:51)
        at org.restcomm.smpp.parameter.TlvProxy$1.read(TlvProxy.java:44)
        at javolution.xml.XMLFormat$InputElement.readInstanceOf(XMLFormat.java:467)
        at javolution.xml.XMLFormat$InputElement.get(XMLFormat.java:410)
        at org.restcomm.smpp.parameter.TlvSet$1.read(TlvSet.java:217)
        at org.restcomm.smpp.parameter.TlvSet$1.read(TlvSet.java:210)
        at javolution.xml.XMLFormat$InputElement.readInstanceOf(XMLFormat.java:467)
        at javolution.xml.XMLFormat$InputElement.get(XMLFormat.java:410)
        at javolution.xml.XMLObjectReader.read(XMLObjectReader.java:277)
        at org.mobicents.smsc.cassandra.DBOperations.createSms(DBOperations.java:1434)
        at org.mobicents.smsc.cassandra.DBOperations.c2_getRecordList(DBOperations.java:1172)
        at org.mobicents.smsc.slee.resources.scheduler.SchedulerResourceAdaptor.fetchSchedulable(SchedulerResourceAdaptor.java:950)
        at org.mobicents.smsc.slee.resources.scheduler.SchedulerResourceAdaptor.onTimerTick(SchedulerResourceAdaptor.java:461)
        at org.mobicents.smsc.slee.resources.scheduler.SchedulerResourceAdaptor$TickTimerTask.run(SchedulerResourceAdaptor.java:352)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

Unsure what the side effect of this is, other than it seemed to delay or prevent the migration of Cassandra tables.

What you expected to happen:

I expected no errors in the logs

How to reproduce it (as minimally and precisely as possible):

Unsure, but it seemed to be related to having Cassandra tables from a previous deployment that needed migrating.

Anything else we need to know?:

I fixed this by adding the following dependency to ../wildfly-10.1.0.Final/modules/system/layers/base/org/restcomm/smpp/bootstrap/main/module.xml
<module name="javax.xml.bind.api" export="true"/>

After startup I see this in the logs :

2018-06-01 13:45:38,031 INFO [javax.slee.RAEntityNotification[entity=SchedulerResourceAdaptor].SchedulerResourceAdaptor] (pool-78-thread-1) Fetching: Scheduled '1' out of '0, fetchMaxRows=100, activityCount=0, fetchAvailRows=500'.

and the errors are gone.

Environment:

  • Restcomm SMSC Gateway version (from startup logs): 7.4.0-138
  • Cloud provider or hardware configuration: VMWare ESXi virtual machine, 2 vCPUs, 6G RAM
  • OS (e.g. from /etc/os-release): 14.04.5 LTS, Trusty Tahr
  • Kernel (e.g. uname -a): 4.4.0-124-generic fix #141 #148~14.04.1-Ubuntu SMP Thu May 3 07:26:53 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
  • Deployment method (e.g. application server version + config + method):
    Compiled Wildfly 10.10 version copied to server
  • Others: java.runtime.version = 1.8.0_171-b11

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions