[SYSTEMML-2399] Fix robustness list slice on temporary paramserv lists This patch fixes the robustness of list slice operations on temorary paramserv lists, which so far resulted in null pointer exceptions due to missing pinned states of inputs.
Project: http://git-wip-us.apache.org/repos/asf/systemml/repo Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/7b29464b Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/7b29464b Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/7b29464b Branch: refs/heads/master Commit: 7b29464becbc0088a0d1834a7c7c2820a3a12242 Parents: fcf7307 Author: Matthias Boehm <[email protected]> Authored: Fri Jun 15 17:44:43 2018 -0700 Committer: Matthias Boehm <[email protected]> Committed: Fri Jun 15 18:58:43 2018 -0700 ---------------------------------------------------------------------- .../java/org/apache/sysml/runtime/instructions/cp/ListObject.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/systemml/blob/7b29464b/src/main/java/org/apache/sysml/runtime/instructions/cp/ListObject.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/ListObject.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/ListObject.java index 4c06396..039f1ed 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/ListObject.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/ListObject.java @@ -65,7 +65,8 @@ public class ListObject extends Data { public ListObject slice(int ix1, int ix2) { ListObject ret = new ListObject(_data.subList(ix1, ix2 + 1), (_names != null) ? _names.subList(ix1, ix2 + 1) : null); - ret.setStatus(Arrays.copyOfRange(_dataState, ix2, ix2 + 1)); + if( _dataState != null ) + ret.setStatus(Arrays.copyOfRange(_dataState, ix2, ix2 + 1)); return ret; }
