microsoft / microsoft/vscode-cpptools
LS continuously crashes (probably with coroutines)
Open
Nobody has claimed this yet.
bug
investigate: repro
Language Service
reliability
- Dominant language
- TypeScript
- Stars
- 6.2k
- Forks
- 1.7k
- Avg merge
- 14h 46m
- Merged PRs (30d)
- 61
Description
Bug type: Language Service
Describe the bug
- OS and Version: Windows 10 20H2
- VS Code Version: 1.62.3
- C/C++ Extension Version: v1.7.1
- Other extensions you installed (and if the issue persists after disabling them):
- If using SSH remote, specify OS of remote machine: Ubuntu 21.10
- By just opening a file I get a lot of core dumps in working directory
Code sample and logs
I'm not sure what exactly causes it, but I'm experimenting with coroutines and master ASIO (as seen from compile commands).
- Code sample
#include <boost/asio/awaitable.hpp>
#include <boost/asio/co_spawn.hpp>
#include <boost/asio/experimental/as_tuple.hpp>
#include <boost/asio/experimental/co_spawn.hpp>
#include <boost/asio/experimental/use_coro.hpp>
#include <boost/asio/use_awaitable.hpp>
#include <boost/asio/steady_timer.hpp>
#include <fmt/format.h>
using namespace boost::asio::experimental;
using namespace boost::asio;
boost::asio::experimental::coro<void() noexcept, int>
test_coro(boost::asio::io_context::executor_type exec)
{
steady_timer::rebind_executor<io_context::executor_type>::other timer{exec};
[[maybe_unused]] auto ec = co_await timer.async_wait(use_coro);
assert(ec == boost::system::error_code{});
co_return 42;
}
boost::asio::awaitable<int>
test_awaitable(boost::asio::io_context::executor_type exec)
{
// NOTE! awaitable throws an exception for ec.
steady_timer::rebind_executor<io_context::executor_type>::other timer{exec};
[[maybe_unused]] auto [ec] = co_await timer.async_wait(as_tuple(use_awaitable));
assert(ec == boost::system::error_code{});
co_return 42;
}
extern "C" void __attribute__((noinline)) run_coro(boost::asio::io_context::executor_type const & exec)
{
co_spawn(test_coro(exec), [](int rv)
{
fmt::print("Coro result: {}\n", rv);
return;
});
}
extern "C" void __attribute__((noinline)) run_awaitable(boost::asio::io_context::executor_type const & exec)
{
co_spawn(exec, test_awaitable(exec), [](std::exception_ptr, int rv)
{
fmt::print("Awaitable result: {}\n", rv);
return;
});
}
int main()
{
boost::asio::io_context ctx;
fmt::print("Calling run_coro...\n");
run_coro(ctx.get_executor());
fmt::print("Done run_coro...\n");
fmt::print("Calling run_awaitable...\n");
run_awaitable(ctx.get_executor());
fmt::print("Done run_awaitable...\n");
ctx.run();
fmt::print("ctx.run() done\n");
return 0;
}
- Configurations in
c_cpp_properties.json
{
"configurations": [
{
"name": "Linux",
"compileCommands": "${workspaceFolder}/build/debug/compile_commands.json",
"defines": [],
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "${default}"
}
],
"version": 4
}
compile_commands.json
{
"directory": "/home/default/dsf/build/debug",
"arguments": [
"/home/default/.conan/data/gcc/10.2.0/external/master_2/package/32d5022d97146f64b81807565fdb8de78126702a/bin/g++",
"-I/usr/include/x86_64-linux-gnu",
"-std=c++17",
"-gdwarf-3",
"-Wall",
"-march=corei7-avx",
"-mtune=core-avx-i",
"-mssse3",
"-msse4.1",
"-fPIC",
"-fvisibility=hidden",
"-fvisibility-inlines-hidden",
"-ftemplate-backtrace-limit=20",
"-Werror",
"-fdiagnostics-color=always",
"-std=c++20",
"-fcoroutines",
"-I../../../github/asio/include",
"-I../../../.conan/data/boost/1.76.0/external/master/package/54b52e508da381567341503753d6a974464aa37a/include",
"-I../../../.conan/data/fmt/6.0.0/external/master/package/1de1276dae3e984d6b2aee424a275cd086c952ad/include",
"-I../../src",
"-Isrc",
"-DPOSIX",
"-D_GNU_SOURCE",
"-D__STDC_LIMIT_MACROS",
"-D__STDC_FORMAT_MACROS",
"-DBOOST_SPIRIT_USE_PHOENIX_V3",
"-DDEBUG",
"-DHAVE_JNI_H=1",
"-DBOOST_ASIO_NO_DEPRECATED",
"-DBOOST_ASIO_NO_TS_EXECUTORS",
"-DBOOST_USE_STATIC_LIBS",
"../../src/test/coro/coro.cpp",
"-c",
"-o/home/default/dsf/build/debug/src/test/coro/coro.cpp.2.o"
],
"file": "../../src/test/coro/coro.cpp"
}
- Logs from running
C/C++: Log Diagnosticsfrom the VS Code command palette
-------- Diagnostics - 11/23/2021, 12:20:10 PM
Version: 1.7.1
Current Configuration:
{
"name": "Linux",
"compileCommands": "${workspaceFolder}/build/debug/compile_commands.json",
"defines": [],
"cStandard": "c11",
"cppStandard": "c++17",
"compilerPathIsExplicit": false,
"cStandardIsExplicit": true,
"cppStandardIsExplicit": true,
"intelliSenseModeIsExplicit": true,
"compilerArgs": [],
"mergeConfigurations": false,
"browse": {
"limitSymbolsToIncludedHeaders": true
}
}
No active translation units.
Browse Paths from compile_commands.json, from workspace folder: /home/default/dsf
/home/default/.conan/data/appmind/3.19.8.05/nasdaq/master_1/package/32d5022d97146f64b81807565fdb8de78126702a/include
/home/default/.conan/data/boost/1.76.0/external/master/package/54b52e508da381567341503753d6a974464aa37a/include
/home/default/.conan/data/c-ares/1.14.0/external/master_2/package/1de1276dae3e984d6b2aee424a275cd086c952ad/include
/home/default/.conan/data/cereal/1.2.2/external/master/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include
/home/default/.conan/data/cryptopp/8.2.0/external/master_6/package/1de1276dae3e984d6b2aee424a275cd086c952ad/include
/home/default/.conan/data/etcd-proto/3.4.2/external/master_6/package/36c78bb0f0b023733096f488d19c9047b9968d60/include
/home/default/.conan/data/flatbuffers/1.12.0/external/master/package/1de1276dae3e984d6b2aee424a275cd086c952ad/include
/home/default/.conan/data/fmt/6.0.0/external/master/package/1de1276dae3e984d6b2aee424a275cd086c952ad/include
/home/default/.conan/data/grpc/1.14.1/external/master_2/package/974d2b99f8fe2979838eb36c12cd7617348ec2a8/include
/home/default/.conan/data/gtest/1.10.0/external/master/package/d516f164ba1424028d4d32e771f0fd051695ddfa/include
/home/default/.conan/data/jdk_installer/1.8.0-201/external/master/package/69c07c65d933295fe6e09a980fd9cca9c98564fd/include
/home/default/.conan/data/jdk_installer/1.8.0-201/external/master/package/69c07c65d933295fe6e09a980fd9cca9c98564fd/include/linux
/home/default/.conan/data/oal/1.3.52/nasdaq/master/package/1de1276dae3e984d6b2aee424a275cd086c952ad/inc
/home/default/.conan/data/protobuf/3.6.1/external/master_2/package/1de1276dae3e984d6b2aee424a275cd086c952ad/include
/home/default/.conan/data/trompeloeil/41/external/master/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include
/home/default/.conan/data/yaml-cpp/0.6.3/external/master/package/1de1276dae3e984d6b2aee424a275cd086c952ad/include
/home/default/dsf/build/debug
/home/default/dsf/build/debug/src
/home/default/dsf/build/debug/src/api
/home/default/dsf/build/debug/src/bindings/jni
/home/default/dsf/src
/home/default/dsf/src/api
/home/default/github/asio/include
/usr/include/x86_64-linux-gnu
------- Workspace parsing diagnostics -------
Number of files discovered (not excluded): 20639
Number of files parsed: 4955
- Logs from the language server logging
sending compilation args for /home/default/dsf/src/test/coro/coro.cpp
include: /usr/include/x86_64-linux-gnu
include: /home/default/github/asio/include
include: /home/default/.conan/data/boost/1.76.0/external/master/package/54b52e508da381567341503753d6a974464aa37a/include
include: /home/default/.conan/data/fmt/6.0.0/external/master/package/1de1276dae3e984d6b2aee424a275cd086c952ad/include
include: /home/default/dsf/src
include: /home/default/dsf/build/debug/src
include: /home/default/.conan/data/gcc/10.2.0/external/master_2/package/32d5022d97146f64b81807565fdb8de78126702a/include/c++/10.2.0
include: /home/default/.conan/data/gcc/10.2.0/external/master_2/package/32d5022d97146f64b81807565fdb8de78126702a/include/c++/10.2.0/x86_64-linux-gnu
include: /home/default/.conan/data/gcc/10.2.0/external/master_2/package/32d5022d97146f64b81807565fdb8de78126702a/include/c++/10.2.0/backward
include: /home/default/.conan/data/gcc/10.2.0/external/master_2/package/32d5022d97146f64b81807565fdb8de78126702a/lib/gcc/x86_64-linux-gnu/10.2.0/include
include: /home/default/.conan/data/gcc/10.2.0/external/master_2/package/32d5022d97146f64b81807565fdb8de78126702a/lib/gcc/x86_64-linux-gnu/10.2.0/include-fixed
include: /usr/local/include
include: /home/default/.conan/data/gcc/10.2.0/external/master_2/package/32d5022d97146f64b81807565fdb8de78126702a/include
include: /usr/include
define: __STDC__=1
define: __cplusplus=201709L
define: __STDC_UTF_16__=1
define: __STDC_UTF_32__=1
define: __STDC_HOSTED__=1
define: __GNUC__=10
define: __GNUC_MINOR__=2
define: __GNUC_PATCHLEVEL__=0
define: __VERSION__="10.2.0"
define: __ATOMIC_RELAXED=0
define: __ATOMIC_SEQ_CST=5
define: __ATOMIC_ACQUIRE=2
define: __ATOMIC_RELEASE=3
define: __ATOMIC_ACQ_REL=4
define: __ATOMIC_CONSUME=1
define: __pic__=2
define: __PIC__=2
define: __FINITE_MATH_ONLY__=0
define: _LP64=1
define: __LP64__=1
define: __SIZEOF_INT__=4
define: __SIZEOF_LONG__=8
define: __SIZEOF_LONG_LONG__=8
define: __SIZEOF_SHORT__=2
define: __SIZEOF_FLOAT__=4
define: __SIZEOF_DOUBLE__=8
define: __SIZEOF_LONG_DOUBLE__=16
define: __SIZEOF_SIZE_T__=8
define: __CHAR_BIT__=8
define: __BIGGEST_ALIGNMENT__=32
define: __ORDER_LITTLE_ENDIAN__=1234
define: __ORDER_BIG_ENDIAN__=4321
define: __ORDER_PDP_ENDIAN__=3412
define: __BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__
define: __FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__
define: __SIZEOF_POINTER__=8
define: __GNUG__=10
define: __SIZE_TYPE__=long unsigned int
define: __PTRDIFF_TYPE__=long int
define: __WCHAR_TYPE__=int
define: __WINT_TYPE__=unsigned int
define: __INTMAX_TYPE__=long int
define: __UINTMAX_TYPE__=long unsigned int
define: __CHAR8_TYPE__=unsigned char
define: __CHAR16_TYPE__=short unsigned int
define: __CHAR32_TYPE__=unsigned int
define: __SIG_ATOMIC_TYPE__=int
define: __INT8_TYPE__=signed char
define: __INT16_TYPE__=short int
define: __INT32_TYPE__=int
define: __INT64_TYPE__=long int
define: __UINT8_TYPE__=unsigned char
define: __UINT16_TYPE__=short unsigned int
define: __UINT32_TYPE__=unsigned int
define: __UINT64_TYPE__=long unsigned int
define: __INT_LEAST8_TYPE__=signed char
define: __INT_LEAST16_TYPE__=short int
define: __INT_LEAST32_TYPE__=int
define: __INT_LEAST64_TYPE__=long int
define: __UINT_LEAST8_TYPE__=unsigned char
define: __UINT_LEAST16_TYPE__=short unsigned int
define: __UINT_LEAST32_TYPE__=unsigned int
define: __UINT_LEAST64_TYPE__=long unsigned int
define: __INT_FAST8_TYPE__=signed char
define: __INT_FAST16_TYPE__=long int
define: __INT_FAST32_TYPE__=long int
define: __INT_FAST64_TYPE__=long int
define: __UINT_FAST8_TYPE__=unsigned char
define: __UINT_FAST16_TYPE__=long unsigned int
define: __UINT_FAST32_TYPE__=long unsigned int
define: __UINT_FAST64_TYPE__=long unsigned int
define: __INTPTR_TYPE__=long int
define: __UINTPTR_TYPE__=long unsigned int
define: __GXX_WEAK__=1
define: __DEPRECATED=1
define: __GXX_RTTI=1
define: __GXX_EXPERIMENTAL_CXX0X__=1
define: __STDCPP_DEFAULT_NEW_ALIGNMENT__=16
define: __EXCEPTIONS=1
define: __GXX_ABI_VERSION=1014
define: __SCHAR_MAX__=0x7f
define: __SHRT_MAX__=0x7fff
define: __INT_MAX__=0x7fffffff
define: __LONG_MAX__=0x7fffffffffffffffL
define: __LONG_LONG_MAX__=0x7fffffffffffffffLL
define: __WCHAR_MAX__=0x7fffffff
define: __WCHAR_MIN__=(-__WCHAR_MAX__ - 1)
define: __WINT_MAX__=0xffffffffU
define: __WINT_MIN__=0U
define: __PTRDIFF_MAX__=0x7fffffffffffffffL
define: __SIZE_MAX__=0xffffffffffffffffUL
define: __SCHAR_WIDTH__=8
define: __SHRT_WIDTH__=16
define: __INT_WIDTH__=32
define: __LONG_WIDTH__=64
define: __LONG_LONG_WIDTH__=64
define: __WCHAR_WIDTH__=32
define: __WINT_WIDTH__=32
define: __PTRDIFF_WIDTH__=64
define: __SIZE_WIDTH__=64
define: __INTMAX_MAX__=0x7fffffffffffffffL
define: __INTMAX_C(c)=c ## L
define: __UINTMAX_MAX__=0xffffffffffffffffUL
define: __UINTMAX_C(c)=c ## UL
define: __INTMAX_WIDTH__=64
define: __SIG_ATOMIC_MAX__=0x7fffffff
define: __SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)
define: __SIG_ATOMIC_WIDTH__=32
define: __INT8_MAX__=0x7f
define: __INT16_MAX__=0x7fff
define: __INT32_MAX__=0x7fffffff
define: __INT64_MAX__=0x7fffffffffffffffL
define: __UINT8_MAX__=0xff
define: __UINT16_MAX__=0xffff
define: __UINT32_MAX__=0xffffffffU
define: __UINT64_MAX__=0xffffffffffffffffUL
define: __INT_LEAST8_MAX__=0x7f
define: __INT8_C(c)=c
define: __INT_LEAST8_WIDTH__=8
define: __INT_LEAST16_MAX__=0x7fff
define: __INT16_C(c)=c
define: __INT_LEAST16_WIDTH__=16
define: __INT_LEAST32_MAX__=0x7fffffff
define: __INT32_C(c)=c
define: __INT_LEAST32_WIDTH__=32
define: __INT_LEAST64_MAX__=0x7fffffffffffffffL
define: __INT64_C(c)=c ## L
define: __INT_LEAST64_WIDTH__=64
define: __UINT_LEAST8_MAX__=0xff
define: __UINT8_C(c)=c
define: __UINT_LEAST16_MAX__=0xffff
define: __UINT16_C(c)=c
define: __UINT_LEAST32_MAX__=0xffffffffU
define: __UINT32_C(c)=c ## U
define: __UINT_LEAST64_MAX__=0xffffffffffffffffUL
define: __UINT64_C(c)=c ## UL
define: __INT_FAST8_MAX__=0x7f
define: __INT_FAST8_WIDTH__=8
define: __INT_FAST16_MAX__=0x7fffffffffffffffL
define: __INT_FAST16_WIDTH__=64
define: __INT_FAST32_MAX__=0x7fffffffffffffffL
define: __INT_FAST32_WIDTH__=64
define: __INT_FAST64_MAX__=0x7fffffffffffffffL
define: __INT_FAST64_WIDTH__=64
define: __UINT_FAST8_MAX__=0xff
define: __UINT_FAST16_MAX__=0xffffffffffffffffUL
define: __UINT_FAST32_MAX__=0xffffffffffffffffUL
define: __UINT_FAST64_MAX__=0xffffffffffffffffUL
define: __INTPTR_MAX__=0x7fffffffffffffffL
define: __INTPTR_WIDTH__=64
define: __UINTPTR_MAX__=0xffffffffffffffffUL
define: __GCC_IEC_559=2
define: __GCC_IEC_559_COMPLEX=2
define: __FLT_EVAL_METHOD__=0
define: __FLT_EVAL_METHOD_TS_18661_3__=0
define: __DEC_EVAL_METHOD__=2
define: __FLT_RADIX__=2
define: __FLT_MANT_DIG__=24
define: __FLT_DIG__=6
define: __FLT_MIN_EXP__=(-125)
define: __FLT_MIN_10_EXP__=(-37)
define: __FLT_MAX_EXP__=128
define: __FLT_MAX_10_EXP__=38
define: __FLT_DECIMAL_DIG__=9
define: __FLT_MAX__=3.40282346638528859811704183484516925e+38F
define: __FLT_NORM_MAX__=3.40282346638528859811704183484516925e+38F
define: __FLT_MIN__=1.17549435082228750796873653722224568e-38F
define: __FLT_EPSILON__=1.19209289550781250000000000000000000e-7F
define: __FLT_DENORM_MIN__=1.40129846432481707092372958328991613e-45F
define: __FLT_HAS_DENORM__=1
define: __FLT_HAS_INFINITY__=1
define: __FLT_HAS_QUIET_NAN__=1
define: __DBL_MANT_DIG__=53
define: __DBL_DIG__=15
define: __DBL_MIN_EXP__=(-1021)
define: __DBL_MIN_10_EXP__=(-307)
define: __DBL_MAX_EXP__=1024
define: __DBL_MAX_10_EXP__=308
define: __DBL_DECIMAL_DIG__=17
define: __DBL_MAX__=double(1.79769313486231570814527423731704357e+308L)
define: __DBL_NORM_MAX__=double(1.79769313486231570814527423731704357e+308L)
define: __DBL_MIN__=double(2.22507385850720138309023271733240406e-308L)
define: __DBL_EPSILON__=double(2.22044604925031308084726333618164062e-16L)
define: __DBL_DENORM_MIN__=double(4.94065645841246544176568792868221372e-324L)
define: __DBL_HAS_DENORM__=1
define: __DBL_HAS_INFINITY__=1
define: __DBL_HAS_QUIET_NAN__=1
define: __LDBL_MANT_DIG__=64
define: __LDBL_DIG__=18
define: __LDBL_MIN_EXP__=(-16381)
define: __LDBL_MIN_10_EXP__=(-4931)
define: __LDBL_MAX_EXP__=16384
define: __LDBL_MAX_10_EXP__=4932
define: __DECIMAL_DIG__=21
define: __LDBL_DECIMAL_DIG__=21
define: __LDBL_MAX__=1.18973149535723176502126385303097021e+4932L
define: __LDBL_NORM_MAX__=1.18973149535723176502126385303097021e+4932L
define: __LDBL_MIN__=3.36210314311209350626267781732175260e-4932L
define: __LDBL_EPSILON__=1.08420217248550443400745280086994171e-19L
define: __LDBL_DENORM_MIN__=3.64519953188247460252840593361941982e-4951L
define: __LDBL_HAS_DENORM__=1
define: __LDBL_HAS_INFINITY__=1
define: __LDBL_HAS_QUIET_NAN__=1
define: __FLT32_MANT_DIG__=24
define: __FLT32_DIG__=6
define: __FLT32_MIN_EXP__=(-125)
define: __FLT32_MIN_10_EXP__=(-37)
define: __FLT32_MAX_EXP__=128
define: __FLT32_MAX_10_EXP__=38
define: __FLT32_DECIMAL_DIG__=9
define: __FLT32_MAX__=3.40282346638528859811704183484516925e+38F32
define: __FLT32_NORM_MAX__=3.40282346638528859811704183484516925e+38F32
define: __FLT32_MIN__=1.17549435082228750796873653722224568e-38F32
define: __FLT32_EPSILON__=1.19209289550781250000000000000000000e-7F32
define: __FLT32_DENORM_MIN__=1.40129846432481707092372958328991613e-45F32
define: __FLT32_HAS_DENORM__=1
define: __FLT32_HAS_INFINITY__=1
define: __FLT32_HAS_QUIET_NAN__=1
define: __FLT64_MANT_DIG__=53
define: __FLT64_DIG__=15
define: __FLT64_MIN_EXP__=(-1021)
define: __FLT64_MIN_10_EXP__=(-307)
define: __FLT64_MAX_EXP__=1024
define: __FLT64_MAX_10_EXP__=308
define: __FLT64_DECIMAL_DIG__=17
define: __FLT64_MAX__=1.79769313486231570814527423731704357e+308F64
define: __FLT64_NORM_MAX__=1.79769313486231570814527423731704357e+308F64
define: __FLT64_MIN__=2.22507385850720138309023271733240406e-308F64
define: __FLT64_EPSILON__=2.22044604925031308084726333618164062e-16F64
define: __FLT64_DENORM_MIN__=4.94065645841246544176568792868221372e-324F64
define: __FLT64_HAS_DENORM__=1
define: __FLT64_HAS_INFINITY__=1
define: __FLT64_HAS_QUIET_NAN__=1
define: __FLT128_MANT_DIG__=113
define: __FLT128_DIG__=33
define: __FLT128_MIN_EXP__=(-16381)
define: __FLT128_MIN_10_EXP__=(-4931)
define: __FLT128_MAX_EXP__=16384
define: __FLT128_MAX_10_EXP__=4932
define: __FLT128_DECIMAL_DIG__=36
define: __FLT128_MAX__=1.18973149535723176508575932662800702e+4932F128
define: __FLT128_NORM_MAX__=1.18973149535723176508575932662800702e+4932F128
define: __FLT128_MIN__=3.36210314311209350626267781732175260e-4932F128
define: __FLT128_EPSILON__=1.92592994438723585305597794258492732e-34F128
define: __FLT128_DENORM_MIN__=6.47517511943802511092443895822764655e-4966F128
define: __FLT128_HAS_DENORM__=1
define: __FLT128_HAS_INFINITY__=1
define: __FLT128_HAS_QUIET_NAN__=1
define: __FLT32X_MANT_DIG__=53
define: __FLT32X_DIG__=15
define: __FLT32X_MIN_EXP__=(-1021)
define: __FLT32X_MIN_10_EXP__=(-307)
define: __FLT32X_MAX_EXP__=1024
define: __FLT32X_MAX_10_EXP__=308
define: __FLT32X_DECIMAL_DIG__=17
define: __FLT32X_MAX__=1.79769313486231570814527423731704357e+308F32x
define: __FLT32X_NORM_MAX__=1.79769313486231570814527423731704357e+308F32x
define: __FLT32X_MIN__=2.22507385850720138309023271733240406e-308F32x
define: __FLT32X_EPSILON__=2.22044604925031308084726333618164062e-16F32x
define: __FLT32X_DENORM_MIN__=4.94065645841246544176568792868221372e-324F32x
define: __FLT32X_HAS_DENORM__=1
define: __FLT32X_HAS_INFINITY__=1
define: __FLT32X_HAS_QUIET_NAN__=1
define: __FLT64X_MANT_DIG__=64
define: __FLT64X_DIG__=18
define: __FLT64X_MIN_EXP__=(-16381)
define: __FLT64X_MIN_10_EXP__=(-4931)
define: __FLT64X_MAX_EXP__=16384
define: __FLT64X_MAX_10_EXP__=4932
define: __FLT64X_DECIMAL_DIG__=21
define: __FLT64X_MAX__=1.18973149535723176502126385303097021e+4932F64x
define: __FLT64X_NORM_MAX__=1.18973149535723176502126385303097021e+4932F64x
define: __FLT64X_MIN__=3.36210314311209350626267781732175260e-4932F64x
define: __FLT64X_EPSILON__=1.08420217248550443400745280086994171e-19F64x
define: __FLT64X_DENORM_MIN__=3.64519953188247460252840593361941982e-4951F64x
define: __FLT64X_HAS_DENORM__=1
define: __FLT64X_HAS_INFINITY__=1
define: __FLT64X_HAS_QUIET_NAN__=1
define: __DEC32_MANT_DIG__=7
define: __DEC32_MIN_EXP__=(-94)
define: __DEC32_MAX_EXP__=97
define: __DEC32_MIN__=1E-95DF
define: __DEC32_MAX__=9.999999E96DF
define: __DEC32_EPSILON__=1E-6DF
define: __DEC32_SUBNORMAL_MIN__=0.000001E-95DF
define: __DEC64_MANT_DIG__=16
define: __DEC64_MIN_EXP__=(-382)
define: __DEC64_MAX_EXP__=385
define: __DEC64_MIN__=1E-383DD
define: __DEC64_MAX__=9.999999999999999E384DD
define: __DEC64_EPSILON__=1E-15DD
define: __DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD
define: __DEC128_MANT_DIG__=34
define: __DEC128_MIN_EXP__=(-6142)
define: __DEC128_MAX_EXP__=6145
define: __DEC128_MIN__=1E-6143DL
define: __DEC128_MAX__=9.999999999999999999999999999999999E6144DL
define: __DEC128_EPSILON__=1E-33DL
define: __DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL
define: __REGISTER_PREFIX__=
define: __USER_LABEL_PREFIX__=
define: __GNUC_STDC_INLINE__=1
define: __NO_INLINE__=1
define: __STRICT_ANSI__=1
define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1
define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1
define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1
define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8=1
define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16=1
define: __GCC_ATOMIC_BOOL_LOCK_FREE=2
define: __GCC_ATOMIC_CHAR_LOCK_FREE=2
define: __GCC_ATOMIC_CHAR8_T_LOCK_FREE=2
define: __GCC_ATOMIC_CHAR16_T_LOCK_FREE=2
define: __GCC_ATOMIC_CHAR32_T_LOCK_FREE=2
define: __GCC_ATOMIC_WCHAR_T_LOCK_FREE=2
define: __GCC_ATOMIC_SHORT_LOCK_FREE=2
define: __GCC_ATOMIC_INT_LOCK_FREE=2
define: __GCC_ATOMIC_LONG_LOCK_FREE=2
define: __GCC_ATOMIC_LLONG_LOCK_FREE=2
define: __GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1
define: __GCC_ATOMIC_POINTER_LOCK_FREE=2
define: __HAVE_SPECULATION_SAFE_VALUE=1
define: __GCC_HAVE_DWARF2_CFI_ASM=1
define: __PRAGMA_REDEFINE_EXTNAME=1
define: __SIZEOF_INT128__=16
define: __SIZEOF_WCHAR_T__=4
define: __SIZEOF_WINT_T__=4
define: __SIZEOF_PTRDIFF_T__=8
define: __amd64=1
define: __amd64__=1
define: __x86_64=1
define: __x86_64__=1
define: __SIZEOF_FLOAT80__=16
define: __SIZEOF_FLOAT128__=16
define: __ATOMIC_HLE_ACQUIRE=65536
define: __ATOMIC_HLE_RELEASE=131072
define: __GCC_ASM_FLAG_OUTPUTS__=1
define: __corei7_avx=1
define: __corei7_avx__=1
define: __sandybridge=1
define: __sandybridge__=1
define: __tune_corei7_avx__=1
define: __tune_sandybridge__=1
define: __code_model_small__=1
define: __MMX__=1
define: __SSE__=1
define: __SSE2__=1
define: __SSE3__=1
define: __SSSE3__=1
define: __SSE4_1__=1
define: __SSE4_2__=1
define: __PCLMUL__=1
define: __AVX__=1
define: __POPCNT__=1
define: __FXSR__=1
define: __XSAVE__=1
define: __XSAVEOPT__=1
define: __SSE_MATH__=1
define: __SSE2_MATH__=1
define: __MMX_WITH_SSE__=1
define: __SEG_FS=1
define: __SEG_GS=1
define: __gnu_linux__=1
define: __linux=1
define: __linux__=1
define: __unix=1
define: __unix__=1
define: __ELF__=1
define: __DECIMAL_BID_FORMAT__=1
define: _GNU_SOURCE=1
define: _STDC_PREDEF_H=1
define: __STDC_IEC_559__=1
define: __STDC_IEC_559_COMPLEX__=1
define: __STDC_ISO_10646__=201706L
define: POSIX
define: _GNU_SOURCE
define: __STDC_LIMIT_MACROS
define: __STDC_FORMAT_MACROS
define: BOOST_SPIRIT_USE_PHOENIX_V3
define: DEBUG
define: HAVE_JNI_H=1
define: BOOST_ASIO_NO_DEPRECATED
define: BOOST_ASIO_NO_TS_EXECUTORS
define: BOOST_USE_STATIC_LIBS
other: --g++
other: --gnu_version=100200
stdver: c++20
intelliSenseMode: linux-gcc-x64
Queueing IntelliSense update for files in translation unit of: /home/default/dsf/src/test/coro/coro.cpp
cpptools/getCodeActions: file:///home/default/dsf/src/test/coro/coro.cpp (id: 340)
cpptools/finishUpdateSquiggles
Update IntelliSense time (sec): 3.769
cpptools/fileCreated: file:///home/default/dsf/core.484451
Additional context
Core was generated by `/home/default/.vscode-server/extensions/ms-vscode.cpptools-1.7.1/bin/cpptools-s'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x000000000075b069 in process_auto_parameter(a_decl_parse_state*, a_symbol*) ()
[Current thread is 1 (Thread 0x7ffb7affd640 (LWP 483289))]
(gdb) bt
#0 0x000000000075b069 in process_auto_parameter(a_decl_parse_state*, a_symbol*) ()
#1 0x0000000000757b22 in decl_specifiers(unsigned long, a_decl_parse_state*, a_decl_pos_block*) ()
#2 0x000000000070c7e8 in function_declarator(a_decl_parse_state*, unsigned long, a_type**, a_func_info_block*, a_symbol_locator*, a_type*, int, int, int, int, int, int, int, a_decl_pos_block*) ()
#3 0x0000000000715875 in r_declarator(unsigned long, unsigned long*, a_decl_parse_state*, a_type*, a_type*, a_symbol_locator*, a_type**, a_type**, int*, int*, int*, int*, a_call_conv_descr*, a_call_conv_descr*, unsigned int*, unsigned int*, an_attribute**, a_source_sequence_entry**, a_func_info_block*, a_decl_pos_block*) ()
#4 0x000000000070fed0 in declarator(unsigned long, a_decl_parse_state*, a_type*, a_symbol_locator*, a_func_info_block*, a_decl_pos_block*) ()
#5 0x00000000006a5e7a in class_member_declaration(a_class_def_state*, a_tmpl_decl_state*, an_ms_attribute*, int, a_template_param*, int*, a_type**, a_template_instance*, a_template*, a_decl_pos_block*) ()
#6 0x00000000006ac0a2 in class_member_template_declaration(a_tmpl_decl_state*) ()
#7 0x000000000096aa00 in template_declaration(a_tmpl_decl_state*) ()
#8 0x0000000000965f31 in template_or_specialization_declaration_full(a_tmpl_decl_state*, int, a_decl_parse_state*) ()
#9 0x000000000096c10a in template_or_specialization_declaration(a_token_kind*, int, a_source_position*, int, a_decl_parse_state*) ()
#10 0x000000000096be68 in reparse_abbr_func_template(a_decl_parse_state*, a_token_kind*) ()
#11 0x00000000006a7f5e in class_member_declaration(a_class_def_state*, a_tmpl_decl_state*, an_ms_attribute*, int, a_template_param*, int*, a_type**, a_template_instance*, a_template*, a_decl_pos_block*) ()
#12 0x00000000006adcdc in scan_class_definition(a_type*, a_decl_parse_state*, int, int, int, int, int, int, a_template*, a_decl_pos_block*) ()
#13 0x000000000094e4e3 in f_instantiate_template_class_full(a_type*, unsigned int*, unsigned int*, int*) ()
#14 0x00000000007b1169 in cast_type_pre_check(a_type**, a_source_position*, int, int, int) ()
#15 0x0000000000793530 in scan_functional_notation_type_conversion(a_rescan_control_block*, a_dynamic_init*, int, an_init_component*, a_type*, a_source_position*, an_operand*, int) ()
#16 0x00000000007858f4 in scan_identifier(an_operand*, int, int, a_rescan_control_block*, a_symbol*, an_operand*, int, a_template_arg*, a_symbol**, int*) ()
#17 0x0000000000772f0b in scan_expr_full(an_operand*, an_operand*, int, int) ()
#18 0x000000000076c5ba in scan_expr_list(a_token_kind, int, int, int, int, int, int) ()
#19 0x000000000076d13e in scan_call_arguments(a_type*, a_routine*, int, an_expr_node**, int, int, int, int, a_rescan_control_block*, int, an_init_component*, an_init_component**, an_operand*, int*, a_source_position*) ()
#20 0x000000000079e909 in scan_function_call(an_operand*, an_operand*, a_rescan_control_block*, an_operand*) ()
#21 0x00000000007b01b4 in scan_any_call(an_operand*, an_operand*, an_operand*) ()
#22 0x0000000000777590 in scan_expr_full(an_operand*, an_operand*, int, int) ()
#23 0x00000000007884fd in scan_return_expression(a_type*, an_error_code, a_dynamic_init**, an_init_component**) ()
#24 0x0000000000925688 in statement(int, int) ()
#25 0x0000000000921708 in compound_statement_full(int, int, int, int, int, a_type**) ()
#26 0x00000000007fd3e6 in scan_function_body(a_routine*, a_func_info_block*, unsigned long, a_macro_arg_fixup**, a_macro_arg_fixup**) ()
#27 0x0000000000970dd2 in instantiate_template_function_full(a_template_instance*, a_routine*, int)
()
#28 0x000000000096dff9 in instantiate_entity(a_template_instance*) ()
#29 0x000000000095d06c in finalize_deduced_return_type(a_routine*, a_source_position*) ()
#30 0x000000000081f6e1 in function_lvalue_expr(a_routine*) ()
#31 0x00000000007d933d in make_function_designator_operand(a_symbol*, int, int, a_source_position*, a_source_position*, a_ref_entry*, an_operand*) ()
#32 0x00000000008e5091 in overloaded_function_catch_up_full(a_symbol*, a_symbol*, an_operand*, a_source_position*, a_source_position*, int, int, int, int, int, an_operand*, int*) ()
#33 0x00000000008e90e4 in make_resolved_overloaded_function_operand(a_symbol*, a_symbol*, an_operand*, a_source_position*, a_source_position*, int, int*, an_operand*, int, int, an_operand*) ()
#34 0x00000000008e8d9a in select_and_prepare_to_call_overloaded_function(a_symbol*, int, a_template_arg*, int, an_operand*, an_init_component*, int, int, int, int, int, int, an_overload_context, an_operand*, a_source_position*, unsigned int, a_source_position*, int*, an_operand*, an_expr_node**, int*, int) ()
#35 0x000000000079ec0a in scan_function_call(an_operand*, an_operand*, a_rescan_control_block*, an_operand*) ()
#36 0x00000000007b01b4 in scan_any_call(an_operand*, an_operand*, an_operand*) ()
#37 0x0000000000777590 in scan_expr_full(an_operand*, an_operand*, int, int) ()
#38 0x0000000000780885 in scan_void_expression(int, int, int, a_dynamic_init**, an_init_component*)
()
#39 0x000000000092858c in expression_statement(int) ()
#40 0x000000000092540a in statement(int, int) ()
#41 0x0000000000921708 in compound_statement_full(int, int, int, int, int, a_type**) ()
#42 0x00000000007fd3e6 in scan_function_body(a_routine*, a_func_info_block*, unsigned long, a_macro_arg_fixup**, a_macro_arg_fixup**) ()
#43 0x0000000000800489 in function_definition(a_symbol_locator*, a_decl_parse_state*, a_func_info_block*, a_decl_pos_block*) ()
#44 0x0000000000732b17 in scan_nonmember_declaration(a_decl_parse_state*, a_source_range*) ()
#45 0x0000000000735244 in declaration(int, int, int, int, a_param_id*, a_source_range*) ()
#46 0x00000000007364b7 in linkage_specification(a_decl_parse_state*) ()
#47 0x000000000072e9c1 in scan_nonmember_declaration(a_decl_parse_state*, a_source_range*) ()
#48 0x0000000000735244 in declaration(int, int, int, int, a_param_id*, a_source_range*) ()
#49 0x000000000061cae9 in compile_fragment((anonymous namespace)::a_fragment_buffer const&, a_canonicalized_file_name, msvc::strong_typedef_t<msvc::offset_traits>, msvc::strong_typedef_t<msvc::offset_traits>, msvc::strong_typedef_t<msvc::offset_traits>, bool, a_declaration_context const&, a_region_scope_info const&, 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> > > > const&, bool, bool, bool, bool*) ()
#50 0x0000000000619fb7 in before_tu_wrapup() ()
#51 0x000000000098fc49 in process_translation_unit(char const*, int, an_exported_template_file*) ()
#52 0x000000000068bea7 in cfe_main(int, char**) ()
#53 0x00000000009b3e26 in cfe_main_exception_handler(int, char**) ()
#54 0x000000000068bfb6 in edg_main(int, char**) ()
#55 0x00000000009ad23c in edge_compiler_main(int, char const**) ()
#56 0x000000000061a696 in preparse(int, char const**, a_scout_store*, edge::translation_unit*) ()
#57 0x00000000005e42ef in a_compiler_thread::compiler_thread_routine(a_compiler_thread*) ()
#58 0x0000000000b3bdd0 in execute_native_thread_routine ()
#59 0x00007ffba4c0b927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#60 0x00007ffba4c9b9e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
0x000000000075b065 <+277>: xor %edx,%edx
0x000000000075b067 <+279>: xor %ebp,%ebp
=> 0x000000000075b069 <+281>: testb $0x10,0x38(%rdx)
0x000000000075b06d <+285>: je 0x75af5c <_ZL22process_auto_parameterP18a_decl_parse_stateP8a_symbol+12>
0x000000000075b073 <+291>: jmp 0x75b16c <_ZL22process_auto_parameterP18a_decl_parse_stateP8a_symbol+540>
(gdb) info registers
rax 0xf 15
rbx 0x7f58027f3d10 140015975742736
rcx 0x7f583c054010 140016940826640
rdx 0x0 0
rsi 0x203e30 2113072
rdi 0x7fb029f9d2d8 140394595209944
rbp 0x0 0x0
rsp 0x7f58027f3380 0x7f58027f3380
r8 0x0 0
r9 0x0 0
r10 0x2a40 10816
r11 0x3400 13312
r12 0x0 0
r13 0x840080b 138414091
r14 0x7f58027f3680 140015975741056
r15 0x7f58027f3680 140015975741056
rip 0x75b069 0x75b069 <process_auto_parameter(a_decl_parse_state*, a_symbol*)+281>
eflags 0x10246 [ PF ZF IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with src/test/coro/coro.cpp and its compile_commands.json entry, then review the C/C++: Log Diagnostics and language-server logging output while opening the file. Done means opening the coroutine source no longer continuously produces core dumps in the working directory.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100