[ 
https://issues.apache.org/jira/browse/SPARK-59618?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ruifeng Zheng resolved SPARK-59618.
-----------------------------------
    Fix Version/s: 4.2.2
                   4.1.5
                   4.3.1
                   4.4.0
       Resolution: Fixed

Issue resolved by pull request 58890
[https://github.com/apache/spark/pull/58890]

> Concurrent F2J LAPACK initialization can hang MultivariateGaussian
> ------------------------------------------------------------------
>
>                 Key: SPARK-59618
>                 URL: https://issues.apache.org/jira/browse/SPARK-59618
>             Project: Spark
>          Issue Type: Bug
>          Components: ML
>    Affects Versions: 4.2.0
>            Reporter: Ruifeng Zheng
>            Assignee: Ruifeng Zheng
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 4.2.2, 4.1.5, 4.3.1, 4.4.0
>
>
> F2J LAPACK caches machine parameters in unsynchronized mutable static fields. 
> During concurrent first use, Dlamc2 publishes first=false before lrmin and 
> lrmax are initialized. A racing Dsyev call can consume zero machine limits 
> and enter a non-terminating Dlascl scaling loop.
> This can occur when MultivariateGaussian instances evaluate their lazy 
> covariance constants concurrently. Repeated thread dumps show one task 
> remaining RUNNABLE in Dlascl -> Dsyev -> F2jLAPACK while its peer finishes 
> normally.
> The proposed fix warms up the selected LAPACK backend once per executor JVM 
> before concurrent eigSym calls. It does not change library dependencies or 
> serialize real eigendecompositions.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to