{"action":"created","issue":{"url":"https://api.github.com/repos/DICE-UNC/jargon/issues/110","labels_url":"https://api.github.com/repos/DICE-UNC/jargon/issues/110/labels{/name}","comments_url":"https://api.github.com/repos/DICE-UNC/jargon/issues/110/comments","events_url":"https://api.github.com/repos/DICE-UNC/jargon/issues/110/events","html_url":"https://github.com/DICE-UNC/jargon/issues/110","id":74088265,"number":110,"title":"Read length set to zero on execute rule with condition","user":{"login":"michael-conway","id":1097261,"avatar_url":"https://avatars.githubusercontent.com/u/1097261?v=3","gravatar_id":"","url":"https://api.github.com/users/michael-conway","html_url":"https://github.com/michael-conway","followers_url":"https://api.github.com/users/michael-conway/followers","following_url":"https://api.github.com/users/michael-conway/following{/other_user}","gists_url":"https://api.github.com/users/michael-conway/gists{/gist_id}","starred_url":"https://api.github.com/users/michael-conway/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michael-conway/subscriptions","organizations_url":"https://api.github.com/users/michael-conway/orgs","repos_url":"https://api.github.com/users/michael-conway/repos","events_url":"https://api.github.com/users/michael-conway/events{/privacy}","received_events_url":"https://api.github.com/users/michael-conway/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/DICE-UNC/jargon/labels/iRODS%20Compatibility","name":"iRODS Compatibility","color":"5319e7"}],"state":"closed","locked":false,"assignee":{"login":"michael-conway","id":1097261,"avatar_url":"https://avatars.githubusercontent.com/u/1097261?v=3","gravatar_id":"","url":"https://api.github.com/users/michael-conway","html_url":"https://github.com/michael-conway","followers_url":"https://api.github.com/users/michael-conway/followers","following_url":"https://api.github.com/users/michael-conway/following{/other_user}","gists_url":"https://api.github.com/users/michael-conway/gists{/gist_id}","starred_url":"https://api.github.com/users/michael-conway/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michael-conway/subscriptions","organizations_url":"https://api.github.com/users/michael-conway/orgs","repos_url":"https://api.github.com/users/michael-conway/repos","events_url":"https://api.github.com/users/michael-conway/events{/privacy}","received_events_url":"https://api.github.com/users/michael-conway/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/DICE-UNC/jargon/milestones/10","html_url":"https://github.com/DICE-UNC/jargon/milestones/Minor%20changes%20and%20compatibility%20-%204.0.2.4","labels_url":"https://api.github.com/repos/DICE-UNC/jargon/milestones/10/labels","id":1126370,"number":10,"title":"Minor changes and compatibility - 4.0.2.4","description":"A performance oriented and bug fix release to accompany iRODS 4.1.6","creator":{"login":"michael-conway","id":1097261,"avatar_url":"https://avatars.githubusercontent.com/u/1097261?v=3","gravatar_id":"","url":"https://api.github.com/users/michael-conway","html_url":"https://github.com/michael-conway","followers_url":"https://api.github.com/users/michael-conway/followers","following_url":"https://api.github.com/users/michael-conway/following{/other_user}","gists_url":"https://api.github.com/users/michael-conway/gists{/gist_id}","starred_url":"https://api.github.com/users/michael-conway/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michael-conway/subscriptions","organizations_url":"https://api.github.com/users/michael-conway/orgs","repos_url":"https://api.github.com/users/michael-conway/repos","events_url":"https://api.github.com/users/michael-conway/events{/privacy}","received_events_url":"https://api.github.com/users/michael-conway/received_events","type":"User","site_admin":false},"open_issues":13,"closed_issues":9,"state":"open","created_at":"2015-05-22T19:31:37Z","updated_at":"2015-11-09T13:59:50Z","due_on":"2015-09-25T04:00:00Z","closed_at":null},"comments":2,"created_at":"2015-05-07T18:47:05Z","updated_at":"2015-11-09T13:59:50Z","closed_at":"2015-11-09T13:59:50Z","body":"in RuleProcessingAOImplTest, failure in \r\n\r\n```Java\r\n\r\n@Test\r\n\tpublic void testRuleContainsConditionWithEqualsInAttrib() throws Exception {\r\n\r\n\t\t// put a collection out to do a checksum on\r\n\t\tString testFileName = \"testRuleChecksum1.txt\";\r\n\t\tString absPath = scratchFileUtils\r\n\t\t\t\t.createAndReturnAbsoluteScratchPath(IRODS_TEST_SUBDIR_PATH);\r\n\t\tFileGenerator.generateFileOfFixedLengthGivenName(absPath, testFileName,\r\n\t\t\t\t100);\r\n\r\n\t\tString targetIrodsCollection = testingPropertiesHelper\r\n\t\t\t\t.buildIRODSCollectionAbsolutePathFromTestProperties(\r\n\t\t\t\t\t\ttestingProperties, IRODS_TEST_SUBDIR_PATH);\r\n\r\n\t\tIRODSAccount irodsAccount = testingPropertiesHelper\r\n\t\t\t\t.buildIRODSAccountFromTestProperties(testingProperties);\r\n\t\tIRODSAccessObjectFactory accessObjectFactory = irodsFileSystem\r\n\t\t\t\t.getIRODSAccessObjectFactory();\r\n\r\n\t\tStringBuilder fileNameAndPath = new StringBuilder();\r\n\t\tfileNameAndPath.append(absPath);\r\n\r\n\t\tfileNameAndPath.append(testFileName);\r\n\r\n\t\tIRODSFile targetCollectionFile = accessObjectFactory\r\n\t\t\t\t.getIRODSFileFactory(irodsAccount).instanceIRODSFile(\r\n\t\t\t\t\t\ttargetIrodsCollection);\r\n\t\ttargetCollectionFile.mkdirs();\r\n\t\tFile sourceFile = new File(fileNameAndPath.toString());\r\n\r\n\t\tDataTransferOperations dto = accessObjectFactory\r\n\t\t\t\t.getDataTransferOperations(irodsAccount);\r\n\t\tdto.putOperation(sourceFile, targetCollectionFile, null, null);\r\n\r\n\t\tStringBuilder ruleBuilder = new StringBuilder();\r\n\t\truleBuilder\r\n\t\t\t\t.append(\"myTestRule||acGetIcatResults(*Action,*Condition,*B)##forEachExec(*B,msiGetValByKey(*B,RESC_LOC,*R)##remoteExec(*R,null,msiDataObjChksum(*B,*Operation,*C),nop)##msiGetValByKey(*B,DATA_NAME,*D)##msiGetValByKey(*B,COLL_NAME,*E)##writeLine(stdout,CheckSum of *E/*D at *R is *C),nop)|nop##nop\\n\");\r\n\t\truleBuilder.append(\"*Action=chksumRescLoc%*Condition=COLL_NAME = '\");\r\n\r\n\t\truleBuilder.append(targetIrodsCollection);\r\n\t\truleBuilder.append(\"'%*Operation=ChksumAll\\n\");\r\n\t\truleBuilder.append(\"*Action%*Condition%*Operation%*C%ruleExecOut\");\r\n\t\tString ruleString = ruleBuilder.toString();\r\n\r\n\t\tRuleProcessingAO ruleProcessingAO = accessObjectFactory\r\n\t\t\t\t.getRuleProcessingAO(irodsAccount);\r\n\r\n\t\tIRODSRuleExecResult result = ruleProcessingAO.executeRule(ruleString);\r\n\r\n\t\tAssert.assertNotNull(\"did not get a response\", result);\r\n\r\n\t\tAssert.assertEquals(\"did not get results for each output parameter\", 6,\r\n\t\t\t\tresult.getOutputParameterResults().size());\r\n\r\n\t\tString conditionValue = (String) result.getOutputParameterResults()\r\n\t\t\t\t.get(\"*Condition\").getResultObject();\r\n\r\n\t\tString expectedCondition = \"COLL_NAME = '\" + targetIrodsCollection\r\n\t\t\t\t+ \"'\";\r\n\t\tAssert.assertEquals(\"condition not found\", expectedCondition,\r\n\t\t\t\tconditionValue);\r\n\r\n\t}\r\n\r\n\r\n\r\n```\r\n\r\n\r\n\r\nstack trace\r\n\r\n\r\n\r\n\r\n\r\n```\r\n\r\norg.irods.jargon.core.exception.JargonException: java.io.IOException: read length is set to zero\r\n\tat org.irods.jargon.core.connection.AbstractIRODSMidLevelProtocol.readHeader(AbstractIRODSMidLevelProtocol.java:1015)\r\n\tat org.irods.jargon.core.connection.AbstractIRODSMidLevelProtocol.readMessage(AbstractIRODSMidLevelProtocol.java:646)\r\n\tat org.irods.jargon.core.connection.AbstractIRODSMidLevelProtocol.readMessage(AbstractIRODSMidLevelProtocol.java:629)\r\n\tat org.irods.jargon.core.connection.IRODSMidLevelProtocol.irodsFunction(IRODSMidLevelProtocol.java:231)\r\n\tat org.irods.jargon.core.connection.AbstractIRODSMidLevelProtocol.irodsFunction(AbstractIRODSMidLevelProtocol.java:174)\r\n\tat org.irods.jargon.core.connection.AbstractIRODSMidLevelProtocol.irodsFunction(AbstractIRODSMidLevelProtocol.java:571)\r\n\tat org.irods.jargon.core.pub.RuleProcessingAOImpl.executeRule(RuleProcessingAOImpl.java:225)\r\n\tat org.irods.jargon.core.pub.RuleProcessingAOImplTest.testRuleContainsConditionWithEqualsInAttrib(RuleProcessingAOImplTest.java:502)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:497)\r\n\tat org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\r\n\tat org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\r\n\tat org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\r\n\tat org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\r\n\tat org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\r\n\tat org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)\r\n\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)\r\n\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)\r\n\tat org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\r\n\tat org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\r\n\tat org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\r\n\tat org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\r\n\tat org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\r\n\tat org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\r\n\tat org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\r\n\tat org.junit.runners.ParentRunner.run(ParentRunner.java:236)\r\n\tat org.junit.runners.Suite.runChild(Suite.java:128)\r\n\tat org.junit.runners.Suite.runChild(Suite.java:24)\r\n\tat org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\r\n\tat org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\r\n\tat org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\r\n\tat org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\r\n\tat org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\r\n\tat org.junit.runners.ParentRunner.run(ParentRunner.java:236)\r\n\tat org.junit.runners.Suite.runChild(Suite.java:128)\r\n\tat org.junit.runners.Suite.runChild(Suite.java:24)\r\n\tat org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\r\n\tat org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\r\n\tat org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\r\n\tat org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\r\n\tat org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\r\n\tat org.junit.runners.ParentRunner.run(ParentRunner.java:236)\r\n\tat org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)\r\n\tat org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)\r\n\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)\r\n\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)\r\n\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)\r\n\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)\r\nCaused by: java.io.IOException: read length is set to zero\r\n\tat org.irods.jargon.core.connection.AbstractConnection.read(AbstractConnection.java:554)\r\n\tat org.irods.jargon.core.connection.AbstractIRODSMidLevelProtocol.readHeader(AbstractIRODSMidLevelProtocol.java:1011)\r\n\t... 49 more\r\n\r\n\r\n\r\n\r\n\r\n```"},"comment":{"url":"https://api.github.com/repos/DICE-UNC/jargon/issues/comments/155069392","html_url":"https://github.com/DICE-UNC/jargon/issues/110#issuecomment-155069392","issue_url":"https://api.github.com/repos/DICE-UNC/jargon/issues/110","id":155069392,"user":{"login":"michael-conway","id":1097261,"avatar_url":"https://avatars.githubusercontent.com/u/1097261?v=3","gravatar_id":"","url":"https://api.github.com/users/michael-conway","html_url":"https://github.com/michael-conway","followers_url":"https://api.github.com/users/michael-conway/followers","following_url":"https://api.github.com/users/michael-conway/following{/other_user}","gists_url":"https://api.github.com/users/michael-conway/gists{/gist_id}","starred_url":"https://api.github.com/users/michael-conway/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michael-conway/subscriptions","organizations_url":"https://api.github.com/users/michael-conway/orgs","repos_url":"https://api.github.com/users/michael-conway/repos","events_url":"https://api.github.com/users/michael-conway/events{/privacy}","received_events_url":"https://api.github.com/users/michael-conway/received_events","type":"User","site_admin":false},"created_at":"2015-11-09T13:59:50Z","updated_at":"2015-11-09T13:59:50Z","body":"iRODS issue resolved"}}