{"action":"created","issue":{"url":"https://api.github.com/repos/MOEAFramework/MOEAFramework/issues/40","repository_url":"https://api.github.com/repos/MOEAFramework/MOEAFramework","labels_url":"https://api.github.com/repos/MOEAFramework/MOEAFramework/issues/40/labels{/name}","comments_url":"https://api.github.com/repos/MOEAFramework/MOEAFramework/issues/40/comments","events_url":"https://api.github.com/repos/MOEAFramework/MOEAFramework/issues/40/events","html_url":"https://github.com/MOEAFramework/MOEAFramework/issues/40","id":142188790,"number":40,"title":"FastPGA crashes when running on ZDT problems","user":{"login":"Gan0k","id":5843735,"avatar_url":"https://avatars.githubusercontent.com/u/5843735?v=3","gravatar_id":"","url":"https://api.github.com/users/Gan0k","html_url":"https://github.com/Gan0k","followers_url":"https://api.github.com/users/Gan0k/followers","following_url":"https://api.github.com/users/Gan0k/following{/other_user}","gists_url":"https://api.github.com/users/Gan0k/gists{/gist_id}","starred_url":"https://api.github.com/users/Gan0k/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gan0k/subscriptions","organizations_url":"https://api.github.com/users/Gan0k/orgs","repos_url":"https://api.github.com/users/Gan0k/repos","events_url":"https://api.github.com/users/Gan0k/events{/privacy}","received_events_url":"https://api.github.com/users/Gan0k/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-03-20T18:23:27Z","updated_at":"2016-03-21T13:13:50Z","closed_at":"2016-03-21T12:46:24Z","body":"Hi,\r\n\r\nI just wanted to report that FastPGA crashes when running any of the ZDT problems (except ZDT5 since it uses binary variables) due to the use of TimSort on the new Java 7. When using the legacy sort algorithm, the issue is fixed. The problem arises from the class `jmetal.util.comparators.FPGAFitnessComparator` which does not adhere to the contract of the Comparator interface (for example, if `A > B` and `B > C`, `A > C` does not hold). \r\n\r\nI could not run MOEAFramework with a newer version of jMetal's jar. I also tried to crate a patch myself but I was not able to compile jMetal from source. \r\n\r\nThe error outputted is the following:\r\n```\r\nException in thread \"main\" org.moeaframework.algorithm.AlgorithmException: Comparison method violates its general contract!\r\n\tat org.moeaframework.algorithm.jmetal.JMetalAlgorithmAdapter.step(JMetalAlgorithmAdapter.java:118)\r\n\tat org.moeaframework.Executor.runSingleSeed(Executor.java:804)\r\n\tat org.moeaframework.Executor.runSeeds(Executor.java:709)\r\n\tat CompareDef.main(CompareDef.java:201)\r\nCaused by: java.lang.IllegalArgumentException: Comparison method violates its general contract!\r\n\tat java.util.TimSort.mergeLo(TimSort.java:747)\r\n\tat java.util.TimSort.mergeAt(TimSort.java:483)\r\n\tat java.util.TimSort.mergeForceCollapse(TimSort.java:426)\r\n\tat java.util.TimSort.sort(TimSort.java:223)\r\n\tat java.util.TimSort.sort(TimSort.java:173)\r\n\tat java.util.Arrays.sort(Arrays.java:659)\r\n\tat java.util.Collections.sort(Collections.java:217)\r\n\tat jmetal.core.SolutionSet.sort(SolutionSet.java:109)\r\n\tat jmetal.metaheuristics.fastPGA.FastPGA.execute(FastPGA.java:133)\r\n\tat org.moeaframework.algorithm.jmetal.JMetalAlgorithmAdapter.step(JMetalAlgorithmAdapter.java:116)\r\n\t... 3 more\r\n```\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/MOEAFramework/MOEAFramework/issues/comments/199268359","html_url":"https://github.com/MOEAFramework/MOEAFramework/issues/40#issuecomment-199268359","issue_url":"https://api.github.com/repos/MOEAFramework/MOEAFramework/issues/40","id":199268359,"user":{"login":"dhadka","id":2496211,"avatar_url":"https://avatars.githubusercontent.com/u/2496211?v=3","gravatar_id":"","url":"https://api.github.com/users/dhadka","html_url":"https://github.com/dhadka","followers_url":"https://api.github.com/users/dhadka/followers","following_url":"https://api.github.com/users/dhadka/following{/other_user}","gists_url":"https://api.github.com/users/dhadka/gists{/gist_id}","starred_url":"https://api.github.com/users/dhadka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dhadka/subscriptions","organizations_url":"https://api.github.com/users/dhadka/orgs","repos_url":"https://api.github.com/users/dhadka/repos","events_url":"https://api.github.com/users/dhadka/events{/privacy}","received_events_url":"https://api.github.com/users/dhadka/received_events","type":"User","site_admin":false},"created_at":"2016-03-21T13:13:50Z","updated_at":"2016-03-21T13:13:50Z","body":"@Gan0k \r\n\r\nCan you please also post here the code you're running and your version of Java.  I've tried a few times and haven't been able to reproduce the error.  Thanks."}}