The Tensei-Data Demo-Box requires version 4 or 5 (recommended) of VirtualBox. You can download older versions of VirtualBox from the following URL:


If you are using a newer Ubuntu system, you must install specific dependencies like the "libvpx1". A solution to install these dependencies are explained here.

If vagrant or VirtualBox are not properly configured on Windows machines, the following error can occur:

"The guest machine entered an invalid state while waiting for it to boot. Valid states are 'starting, running'. The machine is in the 'poweroff' state. Please verify everything is configured properly and try again. If the provider you're using has a GUI that comes with it, it is often helpful to open that and watch the machine, since the GUI often has more helpful error messages than Vagrant can retrieve. For example, if you're using VirtualBox, run vagrant up while the VirtualBox GUI is open. The primary issue for this error is that the provider you're using is not properly configured. This is very rarely a Vagrant issue."

If that occurs, you should do the following:

  • Open the GUI of VirtualBox
  • Select the Tensei-Data Demo-Box and start the VM
  • After one minute, an error will be shown (Timeout, Error in supR3HardNtChildWaitFor). Simply confirm the error.
  • Another error of VirtualBox is displayed. Simply confirm this error, too.
  • After another minute, the Tensei-Data screen output appears.
  • Another timeout error appears. This must stay open. If you close this error message, the VM will be closed.
  • If the screen output shows the login field, the VM is properly started.

To access files from within the VM, you must store the files in a specifc folder and use a specific URI.

The section "File input and output" describes the necessary steps.

To access databases from within the VM, you must use a specific IP of the local machine in the URI.

The section "Access a local database from the VM" describes the necessary steps.

By using the Demo Box with an Oracle database, the following error can occur:

ORA-00604: error occurred at recursive SQL level 1 ORA-01882: timezone region not found

This requires setting the same time zone as on the system on which the Oracle database is running.

You can set a new time within the Demo Box as follows:

  • vagrant ssh - Connect into the box
  • date - See the actual system date and time
  • sudo dpkg-reconfigure tzdata

Each component (frontend, server, agent) of the Tensei-Data system can individually be restarted. That can be necessary, if uncontrolled errors occured.

The section "Troubleshooting in the VM" describes the necessary steps.

Each component (frontend, server, agent) of the Tensei-Data system has its own log files.

The section "Troubleshooting in the VM" explains the specific places of the log files.


You can filter the source data by using a specific transformer or adding the filter attribute to the specific element of the DFASDL.

See the "Filtering of source data" section from the documentation.

If the system tries to create a new DFASDL from a file (Json, CSV, etc.), the following error can occur:

Generation of DFASDL failed: Input length = 1

Normally, Tensei-Data automatically tries to identify the encoding of the related files, but it can happen that this automatic detection fails.

If the automatic creation of the DFASDL fails, you can try to convert the file to UTF-8.

Examples for the converion:

  • Do another export of the CSV file from the source system and specify UTF-8 as encoding
  • Use iconv on Unix machines

The encoding of the data can be specified in the DFASDL. That is necessary to parse the data correctly. The default encoding of Tensei-Data is UTF-8.

The following example shows the encoding for a complete DFASDL in the core tag.

<dfasdl xmlns="http://www.dfasdl.org/DFASDL" semantic="custom" encoding="ISO-8859-1">

If a transformer has no options defined or a parameter of the options does not have a value, the null set - character is used to express this situation. The empty set sign looks as follows:


Complex tasks can be separated into sub-tasks. Therefore, you have to create individual transformation configurations and select a configuration as Trigger for another configuration.

This chaining is done with the use of a Trigger.