numo-linalg icon indicating copy to clipboard operation
numo-linalg copied to clipboard

"stack smashing detected" occur with liblapacke64

Open mrkn opened this issue 3 years ago • 1 comments

I used this test script.

$ cat test.rb
require "numo/linalg/autoloader"
require "datasets-numo-narray"
require "rumale"

p Numo::Linalg::Autoloader.libs

numeric_columns = [
  :bill_length_mm, :bill_depth_mm, :flipper_length_mm, :body_mass_g
]

penguins = Datasets::Penguins.new
array = penguins.filter_map do |record|
  values = numeric_columns.map do |column|
    record[column]
  end
  unless values.include?(nil)
    values
  end
end

x = Numo::NArray[*array]

x_std = Rumale::Preprocessing::StandardScaler.new.fit_transform(x)

pca = Rumale::Decomposition::PCA.new#(n_components: 4)
p pca.fit_transform(x_std)

First, I confirmed that the problem occurs with liblapacke64.

$ ruby test.rb 
["/usr/lib/x86_64-linux-gnu/libopenblas.so.0", "/usr/lib/x86_64-linux-gnu/liblapacke64.so.3.9.0"]
*** stack smashing detected ***: terminated
Aborted (core dumped)

Then, I tried the same test script with liblapacke.

$ sudo apt remove liblapacke64
...(snip)...
$ ruby test.rb
["/usr/lib/x86_64-linux-gnu/libopenblas.so.0", "/usr/lib/x86_64-linux-gnu/liblapacke.so.3.9.0"]
Numo::DFloat#shape=[342,2]
[[1.84075, 0.0476324], 
 [1.30485, -0.427722], 
 [1.36718, -0.15425], 
 [1.87608, -0.00204541], 
 [1.90895, 0.827996], 
 [1.76045, -0.350965], 
 [0.808889, 0.521724], 
 [1.83252, -0.768507], 
 [1.19246, 1.02478], 
 [1.72767, -0.787415], 
 [1.74049, -0.665515], 
 [1.78609, -0.235726], 
 [1.94543, 1.00977], 
 [1.56169, 0.596213], 
 [1.7371, -0.593942], 
 [1.56656, 0.0957962], 
 [0.794444, 1.30888], 
 [2.33955, -0.631749], 
 [0.992793, 1.98276], 
 [2.39412, -0.294074], 
 ...

The problem does not occur with liblapacke.

mrkn avatar Jul 04 '21 11:07 mrkn