Forum Stats

  • 3,767,982 Users
  • 2,252,736 Discussions
  • 7,874,399 Comments

Discussions

Error when starting ORDS standalone - Character ( is neither a decimal digit number, decimal point,

doberkofler
doberkofler Member Posts: 30 Blue Ribbon

I can successfully configure and start the standalone version of ORDS 21.3 locally on my macOS system. When I try to configure and run the same ORDS version in a debian based docker container based upon the "openjdk:11-jre-slim-bullseye" image, the configuration process works as expected and all commands execute like loc ally, but when trying to start ORDS in standalone mode I only get the following error message without any stack or other hint on what might have gone wrong:

"Character ( is neither a decimal digit number, decimal point, nor "e" notation exponential mark."

I have very little knowledge of Java and absolutely no idea on where to even start searching, so any help is very welcome.

# java --version

openjdk 11.0.13 2021-10-19

OpenJDK Runtime Environment 18.9 (build 11.0.13+8)

OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8, mixed mode, sharing)

# java -jar ords.war set-property database.api.enabled true

2021-10-25T12:29:47.134Z INFO    Modified: /opt/ords/config/ords/defaults.xml, setting: database.api.enabled = true

# java -jar ords.war standalone

Character ( is neither a decimal digit number, decimal point, nor "e" notation exponential mark.


When running on Java 1.8.0_312 I at least seem to get an error stack as follows:

java.lang.NumberFormatException

at java.math.BigDecimal.<init>(BigDecimal.java:497)

at java.math.BigDecimal.<init>(BigDecimal.java:383)

at java.math.BigDecimal.<init>(BigDecimal.java:809)

at oracle.dbtools.common.util.PrimitiveTypes.valueOfNumber(PrimitiveTypes.java:212)

at oracle.dbtools.common.util.PrimitiveTypes.valueOf(PrimitiveTypes.java:176)

at oracle.dbtools.common.util.PrimitiveTypes.valueOf(PrimitiveTypes.java:150)

at oracle.dbtools.standalone.StandaloneConfiguration.httpPort(StandaloneConfiguration.java:474)

at oracle.dbtools.standalone.StandaloneConfiguration.start(StandaloneConfiguration.java:205)

at oracle.dbtools.standalone.Standalone.start(Standalone.java:733)

at oracle.dbtools.standalone.Standalone.legacyStart(Standalone.java:702)

at oracle.dbtools.standalone.Standalone.execute(Standalone.java:139)

at oracle.dbtools.cmdline.Commands.execute(Commands.java:226)

at oracle.dbtools.cmdline.Commands.main(Commands.java:209)

at oracle.dbtools.cmdline.Commands.main(Commands.java:411)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at oracle.dbtools.jarcl.Entrypoint.invoke(Entrypoint.java:66)

at oracle.dbtools.jarcl.Entrypoint.main(Entrypoint.java:77)

Tagged:

Best Answer

  • doberkofler
    doberkofler Member Posts: 30 Blue Ribbon
    Accepted Answer

    After a lot of testing, I finally found the problem and it was a problem with the line endings that caused a response file to contain the following line with the comma sign at the end:

    jetty.port=8080,


    Unfortunately ORDS does not seem to even check the port parameter to be a valid integer and then just crashes at runtime.

Answers

  • thatJeffSmith-Oracle
    thatJeffSmith-Oracle Distinguished Product Manager Posts: 8,056 Employee

    what if you start from scratch on your debian env with


    java -jar ords.war install


    follow the prompts, let the installer build out the config files, and then let it run at the end?

  • doberkofler
    doberkofler Member Posts: 30 Blue Ribbon

    The configuration steps are scripted, the exact same as when run locally and work as expected in the debian env as visible in the attached log. The error only shows up when starting the ords standalone server.


    #8 12.69 java -jar ords.war configdir /opt/ords/config

    #8 14.98 2021-10-25T15:13:54.222Z INFO    Set config.dir to /opt/ords/config in: /opt/ords/ords.war

    #8 19.76 java -jar ords.war install --parameterFile /opt/ords/params/ords_params.properties simple

    #8 23.02 2021-10-25T15:14:02.266Z INFO    reloaded pools: []

    #8 23.08 java -jar ords.war setup --parameterFile /opt/ords/params/ords_params.properties --database lj_unittest --silent --configOnly

    #8 26.30 2021-10-25T15:14:05.546Z INFO    reloaded pools: [|apex||, |lj_unittest||, |lj_unittest|pu|]

    #8 26.34 java -jar ords.war map-url --type base-path /lj_unittest lj_unittest

    #8 28.75 2021-10-25T15:14:07.995Z INFO    Creating new mapping from: [base-path,/lj_unittest] to map to: [lj_unittest, null, null]

    #8 29.07 java -jar ords.war set-properties /opt/ords/default.properties

    #8 31.45 2021-10-25T15:14:10.696Z INFO    Modified: /opt/ords/config/ords/defaults.xml, updated properties: debug.debugger, debug.printDebugToScreen, jdbc.InitialLimit, jdbc.MaxLimit

    #8 31.50 java -jar ords.war set-properties --conf lj_unittest /opt/ords/custom.properties

    #8 33.88 2021-10-25T15:14:13.128Z INFO    Modified: /opt/ords/config/ords/conf/lj_unittest.xml, updated properties: misc.defaultPage, owa.docTable, security.requestValidationFunction

    #8 33.93 java -jar ords.war set-property database.api.enabled true

    #8 36.71 2021-10-25T15:14:15.961Z INFO    Modified: /opt/ords/config/ords/defaults.xml, setting: database.api.enabled = true

  • doberkofler
    doberkofler Member Posts: 30 Blue Ribbon
    Accepted Answer

    After a lot of testing, I finally found the problem and it was a problem with the line endings that caused a response file to contain the following line with the comma sign at the end:

    jetty.port=8080,


    Unfortunately ORDS does not seem to even check the port parameter to be a valid integer and then just crashes at runtime.