issues in setup of radiology module environment with dcm4chee

Hello all!

I want to share an issue you might run into if you try to setup the development environment for the radiology module using

currently server which was holding library is down. you can read about it here!topic/dcm4che/pFf5gHWxB38

I therefore disabled fetching the library otherwise the PACS would not install.

downside is that the DICOM Wado service does not start. So you need to follow instructions at section “8. Mac OSX and Windows x64 specific changes for the WADO service:” and restart the dcm4chee service.

to restart dcm4chee vagrant ssh sudo service dcm4chee restart

to check the log file for any errors

sudo less /opt/dcm4chee/dcm4chee-2.18.1-psql/server/default/log/server.log

to watch it while you send images, or use the dcm4chee ui

sudo tail -f /opt/dcm4chee/dcm4chee-2.18.1-psql/server/default/log/server.log

if you have any issue, please just post it here



Does it mean the vagrant command should not be executed ?

Try running the vagrant up command as per the instructions on this git repo[1] gave this error log


you should still run vagrant up

are you on the latest master? seems like you run into a timeout, due to internet bandwidth we disabled the timeout, so it should work on the latest master. please check

I know this is a trivial thing, but when I ran the current puppet-openmrs-radiologydcm4chee install, the dcm4chee instance is using mysql, so the files are in /opt/dcm4chee/dcm4chee-2.18.1-mysql/server/default/log/server.log not /opt/dcm4chee/dcm4chee-2.18.1-psql/server/default/log/server.log as described above. Also, when making this change, the description in requires knowing $DCM4CHEE_HOME which is /opt/dcm4chee/dcm4chee-2.18.1-mysql/.

1 Like

thank you for sharing @tansentim :thumbsup:

Hi @teleivo

I have been facing some issues with the setup.

The first time i ran “vagrant up” in the puppet-openmrs-radiologydcm4chee as explained on github, I ran into an error saying that vagrant was a unable to foward ports, 8080, 3306 that they are been used. I am guessing this because i had a running openmrs on port 8080 and mysql on 3306 .

So i modified the ports used by vagrant in the Vagrantfile to 8089 and 3307. I ran “vagrant up” again and i had a new error (==> default: ERROR -> undefined method `[]’ for nil:NilClass). With a little googling, it was suggested that i run “vagrant plugin update”. After running “vagrant plugin update” it said that all plugins are upto date. Running “vagrant up” said vm is alreay running(but i thought it failded due to the error above).

The next steps suggested on the readme on github(that is, open, localhost:8080/openmrs, localhost:8081/dcm4chee-web3/, localhost:8081/jmx-console/). Since i modified the port 8080 to 8089 inside the vagrant file due to the first error i was experiencing, what i actually opened was “localhost:8089/openmrs” but all links gave me a server not found error.

In an effort to start affresh i ran “vagrant destroy -f” and “vagrant up” and ended up with the error here. Reading through the conversations on this thread, i realised that someone had this similiar error at some point and you advice him to run “vagrant up” again. So i ran “vagrant up” again and the out put i received was that vm is already running(which i thought had failed) but trying to open the links again still gives me server not found.

In additions to the problems mentioned above, i have the following questions

  1. I noticed that i had to install vitual box before starting the setup, so do i need to login to this virtualbox before i can open these links (if so, then the readme needs to be updated)
  2. Do I need to have an already running instance of openmrs at localhost:8080/openmrs or this is created during “vagrant up”. I noticed something like this in the Vagrantfile.

From what i understood, actually no OpenMRS initial instance is needed, Vagrant up is suppose to download everything along side the tomcat, java, mysql and do the configurations in the virtual box automatically.

Hi @ivange94,

yes you need to make sure the ports that are being forwarded from VM to your host are not already in use. If they are just change the port numbers in the Vagrantfile, like you did. The error you get (==> default: ERROR -> undefined method `[]’ for nil:NilClass) might be a syntax error in your Vagrantfile.

Sure if you change the ports from the Vagrantfile you need to adapt the URLs of the readme as well.

If you get a “server not found error” it seems that all the services are not running. I assume they are not properly installed. As I can see from the error message you provided in the link. It says timeout error. These are internet bandwidth issues I cant help you with. You can only try vagrant destroy -f and vagrant up a few times and hope it will finish without errors. If not I am sorry, but not much I can do. You should then do a manual installation of OpenMRS and dcm4chee. Its not that difficult and also good to learn about all the components involved in running those applications (things others using this automated setup miss out on ;)). If you do a manual install I suggest you still use vagrant. Just change the base box in the Vagrantfile to ubuntu/trusty64 and create a vagrant box once your done, before deploying the radiology module.


  1. no need to open virtualbox GUI
  2. OpenMRS is deployed for you all in the process happening after vagrant up. But of course this process needs to be successful.

Hope it will work, good luck!

Hi @teleivo

After multiple unsuccessful attempts to setup environment using vagrant(and am pretty sure its not internet connection, cause lately i have been using a bundle that gives me 300KB/s), i finally decided to go with the manual installation. So i followed the link you gave on the installation guide. But its like wiki has not been updated for a while and almost all the links they provided for me to download dependencies return a 404 on oracle servers. Also some of the instructions are not valid, like for example

  1. Copy files from JBoss to dcm4chee:

Dcm4chee consists of components that run within the JBoss application server platform. This step will copy the JBoss runtime files to the dcm4chee directory.

Go to the dcm4chee-2.17.1-xxx/bin directory and execute the install_jboss.bat or script, as appropriate for your operating system, with the path of your JBoss AS installation directory as a parameter.

For example:

C:\apps\dcm4chee-2.17.1-psql\bin>install_jboss.bat c:\apps\jboss-4.2.3.GA

I did not find any install_jboss.bat nor inside the dcm4chee i downloaded.

I know that the PACS installation us not so straight forward, that’s why I created the vagrant setup.

Install the 2.18.1 version of dcm4chee. They forgot the file in 2.18.3. Or install 2.18.3 but get these files from 2.18.1

1 Like

@ivange94 I can see from your logs that cannot be resolved. Therefore the bootstrap script fails to download a .deb file.

Can you do wget

? Are you behind a proxy? I guess not.

@teleivo just did, and it was successful and the .deb file has been downloaded. So should i run “vagrant up” again?

I have copied the puppetlabs-release-trusty.deb to /tmp, did “vagrant destroy -f” and “vagrant up” again (its currently running, keeping my fingers crossed :slight_smile: ).

1 Like

@teleivo now i no longer have a problems with not been resolved. But i keep getting command exceeded timeout. While googling it was suggested that i can change the default timeout but i don’t know which file i have to modify to achieve this. Maybe increasing the timeout limit might fix the issue for me. Below is where i started getting problems

==> default: Notice: /Stage[main]/Tomcat/Group[tomcat]/ensure: created==> default: Error: Command exceeded timeout==> default: Error: /Stage[main]/Jdk_oracle/Jdk_oracle::Install[jdk_oracle]/Exec[get_jdk_installer_7]/returns: change from notrun to 0 failed: Command exceeded timeout==> default: Notice: /Stage[main]/Jdk_oracle/Jdk_oracle::Install[jdk_oracle]/Exec[extract_jdk_7]: Dependency Exec[get_jdk_installer_7] has failures: true==> default: Warning: /Stage[main]/Jdk_oracle/Jdk_oracle::Install[jdk_oracle]/Exec[extract_jdk_7]: Skipping because of failed dependencies

here is the full log

dear @ivange94

a little bit of background:

I am using the puppet module nanliu-staging to download and extract archives such as the jboss one.

nanliu-staging module uses the puppet exec resource for this see

The puppet exec resource has a timeout attribute. The puppet docs say that you can set it to 0 to disable the timeout. see

I set the timeout to 0 for the staging module:

since people where facing timeouts.

From your logs I can see that this timeout now happens when downloading the jdk (which has ~100MB I think).

Now the jdk is downloaded/installed via the puppet module

So the problem might be that the Exec timeout is not disabled globally, hence a default timeout still applies for the jdk modules call to Exec.

You could try setting a default/global Exec timeout of 0 see

Not sure but maybe adding

exec::timeout: 0

to the end of the might work.

If not please do the manual installation. You are wasting time and again it is very valuable to do the installation yourself as well. You will be a pro when troubleshooting later. :slight_smile:


Hi @teleivo, @judy

I have finished with the installation and configuration of the radiology module as instructed by the guide. I have also successfully created a vagrant box to avoid the configuration from scratch. :slight_smile:

Right now i am going through jira issues for radiology to get my self acquainted with the code base. I will also create a thread for the project discussions.


Kudo Larry .

1 Like

I am newbee at Bahmni, I installed DCM4CHEE and Virtual Box, but having Issue with WADO service deployment… when Start DCM4CHEE service.

Please help to solve this …