1. 程式人生 > >【error】Segmentation fault (core dumped)

【error】Segmentation fault (core dumped)

在安裝caffe時make, make all, make runtest, make pycaffe均成功完成

但是在make pytest時出現錯誤 Segmentation fault (core dumped) 如下

  1. [[email protected] caffe]$ make pycaffe
  2. make: Nothing to be done for `pycaffe'.
  3. [[email protected] caffe]$ make pytest
  4. cd python; python -m unittest discover -s caffe/test
  5. /bin/sh: line 1: 10541 **Segmentation fault      (core dumped)
    ** python -m unittest discover -s caffe/test
  6. make: *** [pytest] Error 139 

我曾經遇到過Segmentation fault (core dumped) 是在自己編寫程式的時候,三位張量某一維度數過大,導致記憶體溢位,

但此次是在執行caffe官方程式,所以大概率不會有隨意使用指標、非法指標等問題。

解釋:

core dump又叫核心轉儲,。

當程式執行過程中發生異常, 程式異常退出時, 由作業系統把程式當前的記憶體狀況儲存在一個core檔案中, 叫core dump.  

在程式執行的過程中,Segment fault(段錯誤)這樣的錯誤比較困難,因為沒有任何的棧、trace資訊輸出。

該種類型的錯誤往往與指標操作相關。往往可以通過這樣的方式進行定位。

  1. [[email protected] caffe]$ ulimit -a | grep 'core file size'---------系統是否配置支援了dump core功能
  2. core file size          (blocks, -c) 0---------為0,則表示系統關閉了dump core
  3. [[email protected] caffe]$ ulimit -c unlimited---------開啟dump core(只對當前shell程序有效)
  4. [[email protected]
    caffe]$ ulimit -a | grep 'core file size'
  5. core file size          (blocks, -c) unlimited

或者-檢視全部,如下

  1. [[email protected] caffe]$ ulimit -c 
  2. unlimited
  3. [[email protected] caffe]$ ulimit -a
  4. core file size          (blocks, -c) unlimited
  5. data seg size           (kbytes, -d) unlimited 
  6. file size               (blocks, -f) unlimited
  7. stack size              (kbytes, -s) 8192 
  8. max user processes              (-u) 4096
  9. virtual memory          (kbytes, -v) unlimited
  10. file locks                      (-x) unlimited。。。。

重新make ,,生成了core檔案。

!!我的並沒有生成core檔案!!有篇部落格這樣寫:若發生了段錯誤,但沒有core dump,是由於系統禁止core檔案的生成。 

以及我目前在python程式碼裡的import caffe顯示沒有caffe模組,這是否說明caffe沒有安裝成功?