From 2b493e39e7d60203d3a26ddf999ed1c39599eae0 Mon Sep 17 00:00:00 2001 From: Evan Lezar Date: Fri, 21 Feb 2025 23:24:06 +0200 Subject: [PATCH] Disable nvsandboxutils in nvcdi API Repeated calls to nvsandboxutils.Init and Shutdown are causing segmentation violations. Here we disabled nvsandbox utils unless explicitly specified. Signed-off-by: Evan Lezar --- pkg/nvcdi/lib.go | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/pkg/nvcdi/lib.go b/pkg/nvcdi/lib.go index 7afa5096..ecd21533 100644 --- a/pkg/nvcdi/lib.go +++ b/pkg/nvcdi/lib.go @@ -99,19 +99,22 @@ func New(opts ...Option) (Interface, error) { } l.nvmllib = nvml.New(nvmlOpts...) } - if l.nvsandboxutilslib == nil { - var nvsandboxutilsOpts []nvsandboxutils.LibraryOption - // Set the library path for libnvidia-sandboxutils - candidates, err := l.driver.Libraries().Locate("libnvidia-sandboxutils.so.1") - if err != nil { - l.logger.Warningf("Ignoring error in locating libnvidia-sandboxutils.so.1: %v", err) - } else { - libNvidiaSandboxutilsPath := candidates[0] - l.logger.Infof("Using %v", libNvidiaSandboxutilsPath) - nvsandboxutilsOpts = append(nvsandboxutilsOpts, nvsandboxutils.WithLibraryPath(libNvidiaSandboxutilsPath)) - } - l.nvsandboxutilslib = nvsandboxutils.New(nvsandboxutilsOpts...) - } + // TODO: Repeated calls to nvsandboxutils.Init and Shutdown are causing + // segmentation violations. Here we disabled nvsandbox utils unless explicitly + // specified. + // if l.nvsandboxutilslib == nil { + // var nvsandboxutilsOpts []nvsandboxutils.LibraryOption + // // Set the library path for libnvidia-sandboxutils + // candidates, err := l.driver.Libraries().Locate("libnvidia-sandboxutils.so.1") + // if err != nil { + // l.logger.Warningf("Ignoring error in locating libnvidia-sandboxutils.so.1: %v", err) + // } else { + // libNvidiaSandboxutilsPath := candidates[0] + // l.logger.Infof("Using %v", libNvidiaSandboxutilsPath) + // nvsandboxutilsOpts = append(nvsandboxutilsOpts, nvsandboxutils.WithLibraryPath(libNvidiaSandboxutilsPath)) + // } + // l.nvsandboxutilslib = nvsandboxutils.New(nvsandboxutilsOpts...) + // } if l.devicelib == nil { l.devicelib = device.New(l.nvmllib) }