0 Replies Latest reply on Mar 30, 2015 5:18 PM by ewtoombs

    segfault on intel ivy bridge

    ewtoombs

      compiler command:

      gcc -m64 -mavx -Llib -Iinclude examples/sgels_c_example.c -o sgels -lacml_mp -lgfortran -lrt

       

      gdb session:

      $ LD_LIBRARY_PATH=lib gdb sgels

      GNU gdb (GDB) 7.9

      Copyright (C) 2015 Free Software Foundation, Inc.

      License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

      This is free software: you are free to change and redistribute it.

      There is NO WARRANTY, to the extent permitted by law.  Type "show copying"

      and "show warranty" for details.

      This GDB was configured as "x86_64-unknown-linux-gnu".

      Type "show configuration" for configuration details.

      For bug reporting instructions, please see:

      <http://www.gnu.org/software/gdb/bugs/>.

      Find the GDB manual and other documentation resources online at:

      <http://www.gnu.org/software/gdb/documentation/>.

      For help, type "help".

      Type "apropos word" to search for commands related to "word"...

      Reading symbols from sgels...(no debugging symbols found)...done.

      (gdb) r

      Starting program: /home/eric/pkg/acml-gfortran/src/gfortran64_mp/sgels

      [Thread debugging using libthread_db enabled]

      Using host libthread_db library "/usr/lib/libthread_db.so.1".

      ACML example: least-squares solution of overdetermined system of

                    linear equations using sgels

      ----------------------------------------------------------------

       

      Matrix A:

      -0.5700  -1.2800  -0.3900   0.2500

      -1.9300   1.0800  -0.3100  -2.1400

        2.3000   0.2400   0.4000  -0.3500

      -1.9300   0.6400  -0.6600   0.0800

        0.1500   0.3000   0.1500  -2.1300

      -0.0200   1.0300  -1.4300   0.5000

       

      Right-hand-side matrix B:

      -3.1500   2.1900

      -0.1100  -3.6400

        1.9900   0.5700

      -2.7000   8.2300

      [New Thread 0x7ffff1f96700 (LWP 15357)]

      [New Thread 0x7ffff2797700 (LWP 15356)]

      [New Thread 0x7ffff2f98700 (LWP 15355)]

       

      Program received signal SIGSEGV, Segmentation fault.

      0x0000000000000000 in ?? ()

      (gdb) bt

      #0  0x0000000000000000 in ?? ()

      #1  0x00007ffff5a72260 in sgemvthreshapu_dynamic_ () from lib/libacml_mp.so

      #2  0x00007ffff66ee959 in sgemv_ () from lib/libacml_mp.so

      #3  0x00007ffff6790bd6 in slarf_ () from lib/libacml_mp.so

      #4  0x00007ffff66f2487 in sgeqr2_ () from lib/libacml_mp.so

      #5  0x00007ffff66f485d in sgeqrf8k_ () from lib/libacml_mp.so

      #6  0x00007ffff66f414b in sgeqrf8j_ () from lib/libacml_mp.so

      #7  0x00007ffff66f33f3 in sgeqrf8g_._omp_fn () from lib/libacml_mp.so

      #8  0x00007ffff66f36e5 in sgeqrf8g_ () from lib/libacml_mp.so

      #9  0x00007ffff66f75de in sgeqrf_ () from lib/libacml_mp.so

      #10 0x00007ffff66d36da in sgels_ () from lib/libacml_mp.so

      #11 0x00007ffff66d1267 in sgels () from lib/libacml_mp.so

      #12 0x0000000000400ba1 in main ()

      (gdb) info threads

        Id   Target Id         Frame

        4    Thread 0x7ffff2f98700 (LWP 15355) "sgels" futex_wait (val=0,

          addr=0x608c24)

          at /build/gcc-multilib/src/gcc-4.9-20150304/libgomp/config/linux/x86/futex.h:44

        3    Thread 0x7ffff2797700 (LWP 15356) "sgels" futex_wait (val=0,

          addr=0x608c24)

          at /build/gcc-multilib/src/gcc-4.9-20150304/libgomp/config/linux/x86/futex.h:44

        2    Thread 0x7ffff1f96700 (LWP 15357) "sgels" futex_wait (val=0,

          addr=0x608c24)

          at /build/gcc-multilib/src/gcc-4.9-20150304/libgomp/config/linux/x86/futex.h:44

      * 1    Thread 0x7ffff7fc67c0 (LWP 15351) "sgels" 0x0000000000000000 in ?? ()

      (gdb)

       

      Looks like it died somewhere in an internal function call "sgemvthreshapu_dynamic_". Any idea what might have gone wrong? The hardware (cpu and gpu) is an intel ivy bridge (Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz, four cores). Here is the /proc/cpuinfo:

      processor   : 0
      vendor_id   : GenuineIntel
      cpu family  : 6
      model       : 58
      model name  : Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
      stepping    : 9
      microcode   : 0x16
      cpu MHz     : 3192.718
      cache size  : 6144 KB
      physical id : 0
      siblings    : 4
      core id     : 0
      cpu cores   : 4
      apicid      : 0

      initial apicid  : 0

      fpu         : yes

      fpu_exception   : yes

      cpuid level : 13
      wp          : yes
      flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca

      cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx

      rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology

      nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx

      est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt

      tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm arat epb pln pts dtherm

      tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt

      bugs        :
      bogomips    : 6387.49
      clflush size: 64

      cache_alignment : 64

      address sizes   : 36 bits physical, 48 bits virtual

      power management: