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

Fix undef symbol mxnet::op::ElemwiseBinaryOp::DnsCsrCsrOp [libmxnet.so] - #18357

Merged
leezu merged 1 commit into
apache:masterfrom
cbalint13:master
May 19, 2020
Merged

Fix undef symbol mxnet::op::ElemwiseBinaryOp::DnsCsrCsrOp [libmxnet.so]#18357
leezu merged 1 commit into
apache:masterfrom
cbalint13:master

Conversation

@cbalint13

@cbalint13 cbalint13 commented May 18, 2020

Copy link
Copy Markdown
Contributor

Description

  1. I got error using trunk (when using libmxnet as shared lib), right at dlopen():

libmxnet.so: undefined symbol _ZN5mxnet2op16ElemwiseBinaryOp11DnsCsrCsrOpIN7mshadow3cpuENS0_10mshadow_op3mulEEEvRKN4nnvm9NodeAttrsERKNS_9OpContextERKNS_7NDArrayESG_NS_9OpReqTypeESG_b

  1. The PR fix proper include order and inline.

Comments

See the UND flag.

BEFORE

$ readelf -Ws /usr/lib64/libmxnet.so | c++filt | grep 'void mxnet::op::ElemwiseBinaryOp::DnsCsrCsrOp<mshadow::cpu, mxnet::op::mshadow_op::mul>(nnvm::NodeAttrs const&, mxnet::OpContext const&, mxnet::NDArray const&, mxnet::NDArray const&, mxnet::OpReqType, mxnet::NDArray const&, bool)'
  7613: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND void mxnet::op::ElemwiseBinaryOp::DnsCsrCsrOp<mshadow::cpu, mxnet::op::mshadow_op::mul>(nnvm::NodeAttrs const&, mxnet::OpContext const&, mxnet::NDArray const&, mxnet::NDArray const&, mxnet::OpReqType, mxnet::NDArray const&, bool)
  5021: 0000000000013c80 10251 FUNC    LOCAL  DEFAULT  467 void mxnet::op::ElemwiseBinaryOp::DnsCsrCsrOp<mshadow::cpu, mxnet::op::mshadow_op::mul>(nnvm::NodeAttrs const&, mxnet::OpContext const&, mxnet::NDArray const&, mxnet::NDArray const&, mxnet::OpReqType, mxnet::NDArray const&, bool) [clone .isra.0]
  5022: 00000000000007b4  1479 FUNC    LOCAL  DEFAULT 2652 void mxnet::op::ElemwiseBinaryOp::DnsCsrCsrOp<mshadow::cpu, mxnet::op::mshadow_op::mul>(nnvm::NodeAttrs const&, mxnet::OpContext const&, mxnet::NDArray const&, mxnet::NDArray const&, mxnet::OpReqType, mxnet::NDArray const&, bool) [clone .isra.0] [clone .cold]

AFTER

$ readelf -Ws /usr/lib64/libmxnet.so | c++filt | grep 'void mxnet::op::ElemwiseBinaryOp::DnsCsrCsrOp<mshadow::gpu, mxnet::op::mshadow_op::mul>(nnvm::NodeAttrs const&, mxnet::OpContext const&, mxnet::NDArray const&, mxnet::NDArray const&, mxnet::OpReqType, mxnet::NDArray const&, bool)'
 54842: 000000000976c060  5099 FUNC    WEAK   DEFAULT   12 void mxnet::op::ElemwiseBinaryOp::DnsCsrCsrOp<mshadow::gpu, mxnet::op::mshadow_op::mul>(nnvm::NodeAttrs const&, mxnet::OpContext const&, mxnet::NDArray const&, mxnet::NDArray const&, mxnet::OpReqType, mxnet::NDArray const&, bool)

DETAILS

I am using gcc 10.1.1

[cbalint@yoda ~]$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/10/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,d,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.1.1 20200507 (Red Hat 10.1.1-1) (GCC)

Thank You !

@mxnet-bot

Copy link
Copy Markdown

Hey @cbalint13 , Thanks for submitting the PR
All tests are already queued to run once. If tests fail, you can trigger one or more tests again with the following commands:

  • To trigger all jobs: @mxnet-bot run ci [all]
  • To trigger specific jobs: @mxnet-bot run ci [job1, job2]

CI supported jobs: [unix-cpu, unix-gpu, windows-gpu, sanity, clang, centos-gpu, miscellaneous, edge, website, centos-cpu, windows-cpu]


Note:
Only following 3 categories can trigger CI :PR Author, MXNet Committer, Jenkins Admin.
All CI tests must pass before the PR can be merged.

@leezu

leezu commented May 18, 2020

Copy link
Copy Markdown
Contributor

@mxnet-bot run ci [website]

@mxnet-bot

Copy link
Copy Markdown

Jenkins CI successfully triggered : [website]

@leezu
leezu merged commit 78e31d6 into apache:master May 19, 2020
mrodozov pushed a commit to cms-externals/incubator-mxnet that referenced this pull request Jun 2, 2020
AntiZpvoh pushed a commit to AntiZpvoh/incubator-mxnet that referenced this pull request Jul 6, 2020
chinakook added a commit to chinakook/mxnet that referenced this pull request Jul 20, 2020
szha pushed a commit that referenced this pull request Oct 25, 2020
mseth10 added a commit to mseth10/incubator-mxnet that referenced this pull request Apr 26, 2021
mseth10 pushed a commit to mseth10/incubator-mxnet that referenced this pull request Apr 26, 2021
mseth10 added a commit that referenced this pull request Apr 27, 2021
* Update elemwise_binary_broadcast_op_basic.cu (#18761)

This fix #18170
refer to the fix: #18357

* Fix undef symbol mxnet::op::ElemwiseBinaryOp::DnsCsrCsrOp (#18357)

Co-authored-by: Balint Cristian <cristian.balint@gmail.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

3 participants