-
-
Notifications
You must be signed in to change notification settings - Fork 40
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
How to deal with the OOM error when running Nopol #202
Comments
Thanks for the bug report. Do you use the SMT solver or the Dynamoth solver? |
Thank you very much for the prompt reply. I used the
My Java parameter is: -Xmx4g -Xms1g. So should we limit the |
Interestingly, I noticed that the repair attempt of Nopol on Mockito_29 from Defects4J benchmark also suffered from the same OOM exception (see https://github.com/program-repair/RepairThemAll_experiment/blob/master/results/Defects4J/Mockito/29/Nopol/7/repair.log for the detailed output).
The statement it repaired when OOM occured is:
My summary on the potential reason for this exception: |
To my knowledge, the Nopol in 2017 (developed under jdk 1.7) even produced an almost correct patch (I tend to regard it as a partially correct patch) on Mockito_29. However, the Nopol version (changed to jdk 1.8) in RepairThemAll failed to repair the same bug, even it reached the buggy location: The patch is as follows: (also see https://github.com/Spirals-Team/defects4j-repair/tree/master/results/2017-march/#mockito-29)
I am afraid that some abilities are weaken without intention during the upgrade of jdk version and development of Nopol. |
Additional exception description: Sometimes Nopol will report the The related source code of Nopol:
The In summary, the two types of OOM (i.e., |
Thanks a lot for the super elaborate follow-up.
yes, this happens and this is quite normal with sophisticated technology. now that you have successfully reproduced the bug in a deterministic manner, we have to fix it, would you be able to give it a try? |
I am very happy to try on this issue. I am very interested in the usage of semantic-based approaches (e.g., constraint solving of the SMT solver in Nopol) in automated program repair (APR). And I believe more or most recent SMT solver-related approaches, if further applied into APR, will be able to produce more amazing results. (this may be an interesting topic which may be included into your topic list if you are interested in) I will take a try on fixing this exception. But I am afraid I may not fix it soon, as I am currently working to a deadline that occupies the most of my work time ... (So I am not sure when I can fix this error) By the way, I'd like to report the progress on the upgrade of fault localization for Nopol (to upgrade the GZoltar 0.1.1 to 1.7.3): I reported on several issues (e.g., low efficiency, out of memory, other unexpected behaviours) of GZoltar v1.7.3 to the developer of GZotar who reproduced such errors and replied to me that he would fix them when he got some time. Therefore, the process of upgrade of FL for Nopol is delayed accordingly. Thank you for your great help and understanding. (And sorry for my late reply as GitHub cannnot be visited just now due to an unknown server error) |
Great, looking forward to your patch! Thanks a lot. |
When I ran Nopol on fixing real bugs, the error
OutOfMemoryError: GC overhead limit exceeded
occured unexpectedly.I then used Memory Analyzer tool (Eclipse Plugin) to analyze the .hprof file and obtained the following report:
As is reported, it seems that the
fr.inria.lille.commons.trace.RuntimeValues
caused the OOM. Therefore I would like to ask for your help on how to solve such error. I am sorry that I cannot provide a detailed test case at present (as that may involve modifying the source code of Nopol to replicate the error and the configuration of the real bug would be difficult). I would sincerely appreciate it if any guidance could be provided. Thank you.Thank you in advance for your time and help!
The text was updated successfully, but these errors were encountered: