Subject: Re: bug#21909: Segfault with eigen in R

From: [email-masked] (Ludovic Courtès)
Date: Thu, 19 Nov 2015 10:39:12 +0100

I can reproduce the bug with:

   guix environment --pure --ad-hoc r -- R

and then typed “1” to get a core dump, which gives this:

--8<---------------cut here---------------start------------->8---
Core was generated by `/gnu/store/zci2lb9jlc9hlck3x3hc04ab3y86fzf9-r-3.2.2/lib/R/bin/exec/R'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f34616450e0 in dgemv_t_SANDYBRIDGE () from /gnu/store/hw9p1zyn1nh8pbm1cl69nm0i391lk6c7-openblas-0.2.15/lib/libopenblas.so.0
[Current thread is 1 (Thread 0x7f34651307c0 (LWP 3399))]
(gdb) bt
#0  0x00007f34616450e0 in dgemv_t_SANDYBRIDGE () from /gnu/store/hw9p1zyn1nh8pbm1cl69nm0i391lk6c7-openblas-0.2.15/lib/libopenblas.so.0
#1  0x00000000000000a2 in ?? ()

[...]

(gdb) disassemble
Dump of assembler code for function dgemv_t_SANDYBRIDGE:

[...]

   0x00007f34616450cf <+207>:   jle    0x7f3461645140 <dgemv_t_SANDYBRIDGE+320>
   0x00007f34616450d1 <+209>:   nopl   0x0(%rax,%rax,1)
   0x00007f34616450d6 <+214>:   nopw   %cs:0x0(%rax,%rax,1)
=> 0x00007f34616450e0 <+224>:   movsd  (%r9),%xmm0

[...]

(gdb) p $r9        
$1 = 4016
--8<---------------cut here---------------end--------------->8---

My CPU seems to be a Sandy Bridge:

--8<---------------cut here---------------start------------->8---
$ cat /proc/cpuinfo  | grep ^model | head -2
model           : 42
model name      : Intel(R) Core(TM) i5-2540M CPU @ 2.60GHz
--8<---------------cut here---------------end--------------->8---

Might be useful to report it upstream?

Thanks,
Ludo’.