Problem
Unable to dequeue messages from queue '<component_GUID>'.
The queue position '<component_GUID>-1768420530707-1' points to a log file that no longer exists.
There is a potential loss of queued messages that's beyond Iguana's control. Please make sure all queued messages are present and accounted for.
Cause
The component failed to dequeue a message from the upstream component because the log file that contained the message no longer exists. The queued messages have been unexpectedly lost.
Solutions
Solution 1: If you are on a version lower than 10.1.117
If you are on a version lower than 10.1.117 and encountered this error, please reach out to Interfaceware Support Team at support@interfaceware.com to resolve this issue to minimize disruptions. This is imperative to prevent accidental crashes when attempting to resolve on your own.
To resolve this error timely, you will need to include in your email the following items:
-
IguanaX version number found under Settings → About.
-
The full error message.
-
The component GUIDs of all components in the affected workflow.
- Component GUIDs can be obtained by clicking on the component from the Dashboard and copying from the browser URL.
![]()
-
A file containing the Component States from the Iguana Service logs.
To obtain the Component States from the Iguana Service logs, follow these steps below:
Navigate to the Iguana Service Logs
Navigate to the Logs and change the dropdown to “Iguana Service” which will be located at the top of the dropdown list.
![]()
Use the Search filters to look for Component States
Search the logs using the Filters for “component states” and click “Search”.
![]()
Copy the contents of the Component States log entry and save in a file
Double click the log message containing the most recent Component States entry to open in detailed view. Copy the contents of the log entry in full and save the contents to a file using a text editor application.
![]()
Solution 2: If you are on a version equal or higher than 10.1.117
The queue position needs to be updated so it points to a valid log file. Currently it is attempting to dequeue from a log file that no longer exists.
We can correct the queue position by pushing a harmless dummy message from the upstream component to the downstream component that encountered the error, which advances the queue to a valid position.
It is recommended to perform this process during a period of downtime, as you will need to stop all components in the workflow and clear the queues of the affected components.
Additional Note:
If multiple components have the dequeue error, the solution below must be done for all affected components, in order. Take a look at the following example workflow.
Component A → Component B → Component C → Component D
If in this workflow, components B and C are encountering the dequeue error, you will need to follow steps 1-6 for component B then steps 1-6 for component C before starting all components again in step 7.
1. Stop all components in the workflow
You can stop components using bulk actions or stop components one by one.
2. Temporarily edit the upstream component to push a harmless, dummy message
-
View the upstream component in Translator in Edit mode.
-
Rename the original
main()function to another name i.e.main2(). -
Create a new, empty
main()function. -
Add a
queue.pushstatement in the global scope (outside themain()function).
Example Code:
-- Push a harmless message downstream
queue.push{data = "Hello World"}
-- Create an empty main function
function main(Data)
end
-- Rename the original main function
function main2(Data)
-- original code
end
3. Start upstream component
Turn on the upstream component to push the harmless message downstream.
4. Stop the upstream component and verify the message was pushed
View the logs of the upstream component to verify the dummy message was pushed.
If the message was pushed successfully, there will be a new log entry containing the dummy message and a #message tag.
![]()
5. Unlink and relink the components to clear the queue.
Unlink the upstream component from the downstream component, then relink it.
This clears the downstream component's queue.
6. Remove the dummy changes from the upstream Translator.
Revert all changes made earlier.
-
View the source component in Translator in Edit mode.
-
Delete the empty
main()function and the queue.push added in global scope. -
Rename
main2()back tomain().
7. Start your components again.
You can start components using bulk actions or start components one by one.