EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

"Exception in thread "main" java.lang.NoClassDefFoundError" error occurs when configuring Intelligence Server in MicroStrategy 2021 in Linux environment


Danfeng Zhan

Principal Product Specialist • Strategy


This article articulates a configuration wizard error caused by a messup of JavaWebAPI.jar holds in OS cache. A solution for this issue is available in current releases.

SYMPTOM:
"Exception in thread "main" java.lang.NoClassDefFoundError" error occurs when using ./mstrcfgwiz-editor in Strategy 2021 in Linux environment.
The IntelligenceServer is starting
Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONException
        at com.Strategy.webapi.CDSSXMLServerSessionImpl.CreateMasterSession(Unknown Source)
        at com.Strategy.web.objects.WebIServerSessionImpl.createSession(Unknown Source)
        at com.Strategy.web.objects.WebIServerSessionImpl.createSession(Unknown Source)
        at com.Strategy.web.objects.WebIServerSessionImpl.createNewSessionID(Unknown Source)
        at com.Strategy.web.objects.WebSessionInfoImpl.getSessionID(Unknown Source)
        at com.Strategy.tools.macfgwiz.backbone.base.iserver.SessionFactory.getNewSession(SessionFactory.java:118)
        at com.Strategy.tools.macfgwiz.backbone.iserver.impl.ServerConfigOpImpl.setAuthentication(ServerConfigOpImpl.java:405)
        at com.Strategy.tools.macfgwiz.ui.interactive.steps.IServerAuthenticationTextStep.displaying(IServerAuthenticationTextStep.java:59)
        at com.Strategy.tools.macfgwiz.ui.interactive.text.TextWizard.displayStep(TextWizard.java:21)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.AbstractWizard.currentStepChanged(AbstractWizard.java:83)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.DefaultWizardModel.fireCurrentStepChanged(DefaultWizardModel.java:114)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.DefaultWizardModel.goTo(DefaultWizardModel.java:106)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.DefaultWizardModel.goNext(DefaultWizardModel.java:77)
        at com.Strategy.tools.macfgwiz.ui.interactive.steps.IServerMetadataTextStep.displaying(IServerMetadataTextStep.java:113)
        at com.Strategy.tools.macfgwiz.ui.interactive.text.TextWizard.displayStep(TextWizard.java:21)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.AbstractWizard.currentStepChanged(AbstractWizard.java:83)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.DefaultWizardModel.fireCurrentStepChanged(DefaultWizardModel.java:114)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.DefaultWizardModel.goTo(DefaultWizardModel.java:106)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.DefaultWizardModel.goNext(DefaultWizardModel.java:77)
        at com.Strategy.tools.macfgwiz.ui.interactive.steps.OperationTypeTextStep.displaying(OperationTypeTextStep.java:34)
        at com.Strategy.tools.macfgwiz.ui.interactive.text.TextWizard.displayStep(TextWizard.java:21)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.AbstractWizard.currentStepChanged(AbstractWizard.java:83)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.DefaultWizardModel.fireCurrentStepChanged(DefaultWizardModel.java:114)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.DefaultWizardModel.goTo(DefaultWizardModel.java:106)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.DefaultWizardModel.goNext(DefaultWizardModel.java:77)
        at com.Strategy.tools.macfgwiz.ui.interactive.steps.ResponseFileTextStep.displaying(ResponseFileTextStep.java:88)
        at com.Strategy.tools.macfgwiz.ui.interactive.text.TextWizard.displayStep(TextWizard.java:21)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.AbstractWizard.currentStepChanged(AbstractWizard.java:83)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.DefaultWizardModel.fireCurrentStepChanged(DefaultWizardModel.java:114)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.DefaultWizardModel.goTo(DefaultWizardModel.java:106)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.DefaultWizardModel.goNext(DefaultWizardModel.java:77)
        at com.Strategy.tools.macfgwiz.ui.interactive.steps.WelcomeTextStep.displaying(WelcomeTextStep.java:32)
        at com.Strategy.tools.macfgwiz.ui.interactive.text.TextWizard.displayStep(TextWizard.java:21)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.AbstractWizard.currentStepChanged(AbstractWizard.java:83)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.DefaultWizardModel.fireCurrentStepChanged(DefaultWizardModel.java:114)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.DefaultWizardModel.goTo(DefaultWizardModel.java:106)
        at com.Strategy.tools.macfgwiz.ui.interactive.base.AbstractWizard.start(AbstractWizard.java:100)
        at com.Strategy.tools.macfgwiz.ui.cmdline.MACfgConsole.run(MACfgConsole.java:178)
        at com.Strategy.tools.macfgwiz.ui.cmdline.MACfgConsole.main(MACfgConsole.java:71)
Caused by: java.lang.ClassNotFoundException: org.json.JSONException
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        ... 39 more
Kernel XML API trace shows XML Command failed:
2021-11-16 16:34:45.127+09:00 [HOST:xxxxxx.xxx.xxx][SERVER:DUMMY_SERVER][PID:25449][THR:140736409868032][Kernel XML API][Trace][UID:0][SID:0][OID:0] XML Command: <st><sst><st><cmd><get_rest_url/></cmd></st></sst></st>
2021-11-16 16:34:45.129+09:00 [HOST:xxxxxx.xxx.xxx][SERVER:DUMMY_SERVER][PID:25449][THR:140736409868032][Kernel XML API][Trace][UID:0][SID:0][OID:0] XMLGetRESTUrl Command starts!
2021-11-16 16:34:45.129+09:00 [HOST:xxxxxx.xxx.xxx][SERVER:DUMMY_SERVER][PID:25449][THR:140736409868032][Kernel XML API][Trace][UID:0][SID:0][OID:0] XML Command failed. ReturnCode=-2147156455, 0x00000000
2021-11-16 16:34:45.144+09:00 [HOST:xxxxxx.xxx.xxx][SERVER:DUMMY_SERVER][PID:25449][THR:140736411969280][Kernel XML API][Trace][UID:0][SID:0][OID:0] XML Command: <st><sst><st><cmd><web_license_info><machine_info><address>xxxxxx.xxx.xxx...Omit...
2021-11-16 16:34:45.154+09:00 [HOST:xxxxxx.xxx.xxx][SERVER:DUMMY_SERVER][PID:25449][THR:140736418273024][Kernel XML API][Trace][UID:0][SID:0][OID:0] XML Command: <st><sst><st><cmd><init_repository dsn="MSTRMETA" ln="mstr_meta" pwd="000000...Omit...
2021-11-16 16:34:47.617+09:00 [HOST:xxxxxx.xxx.xxx][SERVER:DUMMY_SERVER][PID:25449][THR:140736424576768][Kernel XML API][Trace][UID:0][SID:0][OID:0] XML Command: <st><sst><st><cmd><get_rest_url/></cmd></st></sst></st>
Configuration wizard log stalls at creating server session:
<log4j:event logger="MACfgWiz" timestamp="1637048087614" datetime="2021-11-16 16:34:47.614+0900" level="DEBUG" thread="main">
<log4j:message><![CDATA[Request: Create server session on port 47435]]></log4j:message>
</log4j:event>
DSSErrors.log has below general error:
2021-11-16 16:34:49.822+09:00 [HOST:xxxxxx.xxx.xxx][SERVER:][PID:25498][THR:140737070200576][RefineProcess][Error][UID:0][SID:0][OID:0] The child process is terminating because the parent process died.
DSSErrors.log from Instances DUMMY_SERVER shows metadata has been verified and proceeded:
2021-11-16 16:34:47.609+09:00 [HOST:xxxxxx.xxx.xxx][SERVER:DUMMY_SERVER][PID:25449][THR:140736418273024][Kernel][Info][UID:0][SID:0][OID:0] MSICommandUtilityXML::UseMetadata Finished using Metadata
2021-11-16 16:34:47.609+09:00 [HOST:xxxxxx.xxx.xxx][SERVER:DUMMY_SERVER][PID:25449][THR:140736309008128][Network Classes][Error][UID:0][SID:0][OID:0] TRACE:MSINetConnection::Read(MDataType::BinaryPtr, MDataType::BinaryCollectionPtr): MSIChannel has been closed by remote xxxxxx.xxx.xxx-15
Below attempts have been tried but not resolve the error:

  • Create new DSN
  • Create new Metadata
  • Uninstall and reinstall Strategy
  • sys_defaults.xml included in WebApp.jar "useAsymmetricClustering" is with default value 0
  • strace -f -o output.txt ./mstrcfgwiz-editor not reveal additional error

                       
CAUSE:
The JavaWebAPI.jar has been cached by the OS. Then, a different version of the jar file has been installed. But, through some corruption at the Operating System level, the cache is not marked as invalid.
When a java program is run, the virtual machine has a loader for the required java libraries. The loader will resolve where a jar file is located and then it will read the contents and load it into the java program. When reading the jar file, the Operating System may choose to use the cache. In this case, java program is the configuration wizard, and the required jar file is JavaWebAPI.jar.
Once the cache is gone, when the java Virtual Machine loaded the JavaWebAPI.jar it found no cache and so read the contents from the disk (and probably recreated the cache).
ACTION:
Drop OS Cache and run configuration wizard, then Intelligence Server can be configured correctly.
 

  1. free -g

              total        used        free      shared  buff/cache   available
Mem:            503           8         463           8          31         482
Swap:            63           0          63

  1. echo 3 > /proc/sys/vm/drop_caches
  2. free -g

              total        used        free      shared  buff/cache   available
Mem:            503           8         486           7           8         484
Swap:            63           0          63
Refer to Knowledge Base Article below for further understanding of the OS cache.
KB484033: Linux page cache basics
Article Reference Number:
This issue has been logged as Scopus ID CS0509019 and Rally ID DE217162.
 


Comment

0 comments

Details

Knowledge Article

Published:

January 10, 2022

Last Updated:

January 10, 2022