{"action":"created","issue":{"url":"https://api.github.com/repos/ZeroNoRyouki/BigReactors/issues/180","repository_url":"https://api.github.com/repos/ZeroNoRyouki/BigReactors","labels_url":"https://api.github.com/repos/ZeroNoRyouki/BigReactors/issues/180/labels{/name}","comments_url":"https://api.github.com/repos/ZeroNoRyouki/BigReactors/issues/180/comments","events_url":"https://api.github.com/repos/ZeroNoRyouki/BigReactors/issues/180/events","html_url":"https://github.com/ZeroNoRyouki/BigReactors/issues/180","id":332214283,"node_id":"MDU6SXNzdWUzMzIyMTQyODM=","number":180,"title":"method reactor.setControlRodsLevels() not always working properly ","user":{"login":"krakaen","id":8230693,"node_id":"MDQ6VXNlcjgyMzA2OTM=","avatar_url":"https://avatars0.githubusercontent.com/u/8230693?v=4","gravatar_id":"","url":"https://api.github.com/users/krakaen","html_url":"https://github.com/krakaen","followers_url":"https://api.github.com/users/krakaen/followers","following_url":"https://api.github.com/users/krakaen/following{/other_user}","gists_url":"https://api.github.com/users/krakaen/gists{/gist_id}","starred_url":"https://api.github.com/users/krakaen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krakaen/subscriptions","organizations_url":"https://api.github.com/users/krakaen/orgs","repos_url":"https://api.github.com/users/krakaen/repos","events_url":"https://api.github.com/users/krakaen/events{/privacy}","received_events_url":"https://api.github.com/users/krakaen/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2018-06-14T00:53:22Z","updated_at":"2018-07-05T09:51:05Z","closed_at":null,"author_association":"NONE","body":"I have a program with openComputer that seem to work 75% of the time and It seems there is an issue with the method setControlRodsLevels.\r\n\r\nI have 2 images here, one shows it working and one not working, Both pass the getControlRodsLevels method return directly to the setControlRodsLevels method.\r\n\r\nboth are in the same modpack (revelation 2.0.0) with the same version of the mod : 1.12.2.0.4.5.49\r\n\r\nBoth reactor are made so that the rods are in mutliple chunks\r\n\r\nWorking\r\n![working-lua-extreme-reactor](https://user-images.githubusercontent.com/8230693/41385706-57cb1d84-6f4b-11e8-830e-927bfcf49deb.jpg)\r\n\r\nError\r\n![error-lua-extreme-reactor](https://user-images.githubusercontent.com/8230693/41385711-5f8a7718-6f4b-11e8-9e2b-e279b8ff3e83.jpg)\r\n\r\nAt this moment, I cannot use the setControlRodsLevels method as it is not reliable. Could you check if there is something wrong in the code? the images above are not even in the code, they are just simple LUA commands.\r\n\r\nThanks\r\n"},"comment":{"url":"https://api.github.com/repos/ZeroNoRyouki/BigReactors/issues/comments/402669182","html_url":"https://github.com/ZeroNoRyouki/BigReactors/issues/180#issuecomment-402669182","issue_url":"https://api.github.com/repos/ZeroNoRyouki/BigReactors/issues/180","id":402669182,"node_id":"MDEyOklzc3VlQ29tbWVudDQwMjY2OTE4Mg==","user":{"login":"ZeroNoRyouki","id":7107662,"node_id":"MDQ6VXNlcjcxMDc2NjI=","avatar_url":"https://avatars0.githubusercontent.com/u/7107662?v=4","gravatar_id":"","url":"https://api.github.com/users/ZeroNoRyouki","html_url":"https://github.com/ZeroNoRyouki","followers_url":"https://api.github.com/users/ZeroNoRyouki/followers","following_url":"https://api.github.com/users/ZeroNoRyouki/following{/other_user}","gists_url":"https://api.github.com/users/ZeroNoRyouki/gists{/gist_id}","starred_url":"https://api.github.com/users/ZeroNoRyouki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ZeroNoRyouki/subscriptions","organizations_url":"https://api.github.com/users/ZeroNoRyouki/orgs","repos_url":"https://api.github.com/users/ZeroNoRyouki/repos","events_url":"https://api.github.com/users/ZeroNoRyouki/events{/privacy}","received_events_url":"https://api.github.com/users/ZeroNoRyouki/received_events","type":"User","site_admin":false},"created_at":"2018-07-05T09:51:05Z","updated_at":"2018-07-05T09:51:05Z","author_association":"OWNER","body":"@asiekierka: I have an Environment that implement ManagedPeripheral which basically means that all my methods are called by the LUA thread, like the a direct=true Callback\r\n\r\nTo make things thread-safe, I schedule the actual code of the methods that change the internal state of a machine or interact with the world to run on the MC thread. The OC'implementations of Maps and Lists contains a sync lock and that's where the race condition come from. I've got reports of timeouts firing up on the MC thread because one of my methods was struck waiting on a Map::size() call. To avoid this I now make a copy of all parameters when ManagedPeripheral::invoke is called on the LUA thread.\r\n\r\nFrom what I can see, this looks like a problem with the iterator of the Arguments implementations\r\n\r\n\r\n"}}
{"actor":{"display_login":"ZeroNoRyouki"}}