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

Circular function definitions create infinite loop #217

Open
jrfaeder opened this issue Oct 18, 2019 · 0 comments
Open

Circular function definitions create infinite loop #217

jrfaeder opened this issue Oct 18, 2019 · 0 comments

Comments

@jrfaeder
Copy link
Contributor

BioNetGen allows both parameters and functions to be defined with reference to parameters and functions that are defined later, and it attempts to resolve these dependencies either after reading the block (parameters) or at run time (functions). The latter is problematic because rather than detecting circular definitions it generates an infinite recursive loop that causes BNG to hang. When this occurs within RuleBender, the resulting process can consume all available memory and cause a system crash. Here's a simple model that demonstrates the problem:

begin functions
  g f()
  f g()
end functions
begin reaction rules
  0-> A() f
end reaction rules
generate_network()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant