wkcn / MobulaOP

A Simple & Flexible Cross Framework Operators Toolkit
MIT License
164 stars 21 forks source link

Not working with MXNet nightly build (1.5.0b20181222) #24

Closed YutingZhang closed 5 years ago

YutingZhang commented 5 years ago

With MXNet 1.5 nightly build (1.5.0b20181222), import mobula gives segmentation fault.

wkcn commented 5 years ago

Thanks for your report.

In my test,

OS: Arch Linux
Python: 2.7.15 & 3.7.1
mxnet==1.5.0b20181222 (only cpu)
MobulaOP (master, a58c062)

OS: Ubuntu 16.04
Python: 3.5.2
mxnet-cu90==1.5.0b20181222
MobulaOP (master, a58c062)

Script:

import mobula

It works fine.

Could you please provide the following information?

Thank you!

YutingZhang commented 5 years ago

Thank you for your reply. EC2 machine: p3.xlarge OS: Ubuntu 16.04 CUDA: 9.0 Python: 3.6.6 (anaconda mxnet_p36 from AWS deep learning AMI) MXNet: installed by pip install -U mxnet-cu90mkl --pre (so now it is mxnet-cu90mkl-1.5.0b20181228)

Error message:

[15:47:50] $ python3 -c 'import mobula'

Segmentation fault: 11

Stack trace returned 10 entries:
[bt] (0) /home/ubuntu/anaconda3/envs/mxnet_p36/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x3ebbea) [0x7f20fb0ecbea]
[bt] (1) /home/ubuntu/anaconda3/envs/mxnet_p36/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x34740b6) [0x7f20fe1750b6]
[bt] (2) /lib/x86_64-linux-gnu/libc.so.6(+0x354b0) [0x7f213dd524b0]
[bt] (3) /home/ubuntu/anaconda3/envs/mxnet_p36/lib/python3.6/site-packages/torch/_C.cpython-36m-x86_64-linux-gnu.so(+0x420308) [0x7f206b1c1308]
[bt] (4) /home/ubuntu/anaconda3/envs/mxnet_p36/lib/python3.6/site-packages/torch/_C.cpython-36m-x86_64-linux-gnu.so(+0x422520) [0x7f206b1c3520]
[bt] (5) /home/ubuntu/anaconda3/envs/mxnet_p36/lib/python3.6/site-packages/torch/_C.cpython-36m-x86_64-linux-gnu.so(+0xbbfcb2) [0x7f206b960cb2]
[bt] (6) /home/ubuntu/anaconda3/envs/mxnet_p36/lib/python3.6/site-packages/torch/_C.cpython-36m-x86_64-linux-gnu.so(torch::onnx::initONNXBindings(_object*)+0x4f) [0x7f206b95aeff]
[bt] (7) /home/ubuntu/anaconda3/envs/mxnet_p36/lib/python3.6/site-packages/torch/_C.cpython-36m-x86_64-linux-gnu.so(PyInit__C+0x15a) [0x7f206b11f60a]
[bt] (8) python3(_PyImport_LoadDynamicModuleWithSpec+0x185) [0x55c473b50b85]
[bt] (9) python3(+0x215d85) [0x55c473b50d85]

By the way, it is working with mxnet-cu90mkl-1.3.1

wkcn commented 5 years ago

@YutingZhang Thanks.

MobulaOP will import MXNet and PyTorch simultaneously if MXNet and PyTorch exist. It seems that there is a conflict when importing MXNet and PyTorch.

The following script may trigger segmentation fault too.

import mxnet
import torch

or

import torch
import mxnet

I will fix the bug of MobulaOP to avoid importing MXNet and PyTorch simultaneously.

wkcn commented 5 years ago

I create a new branch patch_for_24 to fix the bug. It may work. Thanks.

YutingZhang commented 5 years ago

@wkcn Thank you so much! The patch is working.

wkcn commented 5 years ago

Fixed the bug in PR #26 :)