Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id BD83D200C7F for ; Wed, 10 May 2017 06:25:07 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id BC201160BC3; Wed, 10 May 2017 04:25:07 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 0ED3B160BB6 for ; Wed, 10 May 2017 06:25:06 +0200 (CEST) Received: (qmail 75022 invoked by uid 500); 10 May 2017 04:25:06 -0000 Mailing-List: contact issues-help@spark.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@spark.apache.org Received: (qmail 75013 invoked by uid 99); 10 May 2017 04:25:06 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 May 2017 04:25:06 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id C5AFF182172 for ; Wed, 10 May 2017 04:25:05 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -100.001 X-Spam-Level: X-Spam-Status: No, score=-100.001 tagged_above=-999 required=6.31 tests=[RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id kLQJW-SkjizM for ; Wed, 10 May 2017 04:25:05 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id CE97F5FBA0 for ; Wed, 10 May 2017 04:25:04 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 5DFF0E02C7 for ; Wed, 10 May 2017 04:25:04 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 1475521DEB for ; Wed, 10 May 2017 04:25:04 +0000 (UTC) Date: Wed, 10 May 2017 04:25:04 +0000 (UTC) From: "Ignacio Bermudez Corrales (JIRA)" To: issues@spark.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (SPARK-20687) mllib.Matrices.fromBreeze may crash when converting breeze CSCMatrix MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Wed, 10 May 2017 04:25:07 -0000 Ignacio Bermudez Corrales created SPARK-20687: ------------------------------------------------- Summary: mllib.Matrices.fromBreeze may crash when converting breeze CSCMatrix Key: SPARK-20687 URL: https://issues.apache.org/jira/browse/SPARK-20687 Project: Spark Issue Type: Bug Components: MLlib Affects Versions: 2.1.1 Reporter: Ignacio Bermudez Corrales Priority: Critical Conversion of Breeze sparse matrices to Matrix is broken when matrices are product of certain operations. This problem I think is caused by the update method in Breeze CSCMatrix when they add provisional zeros to the data for efficiency. This bug is serious and may affect at least BlockMatrix addition and substraction http://stackoverflow.com/questions/33528555/error-thrown-when-using-blockmatrix-add/43883458#43883458 The following code, reproduces the bug. test("breeze conversion bug") { // (2, 0, 0) // (2, 0, 0) val mat1Brz = Matrices.sparse(2, 3, Array(0, 2, 2, 2), Array(0, 1), Array(2, 2)).asBreeze // (2, 1E-15, 1E-15) // (2, 1E-15, 1E-15 val mat2Brz = Matrices.sparse(2, 3, Array(0, 2, 4, 6), Array(0, 0, 0, 1, 1, 1), Array(2, 1E-15, 1E-15, 2, 1E-15, 1E-15)).asBreeze // The following shouldn't break val t01 = mat1Brz - mat1Brz val t02 = mat2Brz - mat2Brz val t02Brz = Matrices.fromBreeze(t02) val t01Brz = Matrices.fromBreeze(t01) val t1Brz = mat1Brz - mat2Brz val t2Brz = mat2Brz - mat1Brz // The following ones should break val t1 = Matrices.fromBreeze(t1Brz) val t2 = Matrices.fromBreeze(t2Brz) } -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org For additional commands, e-mail: issues-help@spark.apache.org