Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Race condition in timeout decorator node? #57

Closed
@Thordreck

Description

@Thordreck

Hi,
Sorry if this explanation sounds a bit convoluted, but we have been running into this intermittent issue for a while now. A sequence followed by a timeout connected to a retry node would sometimes fail with an exception stating that "This shouldn't happen". The timeout node was somehow returning IDLE to its parent.
I took a look, and it seems the timer runs in its own thread, halting its child and setting a flag if the timeout ever kicks in. This flag is later checked in the tick function.
On the other hand, the retry node returns its own status by calling status() if its child returns FAILURE and there are still tries left.
I think what's happening is that the timer kicks in and halts the retry node at the same time its tick function is being called, thus making it return IDLE at the end.
What do you think? Is this possible?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions