{"action":"created","issue":{"url":"https://api.github.com/repos/lenskit/lenskit/issues/840","labels_url":"https://api.github.com/repos/lenskit/lenskit/issues/840/labels{/name}","comments_url":"https://api.github.com/repos/lenskit/lenskit/issues/840/comments","events_url":"https://api.github.com/repos/lenskit/lenskit/issues/840/events","html_url":"https://github.com/lenskit/lenskit/issues/840","id":119200133,"number":840,"title":"Live-lock in evaluator","user":{"login":"mdekstrand","id":186612,"avatar_url":"https://avatars.githubusercontent.com/u/186612?v=3","gravatar_id":"","url":"https://api.github.com/users/mdekstrand","html_url":"https://github.com/mdekstrand","followers_url":"https://api.github.com/users/mdekstrand/followers","following_url":"https://api.github.com/users/mdekstrand/following{/other_user}","gists_url":"https://api.github.com/users/mdekstrand/gists{/gist_id}","starred_url":"https://api.github.com/users/mdekstrand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mdekstrand/subscriptions","organizations_url":"https://api.github.com/users/mdekstrand/orgs","repos_url":"https://api.github.com/users/mdekstrand/repos","events_url":"https://api.github.com/users/mdekstrand/events{/privacy}","received_events_url":"https://api.github.com/users/mdekstrand/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/lenskit/lenskit/labels/bug","name":"bug","color":"fc2929"},{"url":"https://api.github.com/repos/lenskit/lenskit/labels/Evaluator","name":"Evaluator","color":"5319e7"}],"state":"closed","locked":false,"assignee":{"login":"mdekstrand","id":186612,"avatar_url":"https://avatars.githubusercontent.com/u/186612?v=3","gravatar_id":"","url":"https://api.github.com/users/mdekstrand","html_url":"https://github.com/mdekstrand","followers_url":"https://api.github.com/users/mdekstrand/followers","following_url":"https://api.github.com/users/mdekstrand/following{/other_user}","gists_url":"https://api.github.com/users/mdekstrand/gists{/gist_id}","starred_url":"https://api.github.com/users/mdekstrand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mdekstrand/subscriptions","organizations_url":"https://api.github.com/users/mdekstrand/orgs","repos_url":"https://api.github.com/users/mdekstrand/repos","events_url":"https://api.github.com/users/mdekstrand/events{/privacy}","received_events_url":"https://api.github.com/users/mdekstrand/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/lenskit/lenskit/milestones/23","html_url":"https://github.com/lenskit/lenskit/milestones/3.0","labels_url":"https://api.github.com/repos/lenskit/lenskit/milestones/23/labels","id":433278,"number":23,"title":"3.0","description":"LensKit 3.0, upcoming major change + long-term stable version.","creator":null,"open_issues":64,"closed_issues":87,"state":"open","created_at":"2013-09-21T00:54:48Z","updated_at":"2015-12-01T21:45:09Z","due_on":"2015-11-30T06:00:00Z","closed_at":null},"comments":3,"created_at":"2015-11-27T13:56:36Z","updated_at":"2015-12-01T21:46:20Z","closed_at":"2015-12-01T21:45:09Z","body":"In certain rare cases, we encounter the live lock described in [JAVASERVERFACES-2544](https://java.net/jira/browse/JAVASERVERFACES-2544) in the evaluator.\r\n\r\nExample stack trace:\r\n\r\n```\r\n\"pool-1-thread-40\" #61 prio=5 os_prio=0 tid=0x00007f1654a76000 nid=0x15825 runnable [0x00007eeee41eb000]\r\n   java.lang.Thread.State: RUNNABLE\r\n        at java.util.WeakHashMap.transfer(WeakHashMap.java:528)\r\n        at java.util.WeakHashMap.resize(WeakHashMap.java:493)\r\n        at java.util.WeakHashMap.put(WeakHashMap.java:466)\r\n        at org.grouplens.grapht.InjectionContainer.makeInstantiator(InjectionContainer.java:118)\r\n        at org.grouplens.grapht.InjectionContainer$DepLookup.apply(InjectionContainer.java:163)\r\n        at org.grouplens.grapht.InjectionContainer$DepLookup.apply(InjectionContainer.java:143)\r\n        at com.google.common.collect.Maps$AsMapView.get(Maps.java:793)\r\n        at org.grouplens.grapht.reflect.internal.ClassInstantiator.instantiate(ClassInstantiator.java:93)\r\n        at org.grouplens.grapht.Instantiators$ProviderInstantiator.instantiate(Instantiators.java:148)\r\n        at org.grouplens.grapht.Instantiators$MemoizingInstantiator.instantiate(Instantiators.java:184)\r\n        - locked <0x00007ef3c33aacb0> (a org.grouplens.grapht.Instantiators$MemoizingInstantiator)\r\n        at org.lenskit.inject.NodeInstantiator$DefaultImpl.instantiate(NodeInstantiator.java:76)\r\n        at org.lenskit.eval.traintest.ComponentCache$CacheEntry.getObject(ComponentCache.java:207)\r\n        - locked <0x00007ef3c33aad50> (a org.lenskit.eval.traintest.ComponentCache$CacheEntry)\r\n        at org.lenskit.eval.traintest.ComponentCache.processNode(ComponentCache.java:132)\r\n        at org.lenskit.inject.NodeProcessors.processNodes(NodeProcessors.java:89)\r\n        at org.lenskit.eval.traintest.ExperimentJob.buildRecommender(ExperimentJob.java:219)\r\n        at org.lenskit.eval.traintest.ExperimentJob.run(ExperimentJob.java:98)\r\n        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)\r\n        at java.util.concurrent.FutureTask.run(FutureTask.java:266)\r\n        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)\r\n        at java.util.concurrent.FutureTask.run(FutureTask.java:266)\r\n        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\r\n        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\r\n        at java.lang.Thread.run(Thread.java:745)\r\n```"},"comment":{"url":"https://api.github.com/repos/lenskit/lenskit/issues/comments/161105640","html_url":"https://github.com/lenskit/lenskit/issues/840#issuecomment-161105640","issue_url":"https://api.github.com/repos/lenskit/lenskit/issues/840","id":161105640,"user":{"login":"kluver","id":5695556,"avatar_url":"https://avatars.githubusercontent.com/u/5695556?v=3","gravatar_id":"","url":"https://api.github.com/users/kluver","html_url":"https://github.com/kluver","followers_url":"https://api.github.com/users/kluver/followers","following_url":"https://api.github.com/users/kluver/following{/other_user}","gists_url":"https://api.github.com/users/kluver/gists{/gist_id}","starred_url":"https://api.github.com/users/kluver/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kluver/subscriptions","organizations_url":"https://api.github.com/users/kluver/orgs","repos_url":"https://api.github.com/users/kluver/repos","events_url":"https://api.github.com/users/kluver/events{/privacy}","received_events_url":"https://api.github.com/users/kluver/received_events","type":"User","site_admin":false},"created_at":"2015-12-01T21:46:20Z","updated_at":"2015-12-01T21:46:20Z","body":"Ill try to remember to take a test pass at this when I have the time. On the assumption that this fixes it, thanks for the hard work @mdekstrand "}}