Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cpptools crash - The language server crashed. Restarting... #11401

Closed
ronen-fr opened this issue Sep 4, 2023 · 5 comments
Closed

cpptools crash - The language server crashed. Restarting... #11401

ronen-fr opened this issue Sep 4, 2023 · 5 comments
Assignees
Labels
bug Feature: Auto-complete fixed Check the Milestone for the release in which the fix is or will be available. Language Service
Milestone

Comments

@ronen-fr
Copy link

ronen-fr commented Sep 4, 2023

Environment

  • OS and Version: Fedora 38

  • VS Code Version:

Version: 1.81.1
Commit: 6c3e3dba23e8fadc360aed75ce363ba185c49794
Date: 2023-08-09T22:18:39.991Z
Electron: 22.3.18
ElectronBuildId: 22689846
Chromium: 108.0.5359.215
Node.js: 16.17.1
V8: 10.8.168.25-electron.0
OS: Linux x64 6.4.12-200.fc38.x86_64

  • C/C++ Extension Version:
    v1.17.5

  • If using SSH remote, specify OS of remote machine:
    Fedora 37

Bug Summary and Steps to Reproduce

Bug Summary:

Crashed during me fixing a spelling error (I think).

Steps to reproduce:

Do not know

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior:

Configuration and Logs

log diag:
https://gist.github.com/ronen-fr/eabd0a5518c8c06b13d741d02c27e152

the logging wasn't On at time of crash.

Other Extensions

No response

Additional context

(gdb) thread apply all bt

Thread 42 (LWP 2074641):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 41 (LWP 2074642):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 40 (LWP 2074638):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 39 (LWP 2074643):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 38 (LWP 2074640):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 37 (LWP 2074639):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 36 (LWP 2074645):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 35 (LWP 2074647):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 34 (LWP 2074649):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f21789f9e54 in epoll_pwait ()
#2 0x0000000000000008 in ?? ()
#3 0x0000000000000000 in ?? ()

Thread 33 (LWP 2932810):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 32 (LWP 2075846):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 31 (LWP 2074644):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 30 (LWP 2074637):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

--Type for more, q to quit, c to continue without paging--
Thread 29 (LWP 2074633):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 28 (LWP 2074648):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 27 (LWP 2074632):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 26 (LWP 2074626):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 25 (LWP 2074631):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 24 (LWP 2074635):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 23 (LWP 2074634):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 22 (LWP 2075845):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 21 (LWP 2074628):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 20 (LWP 2075843):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 19 (LWP 2075844):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 18 (LWP 2074650):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 17 (LWP 2074636):
#0 0x00007f21789fdb16 in madvise ()
#1 0x00007f21767c3b64 in ?? ()
#2 0x00007f21789fbd49 in __libc_free ()
#3 0x00000001000003ff in ?? ()
#4 0x0000000000000cd0 in ?? ()
#5 0x0000000000006000 in ?? ()
--Type for more, q to quit, c to continue without paging--
#6 0x00007f21767c2950 in ?? ()
#7 0x00007f216dc14590 in ?? ()
#8 0x00007f216dc14590 in ?? ()
#9 0x00007f21767c2a90 in ?? ()
#10 0x00007f216dc11590 in ?? ()
#11 0x00007f2171936ec0 in ?? ()
#12 0x00007f2177dca72e in void std::vector<CStoreFile, std::allocator >::_M_realloc_insert(__gnu_cxx::__normal_iterator<CStoreFile*, std::vector<CStoreFile, std::allocator > >, CStoreFile&&) ()
#13 0x00007f2177dab1f3 in browse_engine::query_include_files(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::vector<CStoreFile, std::allocator >&) ()
#14 0x00007f2177dab420 in browse_engine::query_include_path_suggestions_impl(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::set<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::less<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > >&, bool, std::map<code_store::record_id_t<code_store::file_tag_t>, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::less<code_store::record_id_t<code_store::file_tag_t> >, std::allocator<std::pair<code_store::record_id_t<code_store::file_tag_t> const, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > >) ()
#15 0x00007f2177dac301 in browse_engine::query_include_path_suggestions(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::map<code_store::record_id_t<code_store::file_tag_t>, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::less<code_store::record_id_t<code_store::file_tag_t> >, std::allocator<std::pair<code_store::record_id_t<code_store::file_tag_t> const, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > >&) ()
#16 0x00007f2177dbc37a in browse_engine::parse_file(std::shared_ptr<workspace_folder_context> const&, char const
, code_store::record_id_t<code_store::file_tag_t> const&, std::unordered_set<code_store::record_id_t<code_store::file_tag_t>, std::hash<code_store::record_id_t<code_store::file_tag_t> >, std::equal_to<code_store::record_id_t<code_store::file_tag_t> >, std::allocator<code_store::record_id_t<code_store::file_tag_t> > >&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::set<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::less<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, parser&, std::function<void (bool)>&&, std::shared_ptr<browse_include_paths> const&, bool) ()
#17 0x00007f2177dbf7fd in browse_engine::parse_file(std::shared_ptr<workspace_folder_context> const&, char const*, bool, std::function<void (bool)>&&, std::shared_ptr<browse_include_paths> const&, bool) ()
#18 0x00007f2177e87d4a in cpptools_context::handle_parse_file(cpptools_context::file_and_task_token&&) ()
#19 0x00007f2177ee40cd in std::_Function_handler<void (), thread_pool::enqueue<deque_thread<cpptools_context::file_and_task_token, false, 1ul>::defer(cpptools_context::file_and_task_token&&, thread_safe<deque_thread<cpptools_context::file_and_task_token, false, 1ul>::state, std::mutex>::safe_object<deque_thread<cpptools_context::file_and_task_token, false, 1ul>::state> const&)::{lambda()#1}, void>(deque_thread<cpptools_context::file_and_task_token, false, 1ul>::defer(cpptools_context::file_and_task_token&&, thread_safe<deque_thread<cpptools_context::file_and_task_token, false, 1ul>::state, std::mutex>::safe_object<deque_thread<cpptools_context::file_and_task_token, false, 1ul>::state> const&)::{lambda()#1}&&, std::future)::{lambda()#1}>::_M_invoke(std::_Any_data const&) ()
#20 0x00007f2178017ade in thread_pool::do_work(unsigned long) ()
#21 0x00007f21789dbfdf in msvc::thread_helper_t::thread_entry(void
) ()
#22 0x00007f2178a05846 in start ()
#23 0x00007f21767c3b30 in ?? ()
#24 0x0000000000000000 in ?? ()

Thread 16 (LWP 2074629):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 15 (LWP 2074646):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 14 (LWP 2074618):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 13 (LWP 2074617):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 12 (LWP 2074622):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 11 (LWP 2074621):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 10 (LWP 2074623):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 9 (LWP 2074620):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 8 (LWP 2074625):
--Type for more, q to quit, c to continue without paging--
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 7 (LWP 2074615):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f21789f9e54 in epoll_pwait ()
#2 0x0000000000000008 in ?? ()
#3 0x00007f2179040950 in ?? ()
#4 0x0000000000000006 in ?? ()
#5 0xffffffffffffffff in ?? ()
#6 0x0000000000000000 in ?? ()

Thread 6 (LWP 2074627):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 5 (LWP 2074624):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 4 (LWP 2074619):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 3 (LWP 2074616):
#0 0x00007f2178a04855 in sccp ()
#1 0x00007f2178a0be20 in __timedwait_cp ()
#2 0x0000000000000000 in ?? ()

Thread 2 (LWP 2074614):
#0 0x00007f21789ffb09 in __stdio_read ()
#1 0x00007ffe3114af9f in ?? ()
#2 0x0000000000000000 in ?? ()

Thread 1 (LWP 2074630):
#0 0x00007f217500356b in ?? ()
#1 0x00007f2177f2d05d in std::_Function_handler<void (), thread_pool::enqueue<lsp_manager::queue_task(std::function<void ()>&&, int, bool)::{lambda()#1}, void>(lsp_manager::queue_task(std::function<void ()>&&, int, bool)::{lambda()#1}&&, std::future)::{lambda()#1}>::_M_invoke(std::_Any_data const&) ()
#2 0x00007f2178017ade in thread_pool::do_work(unsigned long) ()
#3 0x00007f21789dbfdf in msvc::thread_helper_t::thread_entry(void
) ()
#4 0x00007f2178a05846 in start ()
#5 0x00007f2176dd5b30 in ?? ()
#6 0x0000000000000000 in ?? ()
(gdb)

@FangLin2001
Copy link

Same problem after using 1.17.5

@bobbrow bobbrow added this to the On Deck milestone Sep 5, 2023
@Colengms Colengms self-assigned this Sep 5, 2023
@Colengms Colengms added the fixed Check the Milestone for the release in which the fix is or will be available. label Sep 5, 2023
@Colengms Colengms modified the milestones: On Deck, 1.18 Sep 5, 2023
@Colengms
Copy link
Collaborator

Colengms commented Sep 7, 2023

Hi @ronen-fr . Can you confirm which of those threads the crash occurred on? My assumption is Thread 1, as we recently fixed a crash associated with that stack. However, if the crash was on Thread 17 (within standard lib code for std::vector), then this issue is not yet fully understood.

@FangLin2001
Copy link

@Colengms This problem occurs frequently as my project is huge.
gdb output:

GNU gdb (GDB) 8.2.1
This GDB was configured as "x86_64-pc-linux-gnu".
Reading symbols from .vscode-server/extensions/ms-vscode.cpptools-1.17.5/bin/cpptools...done.
Core was generated by `/data/fanglin/.vscode-server/extensions/ms-vscode.cpptools-1.17.5/bin/cpptools'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fdcbffc0a9a in std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long) ()
[Current thread is 1 (LWP 21378)]
(gdb) info threads
  Id   Target Id         Frame 
* 1    LWP 21378         0x00007fdcbffc0a9a in std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long) ()
  2    LWP 21138         0x00007fdcc0b94855 in sccp ()
  3    LWP 21135         0x00007fdcc0b94855 in sccp ()
  4    LWP 21326         0x00007fdcc0b94855 in sccp ()
  5    LWP 21150         0x00007fdcc0b94855 in sccp ()
  6    LWP 21156         0x00007fdcc0b94855 in sccp ()
  7    LWP 21134         0x00007fdcc0b94855 in sccp ()
  8    LWP 21152         0x00007fdcc0b94855 in sccp ()
  9    LWP 21148         0x00007fdcc0b94855 in sccp ()
  10   LWP 21154         0x00007fdcc0b94855 in sccp ()
  11   LWP 21195         0x00007fdcc0b94855 in sccp ()
  12   LWP 21151         0x00007fdcc0b94855 in sccp ()
  13   LWP 21133         0x00007fdcc0b94855 in sccp ()
  14   LWP 21140         0x00007fdcc0b94855 in sccp ()
  15   LWP 21159         0x00007fdcc0b94855 in sccp ()
  16   LWP 21142         0x00007fdcc0b94855 in sccp ()
  17   LWP 21132         0x00007fdcc0b94855 in sccp ()
  18   LWP 21141         0x00007fdcc0b94855 in sccp ()
  19   LWP 21144         0x00007fdcc0b94855 in sccp ()
  20   LWP 21131         0x00007fdcc0b94855 in sccp ()
  21   LWP 21136         0x00007fdcc0b94855 in sccp ()
  22   LWP 21158         0x00007fdcc0b94855 in sccp ()
  23   LWP 21153         0x00007fdcc0b94855 in sccp ()
  24   LWP 21129         0x00007fdcc0b94855 in sccp ()
  25   LWP 21161         0x00007fdcc0b94855 in sccp ()
  26   LWP 21418         0x00007fdcc0b8db99 in mmap64 ()
  27   LWP 21157         0x00007fdcc0b94855 in sccp ()
  28   LWP 21160         0x00007fdcc0b94855 in sccp ()
  29   LWP 21137         0x00007fdcc0b94855 in sccp ()
  30   LWP 21143         0x00007fdcc0b94855 in sccp ()
  31   LWP 21155         0x00007fdcc0b94855 in sccp ()
  32   LWP 21162         0x00007fdcc0b94855 in sccp ()
  33   LWP 21164         0x00007fdcc0b94855 in sccp ()
  34   LWP 21146         0x00007fdcc0b94855 in sccp ()
  35   LWP 21368         0x00007fdcc0b94855 in sccp ()
  36   LWP 21149         0x00007fdcc0b94855 in sccp ()
  37   LWP 21370         0x00007fdcc0b94855 in sccp ()
  38   LWP 21147         0x00007fdcc0b94855 in sccp ()
--Type <RET> for more, q to quit, c to continue without paging--
  39   LWP 21145         0x00007fdcc0b94855 in sccp ()
  40   LWP 21163         0x00007fdcc0b94855 in sccp ()
  41   LWP 21369         0x00007fdcc0b94855 in sccp ()
  42   LWP 21130         0x00007fdcc0b94855 in sccp ()
  43   LWP 21139         0x00007fdcc0b94855 in sccp ()
  44   LWP 21371         0x00007fdcc0b94855 in sccp ()
  45   LWP 21128         0x00007fdcc0b8fb09 in __stdio_read ()
(gdb) bt
#0  0x00007fdcbffc0a9a in std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long) ()
#1  0x00007fdcbffc1109 in std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_M_rep_once_more(std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long) ()
#2  0x00007fdcbffc0ed6 in std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long) ()
#3  0x00007fdcbffc0e51 in std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long) ()
#4  0x00007fdcbffc0bb1 in std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long) ()
#5  0x00007fdcbffc0eb8 in std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long) ()
#6  0x00007fdcbffc1109 in std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_M_rep_once_more(std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long) ()
#7  0x00007fdcbffc0eb8 in std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long) ()
#8  0x00007fdcbffc1109 in std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_M_rep_once_more(std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long) ()
#9  0x00007fdcbffc0eb8 in std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long) ()
--Type <RET> for more, q to quit, c to continue without paging--

It seems that I can backtrace endless call stack. Maybe that's why cpptools crashes.

@Colengms
Copy link
Collaborator

Colengms commented Sep 8, 2023

Hi @FangLin2001 . I'd recommend opening a new issue for your repro. There are many possible causes of crashes, and your repro may not match the one this issue was opened for. In your case, the crash appear to be related a complex(?) regular expression. There are only a few places the C/C++ Extension uses regular expressions internally. The issue is likely related to a specific value in a files.excludes setting, a code comment being parsed for display on hover, or an issue parsing the output of a compiler while trying to query it. If you could open a new issue for this and provide the output of the C/C++ output channel leading up to the issue, with "C_Cpp.loggingLevel": "Debug" enabled, that may provide us enough information to investigate further and address it.

@sean-mcmanus sean-mcmanus modified the milestones: 1.18, 1.18.0 Oct 12, 2023
@sean-mcmanus
Copy link
Collaborator

@github-actions github-actions bot locked and limited conversation to collaborators Jan 1, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Feature: Auto-complete fixed Check the Milestone for the release in which the fix is or will be available. Language Service
Projects
None yet
Development

No branches or pull requests

5 participants