Documentation of Data Master Error Messages
Parser Errors caused by faulty schedule data
If any of the following error messages are reported to you or appear in graylog during on call service (RB), contact LSA team / RB , tell them the possible cause and ask them to check their schedule generation code. If possible, give the LSA team access to your logfile dumps for this incident.
<NODE HEXDUMP>
Failed to execute <add. Cause: Node '<NODENAME>'contains uninitialised elements! Misspelled/forgot a mandatory property in .dot file ?
Problem with a node when adding a schedule graph or subgraph to the DM. The mentioned node is missing a key value pair for one of its mandatory properties. The reason can be a misspelling of the key name or not definining it all.
If absolutely needed, the exact property can be found by using the memory maps in chapter 7 of the manual and crossreferencing the hexdump in the error message with the bit fields. All fields containing deadbeef or d15ea5edbeef are missing their value.
Failed to execute <add. Cause: Validation of Event Sequence: Node '<NODENAME>' of type '<TYPE>' must not have a time offset greater of equal than the period of its terminating block
Problem with a timing message node when adding a schedule graph or subgraph to the DM. The mentioned node has a time offset which is greater or equal than the length of the period (duration) of the block terminating its sequence. This error will also be triggered if the time offset has been set to a negative value. Both is forbidden to prevent late messages and broken loops.
Failed to execute <add. Cause: Validation of Event Sequence: Node '<NODENAME>' of type '<TYPE>' must not have a time offset greater than its successor's
Problem with a timing message node when adding a schedule graph or subgraph to the DM. The mentioned node has a time offset which is greater than the one of the next node in line. This would mean deadlines jumping back and forth, making it impossible for the scheduler to determine the correct dispatch time. This is forbidden to prevent late messages.
Failed to execute <add. Cause: Validation of Neighbourhood: Node '<NODENAME>' of type '<TYPE>' cannot be childless
Problem with a node when adding a schedule graph or subgraph to the DM. The mentioned node's type has a rule that it must be connected to a next node in line, but isn't.
Failed to execute <add. Cause: Validation of Event Sequence: Node '<NODENAME>' of type '<TYPE>' must not be part of a loop without a terminating block
Problem with a node when adding a schedule graph or subgraph to the DM. This happens when a sequence of node forms a loop, but the loop does not contain a block. This would mean that time reference for the deadlines never advances when the loop is repeated and would thus cause late messages after the first loop. This case will only occur if all time offsets are equal, otherwise you will see an error that the time offset is greater than the one of the successor node (where the loop repeats).
terminate called after throwing an instance of 'std::runtime_error'
what(): HashTable: Name undefined not found
The DM was searching for an undefined node name. The most likely cause for this situation is a command such as startpattern failed to find the beginning of a pattern. This happens if either the pattern name is unknown or the pattern has no defined entry point. TODO: This error message is to be replaced by something more descriptive
VisitorUploadCrawler: Child <NODE NAME1>.'s CPU must not differ from parent <NODE NAME2>'s CPU
The DM has multiple CPUs, each with its own RAM. Each CPU can run 1-8 worker threads, executing schedules in its own RAM. While it is possible to place command targets and destinations at another CPUs RAM, an executable sequence of nodes can not span multiple RAMs. Place both nodes on the same CPUs RAM to resolve the situation
Runtime Errors caused by faulty schedule data
Parser error when processing command <CMD NAME>. Cause: HashTable: Name undefined not found
The DM was searching for an undefined node name when executing a command file. This happens if either the pattern name is unknown or the pattern has no defined entry or exit point. TODO: This error message is to be replaced by something more descriptive
Parser error when processing command <CMD NAME>. Cause: Block Node does not have requested queue
This means the DM did not find the command queue it was looking for. When executing a command file, the DM needs a block node in the schedule to graph which is able to actually process the command and create a reaction, otherwise nothing would happen. In order to receive command at all, blocks can be equipped with up to three priority levels of input queues (low/medium/high). If the expected queue at the given target block (usually the exit point of a pattern) does not exist, the DM has nowhere to send the command.
Parser error when processing command <CMD NAME>. Cause: carpeDMcommand: unknown cpu/adr combo <CPU#> <ADR>
When executing a command file, the DM failed to deliver the current command. The most likely reason is that a non block type node was illegally marked in the schedule as the pattern exit. Only a terminating block can be marked as patexit. TODO: In future, this constellation should already be prevented when parsing the schedule for upload
--
MathiasKreider - 17 Feb 2021