Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Timeout in SpuriousDependency in TS #2293

Open
petervdonovan opened this issue May 21, 2024 · 0 comments
Open

Timeout in SpuriousDependency in TS #2293

petervdonovan opened this issue May 21, 2024 · 0 comments
Labels
bug Something isn't working federated typescript Related to TypeScript target

Comments

@petervdonovan
Copy link
Collaborator

A bug is suspected in the level assignment for federated execution. This is the level assignment which is based on TPO. See https://github.com/lf-lang/lingua-franca/actions/runs/9148420154/job/25150943808?pr=2262. This link will go stale, so here is the relevant part of the logs:

    INFO (reactor-ts): 'id (federationID)' property overridden by command line argument.
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): >>> Initializing
    INFO (reactor-ts): 'id (federationID)' property overridden by command line argument.
    INFO (reactor-ts): >>> Spent (0 secs; 6705920 nsecs) checking the precedence graph.
    INFO (reactor-ts): Connecting to RTI on port: 15045
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): Scheduling federate start for (1716130121 secs; 804353024 nsecs)
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): >>> Initializing
    INFO (reactor-ts): >>> Spent (0 secs; 14012160 nsecs) checking the precedence graph.
    INFO (reactor-ts): Connecting to RTI on port: 15045
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): Scheduling federate start for (1716130121 secs; 804353024 nsecs)
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): 'id (federationID)' property overridden by command line argument.
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): >>> Initializing
    INFO (reactor-ts): >>> Spent (0 secs; 5295872 nsecs) checking the precedence graph.
    INFO (reactor-ts): Connecting to RTI on port: 15045
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): Scheduling federate start for (1716130121 secs; 804353024 nsecs)
    INFO (reactor-ts): ================================================================================
    Hello from passthrough 1
    Hello from passthrough 0
    count is now 1
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): >>> Start of execution: ((1716130121 secs; 804353024 nsecs), 0)
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): >>> Start of execution: ((1716130121 secs; 804353024 nsecs), 0)
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): >>> Start of execution: ((1716130121 secs; 804353024 nsecs), 0)
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): >>> End of execution at (logical) time: (1716130122 secs; 804353024 nsecs)
    INFO (reactor-ts): >>> Elapsed physical time: (1 secs; 3052032 nsecs)
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): RTI socket has closed.
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): >>> End of execution at (logical) time: (1716130122 secs; 804353024 nsecs)
    INFO (reactor-ts): >>> Elapsed physical time: (1 secs; 3648000 nsecs)
    INFO (reactor-ts): ================================================================================
    INFO (reactor-ts): RTI socket has closed.

This could happen because two mutually dependent network reactions were somehow scheduled with the same level. One reason why this would only manifest in the TS target would be because in the C target there are multiple cores, so reactions on the same level are less likely to block each other.

However, it looks like this is a deadlock during shutdown, so it could be a bug in the coordination of shutdown instead of a problem with level assignment. It is possible that the main reason to suspect the level assignment is merely that the purpose of the SpuriousDependency test is to check TPO.

@petervdonovan petervdonovan added bug Something isn't working typescript Related to TypeScript target federated labels May 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working federated typescript Related to TypeScript target
Projects
None yet
Development

No branches or pull requests

1 participant