-
Notifications
You must be signed in to change notification settings - Fork 17
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
org.evosuite.runtime.TooManyResourcesException: Loop has been executed more times than the allowed 10000 #99
Comments
Same as issue #100, this is a crash which is happened deep in the EvoSuite code. It needs some investigations. |
We can try to debug it tomorrow in a parallel session, if you are available. Let me know. |
I did an investigation on this one. Apparently, EvoSuite puts a limitation on the number of iterations that we can have in the loops of software under test. Fortunately, you can modify this limitation by |
Thanks, I will try this out! |
Hi @pderakhshanfar
But still getting error report in logs: Am I doing something wrong? I see Botsing is going in the right direction to reproduce the crash, but the tentative test looks a bit repetitive:
because it creates two IFAuthenticationManager. Moreover, it tries to authenticateUser, what is not required before deleting an user. Maybe this is influenced by the generated behavioral model. In any case, I can't understand the reason it exhausted the that loop, and why the input flag has no effect. |
About the generated test, the nature of Botsing (or any other genetic-based test generation approaches) is mixing different scenarios to find a test closer to the objective (here, crash reproduction). For this purpose, the algorithm may create sth repetitive or irrelevant during the search process. However, after finding a crash-reproducing test case, it cleans the achieved test case and removes the repetitive parts. So, there is no problem with repetitive or unused parts. It does not impact the eventual goal of Botsing. |
The loop problem is coming from a specific generated test case that iterates more than 10,000 times on a loop of your software. They put this limitation to make sure that a generated test does not get stuck in an infinite loop. So, a question that may arise here is that is it essential for your application to have a test which iterates more than 10,000 times on a loop? If the answer is yes, according to EvoSuite's documentations, |
There's nothing in our source code that iterates if I remember well, but I will double check the methods invoked by the test generated by Botsing |
I confirm, there are not loops in that class. There are not iterative method calls as well. |
Hi @pderakhshanfar , IFAuthenticationManagerTest passes well, so the loop shown by Botsing when IFAuthenticationManager is accessing the external authentication service is not caused by a service unavailability. |
@jesus-gorronogoitia, you can set this value in Botsing source code. So, you do not need to change it in EvoSuite directly. For now, you can add the following line to RuntimeSettings.maxNumberOfIterationsPerLoop = 50_000; However, in the next release, I will make sure that a parameter of Botsing can set this value dynamically. |
Characteristics
Description
Experiment running Botsing reproduction v1.0.8_snapshot on Atos IF runtime exception is not generating crash-reproduction tests. See execution logs here.
Inspection of logs shows that Botsing is triggering an
rg.evosuite.runtime.TooManyResourcesException: Loop has been executed more times than the allowed 10000
exception when executing the best generated test.This is an excerpt of Botsing logs:
Any idea on what is causing this Botsing behavior? It seems Botsing is exhausting some resources. How can I increase them?
Steps to reproduce
Botsing experiment was launched with this script:
java -jar botsing-reproduction-1.0.8.jar -Dsearch_budget=180 -Dpopulation=100 -Dtest_dir=../results/crash-reproduction-tests -crash_log ./logs/exception16b.log -target_frame 3 -project_cp ./libs -model ../results/models -Dp_object_pool=1.0 -Dsandbox=False
Other files and URLs
Relationships
Help on issue template
Preview to follow the link or open file .github/ISSUE_DOC.md
The text was updated successfully, but these errors were encountered: