Code Monkey home page Code Monkey logo

rcs-strtok-replacement's Introduction

rcs-strtok-replacement

Intel MPI 2018 (all updates) has a bug that manifests on CentOS 8.0 and 8.1 (at time of writing). This bug causes the MPI process startup to segfault in MPI_Init(). The diagnostic stack trace is:

Program received signal SIGSEGV, Segmentation fault.
0x0000155553996b06 in strtok_r () from /lib64/libc.so.6
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.28-42.el8.1.x86_64 libgcc-8.2.1-3.5.el8.x86_64 numactl-devel-2.0.12-2.el8.x86_64
(gdb) bt
#0  0x0000155553996b06 in strtok_r () from /lib64/libc.so.6
#1  0x0000155554b36b61 in __I_MPI___intel_sse2_strtok ()
   from /apps/mpi/intel/2018.1.163/lib/libmpi.so.12
#2  0x00001555549f0925 in MPID_nem_impi_create_numa_nodes_map ()
    at ../../src/mpid/ch3/src/mpid_init.c:458
#3  0x00001555549f3634 in MPID_Init (argc=0x0, argv=0x155554ba1b54,
    requested=1405930120, provided=0x0, has_args=0x3,
    has_env=0x101010101010101) at ../../src/mpid/ch3/src/mpid_init.c:1760
#4  0x000015555499442b in MPIR_Init_thread (argc=0x0, argv=0x155554ba1b54,
    required=1405930120, provided=0x0) at ../../src/mpi/init/initthread.c:717
#5  0x00001555549819bb in PMPI_Init (argc=0x0, argv=0x155554ba1b54)
    at ../../src/mpi/init/init.c:253
#6  0x0000000000401a46 in main ()

This can be fixed by LD_PRELOADing this shimmed strtok, which avoids segfaulting on a NULL argument. Example:

export LD_PRELOAD=$PWD/libc-strtok-shim.so
mpiexec a.out

rcs-strtok-replacement's People

Contributors

mj-harvey avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.