Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

SIGSEGV in libmxnet #4928

Closed
txlouder opened this issue Feb 7, 2017 · 3 comments
Closed

SIGSEGV in libmxnet #4928

txlouder opened this issue Feb 7, 2017 · 3 comments

Comments

@txlouder
Copy link

txlouder commented Feb 7, 2017

For bugs or installation issues, please provide the following information.
The more information you provide, the more likely people will be able to help you.

Environment info

Operating System:
Ubuntu 16.04.1
Compiler:

Package used (Python/R/Scala/Julia):
Python
MXNet version:
0.9.3
Or if installed from source:

MXNet commit hash (git rev-parse HEAD):

If you are using python package, please provide

Python version and distribution:

python 2.7.12 from ubuntu repositories

Full python environment information:

$ python -V
Python 2.7.12
$ pip list
appdirs (1.4.0)
cycler (0.10.0)
functools32 (3.2.3.post2)
graphviz (0.5.2)
matplotlib (2.0.0)
mxnet (0.9.3)
numpy (1.12.0)
olefile (0.44)
opencv-python (3.2.0.6)
packaging (16.8)
pandas (0.19.2)
Pillow (4.0.0)
pip (9.0.1)
pkg-resources (0.0.0)
pydicom (0.9.9)
pyparsing (2.1.10)
python-dateutil (2.6.0)
pytz (2016.10)
scipy (0.18.1)
setuptools (34.1.0)
six (1.10.0)
subprocess32 (3.2.7)
wheel (0.30.0a0)

Error Message:

Please paste the full error message, including stack trace.

See error message in stack trace from gdb in "Steps to reproduce" below.

Minimum reproducible example

import mxnet as mx
import cv2
img = cv2.imread('mean.png', 0)

Steps to reproduce

or if you are running standard examples, please provide the commands you have run that lead to the error.

$ gdb python
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1
Copyright (C) 2016 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-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 python...(no debugging symbols found)...done.
(gdb) r
Starting program: /home/dmg/virtualenvs/mxnet/bin/python
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.

import mxnet as mx
[New Thread 0x7ffff3451700 (LWP 9466)]
[New Thread 0x7fffed30d700 (LWP 9467)]
import cv2
img = cv2.imread('mean.png', 0)

Thread 1 "python" received signal SIGSEGV, Segmentation fault.
0x00007fffeed47142 in cv::Mat::copyTo(cv::_OutputArray const&) const ()
from /home/dmg/virtualenvs/mxnet/local/lib/python2.7/site-packages/mxnet/libmxnet.so
(gdb) bt
#0 0x00007fffeed47142 in cv::Mat::copyTo(cv::_OutputArray const&) const ()
from /home/dmg/virtualenvs/mxnet/local/lib/python2.7/site-packages/mxnet/libmxnet.so
#1 0x00007fffe98fcbf5 in _object* pyopencv_fromcv::Mat(cv::Mat const&) ()
from /home/dmg/virtualenvs/mxnet/local/lib/python2.7/site-packages/cv2/cv2.so
#2 0x00007fffe98fd874 in pyopencv_cv_imread(_object*, _object*, _object*) ()
from /home/dmg/virtualenvs/mxnet/local/lib/python2.7/site-packages/cv2/cv2.so
#3 0x00000000004c468a in PyEval_EvalFrameEx ()
#4 0x00000000004c2765 in PyEval_EvalCodeEx ()
#5 0x00000000004c2509 in PyEval_EvalCode ()
#6 0x00000000004f1def in ?? ()
#7 0x000000000044c6ed in PyRun_InteractiveOneFlags ()
#8 0x000000000044c4b2 in PyRun_InteractiveLoopFlags ()
#9 0x000000000042e88a in ?? ()
#10 0x000000000049e14a in Py_Main ()
#11 0x00007ffff7811830 in __libc_start_main (main=0x49dab0

, argc=1, argv=0x7fffffffdc98, init=,
fini=, rtld_fini=, stack_end=0x7fffffffdc88) at ../csu/libc-start.c:291
#12 0x000000000049d9d9 in _start ()

I don't get a segfault if I don't import mxnet. And if I import cv2 before I import mxnet, there is similarly no problem.

Any clues?

What have you tried to solve it?

@piiswrong
Copy link
Contributor

There seems to be a conflict between opencv and python-opencv sometimes. You can

  1. always import cv2 first
  2. uninstall cv2
  3. compile mxnet with USE_OPENCV=0

@Strateus
Copy link

Strateus commented Feb 9, 2017

installing opencv 2.4.13 or lower works (for example conda install -c https://conda.anaconda.org/dhaneshr opencv). Problem only happens with default opencv 3+ for me (conda install opencv).

@szha
Copy link
Member

szha commented Sep 28, 2017

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!

@szha szha closed this as completed Sep 28, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants