I got the error in Publish transaction "Could not initialize class com.tridion.storage.StorageManagerFactory" while publishing the page.

One thing which I want to know is that, I setup the httpupload website by updating the storage, deployer config files and also adding the licence file in bin/config folder, so now do I need to install any installer on ContentDelivery server or its done, as there is noting mentioned about installation in installation manual except for the setup of website for http/https protocal.

Just here want to be sure weather I am missing anything or doing right things.

Logs of cd_core file

java.lang.NullPointerException: null at com.tridion.services.BaseService.getLicenseManager(BaseService.java:186) ~[cd_core.jar:na] at com.tridion.services.BaseService.processLicensing(BaseService.java:126) ~[cd_core.jar:na] at com.tridion.services.BaseService.configure(BaseService.java:165) ~[cd_core.jar:na] at com.tridion.storage.StorageManagerFactory.configure(StorageManagerFactory.java:125) [cd_datalayer.jar:na] at com.tridion.services.BaseService.(BaseService.java:113) ~[cd_core.jar:na] at com.tridion.storage.StorageManagerFactory.(StorageManagerFactory.java:104) [cd_datalayer.jar:na] at com.tridion.storage.StorageManagerFactory.reloadInstance(StorageManagerFactory.java:84) [cd_datalayer.jar:na] at com.tridion.storage.StorageManagerFactory.(StorageManagerFactory.java:56) [cd_datalayer.jar:na] at com.tridion.storage.deploy.PageHandler.deploy(PageHandler.java:58) [cd_datalayer.jar:na] at com.tridion.deployer.DeploymentHandler.deploy(DeploymentHandler.java:90) [cd_datalayer.jar:na] at com.tridion.deployer.modules.PageDeploy.processPage(PageDeploy.java:145) [cd_deployer.jar:na] at com.tridion.deployer.modules.PageDeploy.processItem(PageDeploy.java:118) [cd_deployer.jar:na] at com.tridion.deployer.SectionVisitor.processSection(SectionVisitor.java:83) [cd_deployer.jar:na] at com.tridion.deployer.SectionVisitor.processSection(SectionVisitor.java:87) [cd_deployer.jar:na] at com.tridion.deployer.SectionVisitor.process(SectionVisitor.java:60) [cd_deployer.jar:na] at com.tridion.deployer.Processor.process(Processor.java:109) [cd_deployer.jar:na] at com.tridion.deployer.workers.ProcessorWorker.doWork(ProcessorWorker.java:77) [cd_deployer.jar:na] at com.tridion.deployer.phases.ProcessingPhase.execute(ProcessingPhase.java:73) [cd_deployer.jar:na] at com.tridion.deployer.phases.DeployPipelineExecutor.runMainExecutePhase(DeployPipelineExecutor.java:198) [cd_deployer.jar:na] at com.tridion.deployer.phases.DeployPipelineExecutor.doExecute(DeployPipelineExecutor.java:100) [cd_deployer.jar:na] at com.tridion.deployer.phases.DeployPipelineExecutor.execute(DeployPipelineExecutor.java:64) [cd_deployer.jar:na] at com.tridion.deployer.TransactionManager.handleDeployPackage(TransactionManager.java:82) [cd_deployer.jar:na] at com.tridion.deployer.queue.QueueLocationHandler$1.run(QueueLocationHandler.java:180) [cd_deployer.jar:na] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.7.0_51] at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.7.0_51] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.7.0_51] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.7.0_51] at java.lang.Thread.run(Unknown Source) [na:1.7.0_51] 2014-03-25 05:55:17,127 WARN DeployPipelineExecutor - Phase: Deployment Processing Phase failure message: null for transaction: tcm:0-11-66560 2014-03-25 05:55:17,127 ERROR DeployPipelineExecutor - Final attempt in Phase: Deployment Processing Phase failed for transaction: tcm:0-11-66560 2014-03-25 05:55:17,127 ERROR DeployPipelineExecutor - Original stack trace for transaction: tcm:0-11-66560 java.lang.ExceptionInInitializerError: null

Caused by: java.lang.RuntimeException: Fatal error, unable to load the StorageManagerFactory at com.tridion.storage.StorageManagerFactory.reloadInstance(StorageManagerFactory.java:91) ~[cd_datalayer.jar:na] at com.tridion.storage.StorageManagerFactory.(StorageManagerFactory.java:56) ~[cd_datalayer.jar:na]

  • Could you add your storage config in the question and more details message, also check the destination folder for deployment is having proper access rights.
    – Raj Kumar
    Commented Mar 25, 2014 at 6:53
  • One of your config files should be called logback.xml. This file specifies the location of Tridion Content Delivery logs. Find those logs for the Deployer and look at the detailed error message inside. If you still can't figure it out, then update your question with it. Commented Mar 25, 2014 at 7:34
  • I added the log file with the question
    – Nash
    Commented Mar 25, 2014 at 7:50
  • @Nickoli: I verified the storage config file for licence file and path is valid for the license file which have path "d:/httpupload/bin/config/cd_license.xml" wher i placed the license file. but still giving the same error.
    – Nash
    Commented Mar 25, 2014 at 9:21
  • These are always of storage config file issue, when ever your file is not correctly build then only you will face this issue.
    – user1025
    Commented Apr 30, 2014 at 15:09

3 Answers 3


The following lines from your trace indicate that you have an issue with the license configuration in your cd_storage_conf.xml:

com.tridion.services.BaseService.getLicenseManager(BaseService.java:186) ~[cd_core.jar:na] at com.tridion.services.BaseService.processLicensing(BaseService.java:126) ~[cd_core.jar:na] ... Caused by: java.lang.RuntimeException: Fatal error, unable to load the StorageManagerFactory

Make sure the License element contains the correct file path and that your license file is valid.

Also note, I've run into scenarios where the license file was corrupted (possibly due to a bad file transfer or save-as operation), so you may need to request another one from Tridion Support. But before you do this, ensure your current configuration is pointing to a non-expired existing file.

Finally, make sure you do an iisreset after making any configuration changes.


You get same type of error message if your xml is corrupted ,if there is any license issue then you would get a different error message.We need to make sure that our config file is well formatted no missing tags etc.


As Nick has already pointed out that it surely related to a License file error and you may check that a non-expired valid license file should have been specified in all your configuration files. Now valid license means, this should have been generated for the accurate specification (Processor Core, Actual Physical Cores, Server Name etc.) of your server machine on which you have configured your Content Delivery.

If your analysis suggests that a valid License request has been made specifying all valid parameters and the path is also well set in the configuration files, then revert to the SDL Support (as suggested by Nick as well)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.