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

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

Merged
merged 1 commit into from
May 19, 2020
Merged

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

merged 1 commit into from
May 19, 2020

Conversation

cbalint13
Copy link
Contributor

@cbalint13 cbalint13 commented May 18, 2020

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

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
Copy link
Contributor

leezu commented May 18, 2020

@mxnet-bot run ci [website]

@mxnet-bot
Copy link

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 <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants