prime_server.cpp:455 proxy_t: bad_function_call
kevinkreiser opened this issue · 22 comments
migrated this issue from: valhalla/valhalla#2985
@bmarcco reported:
When send request to localhost:8002/route?json={"verbose":true,"locations":[{"lat":42.358528,"lon":-83.271400},{"lat":42.996613,"lon":-78.749855}],"costing":"bicycle","costing_options":{"bicycle":{"bicycle_type":"road"}},"directions_options":{"units":"miles"},"id":"12abc3afe23984fe"}
I get an error "[ERROR] src/prime_server.cpp:455 proxy_t: bad_function_call"
looks like somehow the choose functor gets called even when its not set (the default)
HI @kevinkreiser
I have configured valhalla and could not use it. Is there a workaround for this issue?
Thank you.
@chaitu2chowdary Since I have you here what platform are you on? I can't reproduce it on mine or in CI. I'm wondering if somehow std::function::operator bool()
is broken on certain implementations or something? maybe the default parameter is somehow undefined behavior?
Hi, @chaitu2chowdary in the first attempt, I followed the instructions for installing the prime server from https://gis-ops.com/valhalla-part-1-how-to-install-on-ubuntu/, but after that I installed the prime server following the instructions from https://github.com/kevinkreiser/prime_server and now it works. I use ubuntu 20.0.4.
Hi @kevinkreiser
I am on aws ubuntu 20.0.4. it is a 4gb ram instance.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.2 LTS
Release: 20.04
Codename: focal
when I run 'make test -j8' command, I have some failed tests.
PASS: test/zmq
./test-driver: line 107: 32897 Alarm clock "$@" > $log_file 2>&1
FAIL: test/interrupt
./test-driver: line 107: 32889 Alarm clock "$@" > $log_file 2>&1
FAIL: test/shaping
./test-driver: line 107: 32871 Alarm clock "$@" > $log_file 2>&1
FAIL: test/netstring
./test-driver: line 107: 32888 Alarm clock "$@" > $log_file 2>&1
FAIL: test/http
============================================================================
Testsuite summary for prime_server 0.7.0
============================================================================
# TOTAL: 5
# PASS: 1
# SKIP: 0
# XFAIL: 0
# FAIL: 4
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
Please report to https://github.com/kevinkreiser/prime_server/issues
============================================================================
make[2]: *** [Makefile:1330: test-suite.log] Error 1
make[2]: Leaving directory '/root/prime_server'
make[1]: *** [Makefile:1438: check-TESTS] Error 2
make[1]: Leaving directory '/root/prime_server'
make: *** [Makefile:1673: check-am] Error 2
I ignored the test and executed this command 'sudo make install'
make[1]: Entering directory '/root/prime_server'
/bin/mkdir -p '/usr/local/lib'
/bin/bash ./libtool --mode=install /usr/bin/install -c libprime_server.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libprime_server.so.0.0.0 /usr/local/lib/libprime_server.so.0.0.0
libtool: install: (cd /usr/local/lib && { ln -s -f libprime_server.so.0.0.0 libprime_server.so.0 || { rm -f libprime_server.so.0 && ln -s libprime_server.so.0.0.0 libprime_server.so.0; }; })
libtool: install: (cd /usr/local/lib && { ln -s -f libprime_server.so.0.0.0 libprime_server.so || { rm -f libprime_server.so && ln -s libprime_server.so.0.0.0 libprime_server.so; }; })
libtool: install: /usr/bin/install -c .libs/libprime_server.lai /usr/local/lib/libprime_server.la
libtool: install: /usr/bin/install -c .libs/libprime_server.a /usr/local/lib/libprime_server.a
libtool: install: chmod 644 /usr/local/lib/libprime_server.a
libtool: install: ranlib /usr/local/lib/libprime_server.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /usr/local/lib
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the 'LD_RUN_PATH' environment variable
during linking
- use the '-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to '/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
/bin/mkdir -p '/usr/local/bin'
/bin/bash ./libtool --mode=install /usr/bin/install -c prime_serverd prime_httpd prime_proxyd prime_workerd prime_echod prime_filed '/usr/local/bin'
libtool: install: /usr/bin/install -c .libs/prime_serverd /usr/local/bin/prime_serverd
libtool: install: /usr/bin/install -c .libs/prime_httpd /usr/local/bin/prime_httpd
libtool: install: /usr/bin/install -c .libs/prime_proxyd /usr/local/bin/prime_proxyd
libtool: install: /usr/bin/install -c .libs/prime_workerd /usr/local/bin/prime_workerd
libtool: install: /usr/bin/install -c .libs/prime_echod /usr/local/bin/prime_echod
libtool: install: /usr/bin/install -c .libs/prime_filed /usr/local/bin/prime_filed
/bin/mkdir -p '/usr/local/include'
/bin/mkdir -p '/usr/local/include/prime_server'
/usr/bin/install -c -m 644 prime_server/prime_server.hpp prime_server/zmq_helpers.hpp prime_server/netstring_protocol.hpp prime_server/http_protocol.hpp prime_server/http_util.hpp '/usr/local/include/prime_server'
/bin/mkdir -p '/usr/local/lib/pkgconfig'
/usr/bin/install -c -m 644 libprime_server.pc '/usr/local/lib/pkgconfig'
make[1]: Leaving directory '/root/prime_server'
Hi, @chaitu2chowdary in the first attempt, I followed the instructions for installing the prime server from https://gis-ops.com/valhalla-part-1-how-to-install-on-ubuntu/, but after that I installed the prime server following the instructions from https://github.com/kevinkreiser/prime_server and now it works. I use ubuntu 20.0.4.
Hi @bmarcco
I did the exact same but no luck.
i have tried to install prime server instructions from the https://github.com/kevinkreiser/prime_server but did not work.
2021/04/14 15:35:44.278582 [ERROR] src/prime_server.cpp:455 proxy_t: bad_function_call
in the first attempt, I followed the instructions for installing the prime server from https://gis-ops.com/valhalla-part-1-how-to-install-on-ubuntu/,
Those instructions don't work for me either anymore, but I'm hitting #100 with my autoconf 1.71-1 on arch linux.. So, when you followed our tutorial @bmarcco, you got the prime_server.cpp:455 proxy_t: bad_function_call
error, but it worked when you followed kevin's own instructions?
Never really investigated #100 tbh.. I chickened out on the CMake route:
cd prime_server
cmake -B build .
cmake --build build
# if you want build the test:
make -C build test
sudo make -C build install
in the first attempt, I followed the instructions for installing the prime server from https://gis-ops.com/valhalla-part-1-how-to-install-on-ubuntu/,
Those instructions don't work for me either anymore, but I'm hitting #100 with my autoconf 1.71-1 on arch linux.. So, when you followed our tutorial @bmarcco, you got the
prime_server.cpp:455 proxy_t: bad_function_call
error, but it worked when you followed kevin's own instructions?Never really investigated #100 tbh.. I chickened out on the CMake route:
cd prime_server cmake -B build . cmake --build build # if you want build the test: make -C build test sudo make -C build install
With this, i am able to test the build with 100% pass results.
but when i run the following command I got errors.
command
time prime_serverd 1000000 1
errors
2021/04/15 06:57:30.546826 [ERROR] src/prime_server.cpp:455 proxy_t: bad_function_call
2021/04/15 06:57:30.546837 [ERROR] src/prime_server.cpp:455 proxy_t: bad_function_call
2021/04/15 06:57:30.546849 [ERROR] src/prime_server.cpp:455 proxy_t: bad_function_call
Hm.. I just tried it again, both cmake and autotools on a 20.04 docker container with a freshly updated ubuntu image. Both scenarios work for me (if I don't forget to add usr/local/lib
to LD_LIBRARY_PATH
or install prime_server to /usr
)! Very curious yours doesn't..
You're on WSL2 (Linux for Windows) or smth?
@nilsnolde
I am on aws ubuntu 20.0.4. it is a 4gb ram instance.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.2 LTS
Release: 20.04
I have installed prime_server in the root folder
am I missing something here?
I have tried in two different instances both had the same error!
I have the exact same OS here in docker and it all worked fine.. No idea tbh..
@nilsnolde Here is the results when i run 'sudo make -C build install'
make: Entering directory '/root/prime_server/build'
make[1]: Entering directory '/root/prime_server/build'
make[2]: Entering directory '/root/prime_server/build'
make[2]: Leaving directory '/root/prime_server/build'
[ 21%] Built target prime_server
make[2]: Entering directory '/root/prime_server/build'
make[2]: Leaving directory '/root/prime_server/build'
[ 28%] Built target prime_echod
make[2]: Entering directory '/root/prime_server/build'
make[2]: Leaving directory '/root/prime_server/build'
[ 35%] Built target prime_filed
make[2]: Entering directory '/root/prime_server/build'
make[2]: Leaving directory '/root/prime_server/build'
[ 42%] Built target prime_serverd
make[2]: Entering directory '/root/prime_server/build'
make[2]: Leaving directory '/root/prime_server/build'
[ 50%] Built target prime_httpd
make[2]: Entering directory '/root/prime_server/build'
make[2]: Leaving directory '/root/prime_server/build'
[ 57%] Built target interrupt
make[2]: Entering directory '/root/prime_server/build'
make[2]: Leaving directory '/root/prime_server/build'
[ 64%] Built target http
make[2]: Entering directory '/root/prime_server/build'
make[2]: Leaving directory '/root/prime_server/build'
[ 71%] Built target netstring
make[2]: Entering directory '/root/prime_server/build'
make[2]: Leaving directory '/root/prime_server/build'
[ 78%] Built target prime_workerd
make[2]: Entering directory '/root/prime_server/build'
make[2]: Leaving directory '/root/prime_server/build'
[ 85%] Built target shaping
make[2]: Entering directory '/root/prime_server/build'
make[2]: Leaving directory '/root/prime_server/build'
[ 92%] Built target prime_proxyd
make[2]: Entering directory '/root/prime_server/build'
make[2]: Leaving directory '/root/prime_server/build'
[100%] Built target zmq
make[1]: Leaving directory '/root/prime_server/build'
Install the project...
-- Install configuration: "Release"
-- Up-to-date: /usr/local/lib/libprime_server.so.0.7.0
-- Up-to-date: /usr/local/lib/libprime_server.so.0
-- Up-to-date: /usr/local/lib/libprime_server.so
-- Up-to-date: /usr/local/include/prime_server/prime_server.hpp
-- Up-to-date: /usr/local/include/prime_server/http_util.hpp
-- Up-to-date: /usr/local/include/prime_server/netstring_protocol.hpp
-- Up-to-date: /usr/local/include/prime_server/zmq_helpers.hpp
-- Up-to-date: /usr/local/include/prime_server/http_protocol.hpp
-- Up-to-date: /usr/local/bin/prime_echod
-- Up-to-date: /usr/local/bin/prime_filed
-- Up-to-date: /usr/local/bin/prime_httpd
-- Up-to-date: /usr/local/bin/prime_serverd
-- Up-to-date: /usr/local/bin/prime_proxyd
-- Up-to-date: /usr/local/bin/prime_workerd
-- Up-to-date: /usr/local/lib/pkgconfig/libprime_server.pc
make: Leaving directory '/root/prime_server/build'
@chaitu2chowdary what is the result of ldd /usr/local/lib/libprime_server.so.0.7.0
?
the ppa version of the library shows:
root@31ca0df872aa:/# ldd /usr/lib/x86_64-linux-gnu/libprime_server.so
linux-vdso.so.1 (0x00007ffdb25ec000)
libzmq.so.5 => /lib/x86_64-linux-gnu/libzmq.so.5 (0x00007fde67227000)
libczmq.so.4 => /lib/x86_64-linux-gnu/libczmq.so.4 (0x00007fde671b9000)
libcurl.so.4 => /lib/x86_64-linux-gnu/libcurl.so.4 (0x00007fde67128000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fde66f47000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fde66d55000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fde66d3a000)
libsodium.so.23 => /lib/x86_64-linux-gnu/libsodium.so.23 (0x00007fde66ce0000)
libpgm-5.2.so.0 => /lib/x86_64-linux-gnu/libpgm-5.2.so.0 (0x00007fde66c91000)
libnorm.so.1 => /lib/x86_64-linux-gnu/libnorm.so.1 (0x00007fde66b36000)
libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007fde66ae9000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fde66ac6000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007fde66abd000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007fde66a0c000)
libnghttp2.so.14 => /lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007fde669e3000)
libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007fde669c2000)
librtmp.so.1 => /lib/x86_64-linux-gnu/librtmp.so.1 (0x00007fde669a2000)
libssh.so.4 => /lib/x86_64-linux-gnu/libssh.so.4 (0x00007fde66934000)
libpsl.so.5 => /lib/x86_64-linux-gnu/libpsl.so.5 (0x00007fde66921000)
libssl.so.1.1 => /lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007fde6688c000)
libcrypto.so.1.1 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007fde665b6000)
libldap_r-2.4.so.2 => /lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007fde66560000)
liblber-2.4.so.2 => /lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007fde6654f000)
libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007fde66541000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fde66525000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fde663d4000)
/lib64/ld-linux-x86-64.so.2 (0x00007fde6731b000)
libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007fde662f7000)
libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007fde662c6000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007fde662bf000)
libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007fde662b0000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fde662a3000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fde6627a000)
liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x00007fde66259000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007fde6613b000)
libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007fde65fb9000)
libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007fde65de3000)
libhogweed.so.5 => /lib/x86_64-linux-gnu/libhogweed.so.5 (0x00007fde65da9000)
libnettle.so.7 => /lib/x86_64-linux-gnu/libnettle.so.7 (0x00007fde65d6f000)
libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fde65ceb000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fde65ce5000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fde65cc9000)
libsasl2.so.2 => /lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007fde65caa000)
libgssapi.so.3 => /lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007fde65c65000)
libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007fde65c42000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007fde65c3b000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007fde65c18000)
libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007fde65ae2000)
libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007fde65aca000)
libheimntlm.so.0 => /lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007fde65abe000)
libkrb5.so.26 => /lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007fde65a2b000)
libasn1.so.8 => /lib/x86_64-linux-gnu/libasn1.so.8 (0x00007fde65984000)
libhcrypto.so.4 => /lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007fde6594c000)
libroken.so.18 => /lib/x86_64-linux-gnu/libroken.so.18 (0x00007fde65931000)
libffi.so.7 => /lib/x86_64-linux-gnu/libffi.so.7 (0x00007fde65925000)
libwind.so.0 => /lib/x86_64-linux-gnu/libwind.so.0 (0x00007fde658fb000)
libheimbase.so.1 => /lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007fde658e9000)
libhx509.so.5 => /lib/x86_64-linux-gnu/libhx509.so.5 (0x00007fde6589b000)
libsqlite3.so.0 => /lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007fde65770000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007fde65735000)
@kevinkreiser
hi kevin
here is the result of 'ldd /usr/local/lib/libprime_server.so.0.7.0'
linux-vdso.so.1 (0x00007ffec41a6000)
libzmq.so.5 => /usr/lib/x86_64-linux-gnu/libzmq.so.5 (0x00007fbbd08ba000)
libczmq.so.4 => /usr/lib/x86_64-linux-gnu/libczmq.so.4 (0x00007fbbd084c000)
libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007fbbd07bb000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fbbd05da000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fbbd05bf000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbbd03cd000)
libsodium.so.23 => /usr/lib/x86_64-linux-gnu/libsodium.so.23 (0x00007fbbd0373000)
libpgm-5.2.so.0 => /usr/lib/x86_64-linux-gnu/libpgm-5.2.so.0 (0x00007fbbd0324000)
libnorm.so.1 => /usr/lib/x86_64-linux-gnu/libnorm.so.1 (0x00007fbbd01c9000)
libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007fbbd017c000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fbbd0159000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007fbbd0150000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007fbbd009f000)
libnghttp2.so.14 => /usr/lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007fbbd0076000)
libidn2.so.0 => /usr/lib/x86_64-linux-gnu/libidn2.so.0 (0x00007fbbd0055000)
librtmp.so.1 => /usr/lib/x86_64-linux-gnu/librtmp.so.1 (0x00007fbbd0035000)
libssh.so.4 => /usr/lib/x86_64-linux-gnu/libssh.so.4 (0x00007fbbcffc7000)
libpsl.so.5 => /usr/lib/x86_64-linux-gnu/libpsl.so.5 (0x00007fbbcffb4000)
libssl.so.1.1 => /usr/lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007fbbcff1f000)
libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007fbbcfc49000)
libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007fbbcfbf3000)
liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007fbbcfbe2000)
libbrotlidec.so.1 => /usr/lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007fbbcfbd4000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fbbcfbb8000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fbbcfa67000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbbd09bf000)
libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007fbbcf98a000)
libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007fbbcf959000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007fbbcf952000)
libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007fbbcf943000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fbbcf936000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fbbcf90d000)
liblz4.so.1 => /usr/lib/x86_64-linux-gnu/liblz4.so.1 (0x00007fbbcf8ec000)
libgcrypt.so.20 => /usr/lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007fbbcf7ce000)
libunistring.so.2 => /usr/lib/x86_64-linux-gnu/libunistring.so.2 (0x00007fbbcf64c000)
libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007fbbcf476000)
libhogweed.so.5 => /usr/lib/x86_64-linux-gnu/libhogweed.so.5 (0x00007fbbcf43d000)
libnettle.so.7 => /usr/lib/x86_64-linux-gnu/libnettle.so.7 (0x00007fbbcf403000)
libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fbbcf37f000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fbbcf379000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fbbcf35d000)
libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007fbbcf33e000)
libgssapi.so.3 => /usr/lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007fbbcf2f9000)
libbrotlicommon.so.1 => /usr/lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007fbbcf2d6000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007fbbcf2cf000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007fbbcf2ac000)
libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007fbbcf176000)
libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007fbbcf15e000)
libheimntlm.so.0 => /usr/lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007fbbcf152000)
libkrb5.so.26 => /usr/lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007fbbcf0bf000)
libasn1.so.8 => /usr/lib/x86_64-linux-gnu/libasn1.so.8 (0x00007fbbcf018000)
libhcrypto.so.4 => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007fbbcefe0000)
libroken.so.18 => /usr/lib/x86_64-linux-gnu/libroken.so.18 (0x00007fbbcefc5000)
libffi.so.7 => /usr/lib/x86_64-linux-gnu/libffi.so.7 (0x00007fbbcefb9000)
libwind.so.0 => /usr/lib/x86_64-linux-gnu/libwind.so.0 (0x00007fbbcef8f000)
libheimbase.so.1 => /usr/lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007fbbcef7d000)
libhx509.so.5 => /usr/lib/x86_64-linux-gnu/libhx509.so.5 (0x00007fbbcef2f000)
libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007fbbcee04000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007fbbcedc9000)
ok that was a deadend, sorry about that...
honestly i know how to fix it (change the default parameter back to being a lambda) but i dont understand how some platforms dont know they dont have a callable object associated with the std::function. that seems like the implementation of the stl api is broken on some platforms?
@kevinkreiser
Can you please provide me the fix?
I just wanted to install valhalla and use its routing services in my node server.
here is my g++ version
g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
see this comment for how to work around this issue: https://github.com/kevinkreiser/prime_server/pull/97/files#r614292607
@kevinkreiser
I have updated the change mentioned by you.
Unfortunately, the same error appears.
Hi, I encountered the same problem with the following configuration :
Ubuntu 20.04 on a Windows 10 Hyper-V Virtual Machine
Note : the problem prevents me from using Valhalla, but I can also reproduce it with the prime_server demo (prime_serverd tcp://*:8002 &
+ curl ...
As a workaround, I git checkout
'd the 0.7.0
tag : both the prime_serverd
demo and Valhalla are now working.
see this comment for how to work around this issue: https://github.com/kevinkreiser/prime_server/pull/97/files#r614292607
With this i still have the error(src/prime_server.cpp:557 worker_t: bad_function_call) but it is working now :)
Thanks, @kevinkreiser for your support.
see this comment for how to work around this issue: https://github.com/kevinkreiser/prime_server/pull/97/files#r614292607
With this i still have the error(src/prime_server.cpp:557 worker_t: bad_function_call) but it is working now :)
Thanks, @kevinkreiser for your support.
Hi @chaitu2chowdary, I also encountered the same problem. after following all above workaround, I'm not getting [ERROR] src/prime_server.cpp:455 proxy_t: bad_function_call
when trying time prime_serverd 1000000 1
, but when I'm trying to curl
, Valhalla still gives me the error. Were you trying other workaround? What made it work on your end?
This is the ubuntu version I use:
Description: Ubuntu 20.04.2 LTS
Release: 20.04
Codename: focal
Thank you!
edit:
Note : the problem prevents me from using Valhalla, but I can also reproduce it with the prime_server demo (prime_serverd tcp://*:8002 & + curl ...
When I try this, it gives me no error. But if valhalla_service is running and I try to fetch something from Valhalla, the log print the error src/prime_server.cpp:455 proxy_t: bad_function_call
I'm not that used to Linux environment, I've sudo make install
several times both prime_server and valhalla. Is there an authentic way to redo the whole process from start other than running through the steps again (using different configuration each time)? I might want to try clean install of 0.7.0 tags of prime server and valhalla.
edit 2:
I fix it by manually remove valhalla_service by using sudo rm /usr/bin/valhalla_service /usr/local/bin/valhalla_service
and sudo make install
again from 0.7.0 tags. I know something doesn't sit right when 'sudo make install' output is "up-to-date" while something obviously has been changed. i know make
behavior doesn't detect if a library being used has new change or not, but i dont know how to clean install, haha.
anyway thanks for the thread, 0.7.0 tags (the revert to lambda function) fix this for me.
Hi @ahmadshiddiqn,
I have the same issue that you had (no problem with running time prime_serverd 1000000 1
but the bad_function_call
when trying to curl
). Since it seems that you managed to fix it, I tried to go through the same steps as you did, based on your comment. However, it appears that the 0.7.0 tag on prime_server is already the latest one (which would explain the up-to-date though it doesn't make much sense to me) and I can't seem to find a 0.7.0 tag for valhalla. Can you confirm that you managed to git checkout tags/0.7.0
for valhalla? I'm really struggling on this one.
Thanks