IGNITE-6394: Fixed creation of off-heap matrix with size over 2 Gb (int overflow in DenseOffHeapMatrixStorage.allocateMemory)
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/fe06b598 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/fe06b598 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/fe06b598 Branch: refs/heads/ignite-6149 Commit: fe06b5983fb7edf7ea36d7881a22ba6d5a97ee00 Parents: 39b9030 Author: YuriBabak <[email protected]> Authored: Fri Sep 15 16:41:11 2017 +0300 Committer: Igor Sapego <[email protected]> Committed: Fri Sep 15 16:41:11 2017 +0300 ---------------------------------------------------------------------- .../ml/math/impls/storage/matrix/DenseOffHeapMatrixStorage.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/fe06b598/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/matrix/DenseOffHeapMatrixStorage.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/matrix/DenseOffHeapMatrixStorage.java b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/matrix/DenseOffHeapMatrixStorage.java index 6749488..37801d5 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/matrix/DenseOffHeapMatrixStorage.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/matrix/DenseOffHeapMatrixStorage.java @@ -210,7 +210,7 @@ public class DenseOffHeapMatrixStorage implements MatrixStorage { /** */ private void allocateMemory(int rows, int cols) { - ptr = GridUnsafe.allocateMemory(rows * cols * Double.BYTES); + ptr = GridUnsafe.allocateMemory((long)rows * cols * Double.BYTES); ptrInitHash = Long.hashCode(ptr); }
