STEllAR-GROUP / phylanx

An Asynchronous Distributed C++ Array Processing Toolkit
Boost Software License 1.0
75 stars 76 forks source link

Buildbot crash on simple test #767

Closed khuck closed 5 years ago

khuck commented 5 years ago

Reproduced the transient argument processing error (see http://ktau.nic.uoregon.edu:8020/#/builders/8/builds/383/steps/12/logs/stdio) with the test program:

/var/lib/buildbot/slaves/phylanx/x86_64-gcc7-release/build/tools/buildbot/build-delphi-x86_64-Linux-gcc/phylanx-Release/bin/generic_operation_test --hpx:threads=1 --hpx:localities=1 --hpx:node=0

Will crash regardless of whether any arguments are passed to it (I tried eliminating them one at a time). The output in gdb is (unfortunately a Release build, so not much useful info):

[buildbot@delphi phylanx-Release]$ gdb --args /var/lib/buildbot/slaves/phylanx/x86_64-gcc7-release/build/tools/buildbot/build-delphi-x86_64-Linux-gcc/phylanx-Release/bin/generic_operation_test --hpx:threads=1 --hpx:localities=1 --hpx:node=0
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-114.el7
Copyright (C) 2013 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-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /var/lib/buildbot/slaves/phylanx/x86_64-gcc7-release/build/tools/buildbot/build-delphi-x86_64-Linux-gcc/phylanx-Release/bin/generic_operation_test...(no debugging symbols found)...done.
(gdb) run
Starting program: /var/lib/buildbot/slaves/phylanx/x86_64-gcc7-release/build/tools/buildbot/build-delphi-x86_64-Linux-gcc/phylanx-Release/bin/generic_operation_test --hpx:threads=1 --hpx:localities=1 --hpx:node=0
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
warning: File "/storage/packages/gcc/7.1.0/lib64/libstdc++.so.6.0.23-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load:/usr/bin/mono-gdb.py:/usr/lib/golang/src/runtime/runtime-gdb.py".
To enable execution of this file add
    add-auto-load-safe-path /storage/packages/gcc/7.1.0/lib64/libstdc++.so.6.0.23-gdb.py
line to your configuration file "/var/lib/buildbot/.gdbinit".
To completely disable this security protection add
    set auto-load safe-path /
line to your configuration file "/var/lib/buildbot/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
    info "(gdb)Auto-loading safe path"
[New Thread 0x7fffe9e1a700 (LWP 87906)]
[New Thread 0x7fffe9619700 (LWP 87907)]
[New Thread 0x7fffe8e18700 (LWP 87908)]
[New Thread 0x7fffe8617700 (LWP 87909)]
[New Thread 0x7fffe7e16700 (LWP 87910)]
[New Thread 0x7fffe7615700 (LWP 87911)]
[New Thread 0x7fffe6c13700 (LWP 87912)]

{stack-trace}: 4 frames:
0x7ffff5dfdb8c  : hpx::detail::backtrace[abi:cxx11](unsigned long) + 0x9c in /var/lib/buildbot/slaves/phylanx/x86_64-gcc7-release/build/tools/buildbot/build-delphi-x86_64-Linux-gcc/hpx-Release/lib/libhpx.so.1
0x7ffff5e0cb19  : std::__exception_ptr::exception_ptr hpx::detail::get_exception<hpx::exception>(hpx::exception const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) + 0xa9 in /var/lib/buildbot/slaves/phylanx/x86_64-gcc7-release/build/tools/buildbot/build-delphi-x86_64-Linux-gcc/hpx-Release/lib/libhpx.so.1
0x7ffff5e0cfe5  : void hpx::detail::throw_exception<hpx::exception>(hpx::exception const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long) + 0x55 in /var/lib/buildbot/slaves/phylanx/x86_64-gcc7-release/build/tools/buildbot/build-delphi-x86_64-Linux-gcc/hpx-Release/lib/libhpx.so.1
0x7ffff5e4f30e  : hpx::detail::throw_exception(hpx::error, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long) + 0x4e in /var/lib/buildbot/slaves/phylanx/x86_64-gcc7-release/build/tools/buildbot/build-delphi-x86_64-Linux-gcc/hpx-Release/lib/libhpx.so.1
{env}: 85 entries:
  BASH_ENV=/usr/share/lmod/lmod/init/bash
  BASH_FUNC_ml()=() {  eval $($LMOD_DIR/ml_cmd "$@")
}
  BASH_FUNC_module()=() {  eval $($LMOD_CMD bash "$@");
 [ $? = 0 ] && eval $(${LMOD_SETTARG_CMD:-:} -s sh)
}
  BLAS_DIR=/usr/local/packages/lapack/3.7.1-gcc
  BLAS_ROOT=/usr/local/packages/lapack/3.7.1-gcc
  BOOST_DIR=/usr/local/packages/boost/1.65.0-gcc7
  BOOST_ROOT=/usr/local/packages/boost/1.65.0-gcc7
  CMAKE=/usr/local/packages/cmake/3.9.3
  COLUMNS=110
  CPLUS_INCLUDE_PATH=/packages/gcc/7.1/include:/packages/openmpi/2.0_gcc-6/include
  CVS_RSH=ssh
  C_INCLUDE_PATH=/packages/gcc/7.1/include:/packages/openmpi/2.0_gcc-6/include
  GCC=/packages/gcc/7.1
  GMP=/packages/gmp/6.1
  HARMONY_HOME=/usr/local/packages/activeharmony/4.6.0-gcc
  HDF5_LDFLAGS=-L/usr/local/packages/szip/2.1/gcc-4.9/lib -ldl -lz -lsz
  HDF5_ROOT=/usr/local/packages/hdf5/1.10.1-gcc-6.4
  HISTCONTROL=ignoredups
  HISTSIZE=1000
  HOME=/var/lib/buildbot
  HOSTNAME=delphi
  INFOPATH=/packages/gmp/6.1/share/info:/packages/mpfr/3.1_gmp6/share/info:/packages/mpc/1.0_gmp6/share/info:/packages/gcc/7.1/info
  ISL=/packages/isl/0.16.1
  LANG=en_US.UTF-8
  LAPACK_DIR=/usr/local/packages/lapack/3.7.1-gcc
  LAPACK_ROOT=/usr/local/packages/lapack/3.7.1-gcc
  LD_LIBRARY_PATH=/packages/python/3.6.4-ssl/lib:/packages/isl/0.16.1/lib:/packages/gmp/6.1/lib:/packages/mpfr/3.1_gmp6/lib:/packages/mpc/1.0_gmp6/lib:/packages/gcc/7.1/lib64:/packages/gcc/7.1/lib:/packages/openmpi/2.0_gcc-6/lib
  LESSOPEN=||/usr/bin/lesspipe.sh %s
  LINES=32
  LMOD_CMD=/usr/share/lmod/lmod/libexec/lmod
  LMOD_COLORIZE=yes
  LMOD_DEFAULT_MODULEPATH=/packages/modulefiles
  LMOD_DIR=/usr/share/lmod/lmod/libexec
  LMOD_FULL_SETTARG_SUPPORT=no
  LMOD_PKG=/usr/share/lmod/lmod
  LMOD_PREPEND_BLOCK=normal
  LMOD_SETTARG_CMD=:
  LMOD_VERSION=6.6.3
  LMOD_arch=x86_64
  LMOD_sys=Linux
  LOADEDMODULES=mpi/openmpi-2.0_gcc-6.4:gcc/7.1:python/3.6.4
  LOGNAME=buildbot
  LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
  MAIL=/var/spool/mail/buildbot
  MANPATH=/packages/python/3.6.4-ssl/man:/packages/gcc/7.1/share/man:/packages/openmpi/2.0_gcc-6/share/man:/usr/share/lmod/lmod/share/man::
  MODULEPATH=/packages/modulefiles
  MODULEPATH_ROOT=/usr/share/modulefiles
  MODULESHOME=/usr/share/lmod/lmod
  MPC=/packages/mpc/1.0_gmp6
  MPFR=/packages/mpfr/3.1_gmp6
  MPI=/packages/openmpi/2.0_gcc-6
  MPICC=mpicc
  MPICXX=mpicxx
  PATH=/usr/local/packages/cmake/3.9.3/bin:/packages/python/3.6.4-ssl/bin:/packages/gcc/7.1/bin:/packages/openmpi/2.0_gcc-6/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/var/lib/buildbot/.local/bin:/var/lib/buildbot/bin
  PKG_CONFIG_PATH=:/usr/local/packages/lapack/3.7.1-gcc/lib64/pkgconfig
  PWD=/var/lib/buildbot/slaves/phylanx/x86_64-gcc7-release/build/tools/buildbot/build-delphi-x86_64-Linux-gcc/phylanx-Release
  PYTHON=/packages/python/3.6.4-ssl/bin/python3.6
  PYTHONTOP=/packages/python/3.6.4-ssl
  SHELL=/bin/bash
  SHLVL=1
  TAU_MPI=-mpiinc=/packages/openmpi/2.0_gcc-6/include -mpilib=/packages/openmpi/2.0_gcc-6/lib
  TERM=xterm
  USER=buildbot
  XDG_DATA_DIRS=/var/lib/buildbot/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
  XDG_SESSION_ID=4558
  _LMFILES_=/packages/modulefiles/mpi/openmpi-2.0_gcc-6.4:/packages/modulefiles/gcc/7.1:/packages/modulefiles/python/3.6.4
  _ModuleTable001_=X01vZHVsZVRhYmxlXz17WyJhY3RpdmVTaXplIl09MyxiYXNlTXBhdGhBPXsiL3BhY2thZ2VzL21vZHVsZWZpbGVzIix9LFsiY19yZWJ1aWxkVGltZSJdPWZhbHNlLFsiY19zaG9ydFRpbWUiXT1mYWxzZSxmYW1pbHk9e30saW5hY3RpdmU9e30sbVQ9e2djYz17WyJGTiJdPSIvcGFja2FnZXMvbW9kdWxlZmlsZXMvZ2NjLzcuMSIsWyJkZWZhdWx0Il09MCxbImZ1bGxOYW1lIl09ImdjYy83LjEiLFsibG9hZE9yZGVyIl09Mixwcm9wVD17fSxbInNob3J0Il09ImdjYyIsWyJzdGF0dXMiXT0iYWN0aXZlIix9LG1waT17WyJGTiJdPSIvcGFja2FnZXMvbW9kdWxlZmlsZXMvbXBpL29wZW5tcGktMi4wX2djYy02LjQiLFsiZGVmYXVsdCJdPTAsWyJmdWxsTmFtZSJdPSJtcGkvb3Blbm1w
  _ModuleTable002_=aS0yLjBfZ2NjLTYuNCIsWyJsb2FkT3JkZXIiXT0xLHByb3BUPXt9LFsic2hvcnQiXT0ibXBpIixbInN0YXR1cyJdPSJhY3RpdmUiLH0scHl0aG9uPXtbIkZOIl09Ii9wYWNrYWdlcy9tb2R1bGVmaWxlcy9weXRob24vMy42LjQiLFsiZGVmYXVsdCJdPTAsWyJmdWxsTmFtZSJdPSJweXRob24vMy42LjQiLFsibG9hZE9yZGVyIl09Myxwcm9wVD17fSxbInNob3J0Il09InB5dGhvbiIsWyJzdGF0dXMiXT0iYWN0aXZlIix9LH0sbXBhdGhBPXsiL3BhY2thZ2VzL21vZHVsZWZpbGVzIix9LFsic3lzdGVtQmFzZU1QQVRIIl09Ii9wYWNrYWdlcy9tb2R1bGVmaWxlcyIsWyJ2ZXJzaW9uIl09Mix9
  _ModuleTable_Sz_=2
  activeharmony_path=/usr/local/packages/activeharmony/4.6.0-gcc
  basedir=/var/lib/buildbot/slaves/phylanx/x86_64-gcc7-release/build/tools
  boost_path=/usr/local/packages/boost/1.65.0-gcc7
  buildtype=Release
  host=delphi
  malloc=tcmalloc
  malloc_path=/usr/local/packages/gperftools/git-gcc7
  myarch=delphi-x86_64-Linux-gcc
  mycc=gcc
  mycflags=-fPIC
  mycxx=g++
  mycxxflags=-fPIC
  myfc=gfortran
  myldflags=-fPIC -Wl,--allow-multiple-definition
  otf2_path=/usr/local/packages/otf2-2.1
  papi_path=/usr/local/packages/papi/papi-knl/5.5.0/
{locality-id}: 0
{hostname}: [ ]
{process-id}: 87899
{function}: generic_operation::get_0d_function
{file}: /var/lib/buildbot/slaves/phylanx/x86_64-gcc7-release/build/phylanx/plugins/arithmetics/generic_operation_0d.hpp
{line}: 112
{os-thread}: 0, worker-thread#0
{thread-id}: 0000000001189200
{thread-description}: /phylanx/floor__int$0/0$1$1::eval
{state}: state_running
{auxinfo}: 
{config}:
  HPX_WITH_AGAS_DUMP_REFCNT_ENTRIES=OFF
  HPX_WITH_APEX=TRUE
  HPX_WITH_APEX_NO_UPDATE=OFF
  HPX_WITH_ATTACH_DEBUGGER_ON_TEST_FAILURE=OFF
  HPX_WITH_AUTOMATIC_SERIALIZATION_REGISTRATION=ON
  HPX_WITH_CXX14_RETURN_TYPE_DEDUCTION=TRUE
  HPX_WITH_DEPRECATION_WARNINGS=ON
  HPX_WITH_GOOGLE_PERFTOOLS=OFF
  HPX_WITH_HPXMP=OFF
  HPX_WITH_INCLUSIVE_SCAN_COMPATIBILITY=ON
  HPX_WITH_IO_COUNTERS=ON
  HPX_WITH_IO_POOL=ON
  HPX_WITH_ITTNOTIFY=OFF
  HPX_WITH_LOGGING=ON
  HPX_WITH_MORE_THAN_64_THREADS=ON
  HPX_WITH_NATIVE_TLS=ON
  HPX_WITH_NETWORKING=ON
  HPX_WITH_PAPI=OFF
  HPX_WITH_PARCELPORT_ACTION_COUNTERS=OFF
  HPX_WITH_PARCELPORT_LIBFABRIC=OFF
  HPX_WITH_PARCELPORT_MPI=ON
  HPX_WITH_PARCELPORT_MPI_MULTITHREADED=ON
  HPX_WITH_PARCELPORT_TCP=ON
  HPX_WITH_PARCELPORT_VERBS=OFF
  HPX_WITH_PARCEL_PROFILING=ON
  HPX_WITH_SCHEDULER_LOCAL_STORAGE=OFF
  HPX_WITH_SPINLOCK_DEADLOCK_DETECTION=OFF
  HPX_WITH_STACKTRACES=ON
  HPX_WITH_SWAP_CONTEXT_EMULATION=OFF
  HPX_WITH_TESTS_DEBUG_LOG=OFF
  HPX_WITH_THREAD_BACKTRACE_ON_SUSPENSION=OFF
  HPX_WITH_THREAD_CREATION_AND_CLEANUP_RATES=OFF
  HPX_WITH_THREAD_CUMULATIVE_COUNTS=ON
  HPX_WITH_THREAD_DEBUG_INFO=OFF
  HPX_WITH_THREAD_DESCRIPTION_FULL=OFF
  HPX_WITH_THREAD_GUARD_PAGE=ON
  HPX_WITH_THREAD_IDLE_RATES=ON
  HPX_WITH_THREAD_LOCAL_STORAGE=OFF
  HPX_WITH_THREAD_MANAGER_IDLE_BACKOFF=ON
  HPX_WITH_THREAD_QUEUE_WAITTIME=OFF
  HPX_WITH_THREAD_STACK_MMAP=ON
  HPX_WITH_THREAD_STEALING_COUNTS=ON
  HPX_WITH_THREAD_TARGET_ADDRESS=OFF
  HPX_WITH_TIMER_POOL=ON
  HPX_WITH_TUPLE_RVALUE_SWAP=ON
  HPX_WITH_UNWRAPPED_COMPATIBILITY=ON
  HPX_WITH_VALGRIND=OFF
  HPX_WITH_VERIFY_LOCKS=OFF
  HPX_WITH_VERIFY_LOCKS_BACKTRACE=OFF
  HPX_WITH_VERIFY_LOCKS_GLOBALLY=OFF

  HPX_PARCEL_MAX_CONNECTIONS=512
  HPX_PARCEL_MAX_CONNECTIONS_PER_LOCALITY=4
  HPX_AGAS_LOCAL_CACHE_SIZE=4096
  HPX_HAVE_MALLOC=tcmalloc
  HPX_PREFIX (configured)=/var/lib/buildbot/slaves/phylanx/x86_64-gcc7-release/build/tools/buildbot/build-delphi-x86_64-Linux-gcc/hpx-Release
  HPX_PREFIX=/var/lib/buildbot/slaves/phylanx/x86_64-gcc7-release/build/tools/buildbot/build-delphi-x86_64-Linux-gcc/hpx-Release
{version}: V1.3.0-trunk (AGAS: V3.0), Git: 9934a61e0a
{boost}: V1.65.0
{build-type}: release
{date}: Feb  4 2019 04:51:58
{platform}: linux
{compiler}: GNU C++ version 7.1.0
{stdlib}: GNU libstdc++ version 20170502
{what}: <unknown>(1, 1): floor__int:: unknown function requested: floor__int: HPX(bad_parameter)

[Thread 0x7fffe6c13700 (LWP 87912) exited]
[Thread 0x7fffe8e18700 (LWP 87908) exited]
[Thread 0x7fffe7e16700 (LWP 87910) exited]
[Thread 0x7fffe7615700 (LWP 87911) exited]
[Thread 0x7fffe8617700 (LWP 87909) exited]
terminate called after throwing an instance of 'hpx::detail::exception_with_info<hpx::exception>'
[Thread 0x7fffe9619700 (LWP 87907) exited]
  what():  <unknown>(1, 1): floor__int:: unknown function requested: floor__int: HPX(bad_parameter)

Program received signal SIGABRT, Aborted.
0x00007ffff2e15207 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:55
55    return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
Missing separate debuginfos, use: debuginfo-install blas-3.4.2-8.el7.x86_64 hwloc-libs-1.11.8-4.el7.x86_64 infinipath-psm-3.3-26_g604758e_open.2.el7.x86_64 lapack-3.4.2-8.el7.x86_64 libfabric-1.6.1-2.el7.x86_64 libgfortran-4.8.5-36.el7.x86_64 libibverbs-17.2-3.el7.x86_64 libicu-50.1.2-17.el7.x86_64 libnl3-3.2.28-4.el7.x86_64 libpsm2-10.3.58-1.el7.x86_64 librdmacm-17.2-3.el7.x86_64 libtool-ltdl-2.4.2-22.el7_3.x86_64 libuuid-2.23.2-59.el7.x86_64 numactl-libs-2.0.9-7.el7.x86_64
(gdb) bt
#0  0x00007ffff2e15207 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:55
#1  0x00007ffff2e168f8 in __GI_abort () at abort.c:90
#2  0x00007ffff37561b5 in __gnu_cxx::__verbose_terminate_handler ()
    at ../../../../gcc-7.1.0/libstdc++-v3/libsupc++/vterminate.cc:95
#3  0x00007ffff3753fa6 in __cxxabiv1::__terminate (handler=<optimized out>)
    at ../../../../gcc-7.1.0/libstdc++-v3/libsupc++/eh_terminate.cc:47
#4  0x00007ffff3753ff1 in std::terminate ()
    at ../../../../gcc-7.1.0/libstdc++-v3/libsupc++/eh_terminate.cc:57
#5  0x00007ffff3753f9a in std::rethrow_exception (ep=...)
    at ../../../../gcc-7.1.0/libstdc++-v3/libsupc++/eh_ptr.cc:249
#6  0x00007ffff5e3f24c in hpx::runtime_impl::rethrow_exception() ()
   from /var/lib/buildbot/slaves/phylanx/x86_64-gcc7-release/build/tools/buildbot/build-delphi-x86_64-Linux-gcc/hpx-Release/lib/libhpx.so.1
#7  0x00007ffff5e3e7ed in hpx::runtime_impl::run(hpx::util::function<int (), false> const&) ()
   from /var/lib/buildbot/slaves/phylanx/x86_64-gcc7-release/build/tools/buildbot/build-delphi-x86_64-Linux-gcc/hpx-Release/lib/libhpx.so.1
#8  0x00007ffff5e18aa9 in hpx::detail::run(hpx::runtime&, hpx::util::function<int (boost::program_options::variables_map&), false> const&, boost::program_options::variables_map&, hpx::runtime_mode, hpx::util::unique_function<void (), false>, hpx::util::unique_function<void (), false>) ()
   from /var/lib/buildbot/slaves/phylanx/x86_64-gcc7-release/build/tools/buildbot/build-delphi-x86_64-Linux-gcc/hpx-Release/lib/libhpx.so.1
#9  0x00007ffff5e1969c in hpx::detail::run_or_start(bool, std::unique_ptr<hpx::runtime, std::default_delete<hpx::runtime> >, hpx::util::command_line_handling&, hpx::util::unique_function<void (), false>, hpx::util::unique_function<void (), false>) ()
   from /var/lib/buildbot/slaves/phylanx/x86_64-gcc7-release/build/tools/buildbot/build-delphi-x86_64-Linux-gcc/hpx-Release/lib/libhpx.so.1
#10 0x00007ffff5e1b1ce in hpx::detail::run_or_start(hpx::util::function<int (boost::program_options::variables_map&), false> const&, boost::program_options::options_description const&, int, char**, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&&, hpx::util::unique_function<void (), false>, hpx::util::unique_function<void (), false>, hpx::runtime_mode, bool) ()
---Type <return> to continue, or q <return> to quit---q
 from /var/lib/buildbot/slaves/phylanx/x86Quit
khuck commented 5 years ago

@hkaiser Update: after running in the debugger, I found that the string being tested is "floorint" instead of "floor". The extract_function_name function is supposed to strip off the int. Why would it fail?

see: https://github.com/STEllAR-GROUP/phylanx/blob/af8f25255bba908362d524bcce90506710c5a6f6/src/plugins/arithmetics/generic_operation.cpp#L88-L108

this is where the exception is thrown: https://github.com/STEllAR-GROUP/phylanx/blob/af8f25255bba908362d524bcce90506710c5a6f6/src/plugins/arithmetics/generic_operation.cpp#L293-L294

khuck commented 5 years ago

Really odd. The generic_operation::generic_operation constructor is initializing funcname with the value of (detail::extract_function_name(name)). But extract_function_name() function doesn't seem to actually execute in some cases! Or if it does, it only does this much: /phylanx/floor__int$0/0$1$1 -> floor__int. I added some std::out() statements in the detail::extract_function_name() function, and it doesn't seem to get called. Is there some virtual/override annotation missing? See https://github.com/STEllAR-GROUP/phylanx/blob/af8f25255bba908362d524bcce90506710c5a6f6/src/plugins/arithmetics/generic_operation.cpp#L85-L119

A better question would be why the original string is /phylanx/floor__int$0/0$1$1 and not floor. After the test program iterates through the list of operations in https://github.com/STEllAR-GROUP/phylanx/blob/af8f25255bba908362d524bcce90506710c5a6f6/src/plugins/arithmetics/generic_operation.cpp#L46-L81 it does a few extra "floor" passes. Sometimes the input strings are short, sometimes they are long primitive names. Is something iterating past the end of the vector?

khuck commented 5 years ago

@hkaiser @scheherzade WOW. I think we are pushing the limits of the linkers. If I change the name of detail::extract_function_name to something unique (i.e. detail::extract_function_name_kevin), the error goes away...

hkaiser commented 5 years ago

This was fixed by merging #774