2017-03-06 85 views
1

下面的腳本與cv_bridge使用tensorflow.contrib導致tcmalloc錯誤

import tensorflow.contrib 
import cv_bridge 

import rospy 
rospy.init_node('node') 

引發以下錯誤:

/usr/bin/python2.7  
/home/ethan/.PyCharmCE2016.3/config/scratches/scratch_4.py 
src/tcmalloc.cc:277] Attempt to free invalid pointer 0xa2e78616d5f7475 

過程,退出代碼134結束(通過信號6中斷:SIGABRT)

操作系統:

❯ uname -a 
Linux dos 3.13.0-76-generiC#120-Ubuntu SMP Mon Jan 18 15:59:10 UTC 2016 x86_64 x86_64 x86_64 GNU/ 

我試過重新安裝cv_bridge和tensorflow。沒有運氣。

回答

1

事實證明,解決辦法是切換進口秩序:

import cv_bridge 
import tensorflow.contrib 

import rospy 
rospy.init_node('node') 

這是一個錯誤,我已經貼在te​​nsorflow和OpenCV githubs問題。

編輯: 我發現這個不幸的線在我.zshrc

export LD_PRELOAD="/usr/lib/libtcmalloc_minimal.so.4" 

不知道爲什麼我補充說。評論它解決了這個問題。雖然不是一個錯誤,但我認爲這會有一些更具信息性的錯誤信息。

這是the issue on the Tensorflow Github page,這是the one on the OpenCV page

+0

偉大的,你想通了。如果您可以在這裏鏈接github問題,那將是一件好事。然後其他具有相同問題的人可以更容易地找到他們,看看狀態如何。 – luator