codelite
codelite copied to clipboard
high cpu load
100% cpu load and hanged ui during/after compilation
(gdb) where
#0 0x00000008047f6a3b in () at /usr/local/lib/libpcre2-8.so.0
#1 0x00000008047e8d1f in pcre2_match_8 () at /usr/local/lib/libpcre2-8.so.0
#2 0x0000000801614c1e in () at /usr/local/lib/libwx_baseu-3.1.so.6
#3 0x0000000801615cf7 in wxRegEx::Matches(wxString const&, int) const ()
at /usr/local/lib/libwx_baseu-3.1.so.6
#4 0x0000000802c1b7e2 in Compiler::IsMatchesPattern(Compiler::CmpInfoPattern&, Compiler::eSeverity, wxString const&, Compiler::PatternMatch*) const () at /usr/local/lib/codelite/libplugin.so
#5 0x0000000802c1ba14 in Compiler::Matches(wxString const&, Compiler::PatternMatch*) ()
at /usr/local/lib/codelite/libplugin.so
#6 0x0000000000433904 in ()
#7 0x0000000000431eb9 in ()
#8 0x00000008016acbb2 in wxEvtHandler::SearchDynamicEventTable(wxEvent&) ()
at /usr/local/lib/libwx_baseu-3.1.so.6
#9 0x00000008016ac8c1 in wxEvtHandler::ProcessEventLocally(wxEvent&) ()
at /usr/local/lib/libwx_baseu-3.1.so.6
#10 0x00000008016ac756 in wxEvtHandler::ProcessEvent(wxEvent&) () at /usr/local/lib/libwx_baseu-3.1.so.6
#11 0x00000008016ac3a8 in wxEvtHandler::ProcessPendingEvents() () at /usr/local/lib/libwx_baseu-3.1.so.6
#12 0x0000000801586c9f in wxAppConsoleBase::ProcessPendingEvents() ()
at /usr/local/lib/libwx_baseu-3.1.so.6
#13 0x0000000801bf9163 in wxApp::DoIdle() () at /usr/local/lib/libwx_gtk3u_core-3.1.so.6
#14 0x0000000801bfa313 in () at /usr/local/lib/libwx_gtk3u_core-3.1.so.6
#15 0x0000000800999e40 in g_main_context_dispatch () at /usr/local/lib/libglib-2.0.so.0
#16 0x000000080099a1aa in () at /usr/local/lib/libglib-2.0.so.0
#17 0x000000080099a4fa in g_main_loop_run () at /usr/local/lib/libglib-2.0.so.0
#18 0x0000000801039c1b in gtk_main () at /usr/local/lib/libgtk-3.so.0
#19 0x0000000801c0ec35 in wxGUIEventLoop::DoRun() () at /usr/local/lib/libwx_gtk3u_core-3.1.so.6
#20 0x00000008015c4db2 in wxEventLoopBase::Run() () at /usr/local/lib/libwx_baseu-3.1.so.6
#21 0x00000008015862cc in wxAppConsoleBase::MainLoop() () at /usr/local/lib/libwx_baseu-3.1.so.6
#22 0x00000008015fb259 in wxEntry(int&, wchar_t**) () at /usr/local/lib/libwx_baseu-3.1.so.6
#23 0x0000000000474d00 in ()
#24 0x0000000000423b55 in ()
#25 0x00000008007cd000 in ()
#26 0x0000000000000000 in ()
(gdb) where
#0 0x000000080379e7eb in memcpy () at /lib/libc.so.7
#1 0x00000008047f9415 in () at /usr/local/lib/libpcre2-8.so.0
#2 0x00000008047e8d1f in pcre2_match_8 () at /usr/local/lib/libpcre2-8.so.0
#3 0x0000000801614c1e in () at /usr/local/lib/libwx_baseu-3.1.so.6
#4 0x0000000801615cf7 in wxRegEx::Matches(wxString const&, int) const ()
at /usr/local/lib/libwx_baseu-3.1.so.6
#5 0x0000000802c1b7e2 in Compiler::IsMatchesPattern(Compiler::CmpInfoPattern&, Compiler::eSeverity, wxString const&, Compiler::PatternMatch*) const () at /usr/local/lib/codelite/libplugin.so
#6 0x0000000802c1ba14 in Compiler::Matches(wxString const&, Compiler::PatternMatch*) ()
at /usr/local/lib/codelite/libplugin.so
#7 0x0000000000433904 in ()
#8 0x0000000000431eb9 in ()
#9 0x00000008016acbb2 in wxEvtHandler::SearchDynamicEventTable(wxEvent&) ()
at /usr/local/lib/libwx_baseu-3.1.so.6
#10 0x00000008016ac8c1 in wxEvtHandler::ProcessEventLocally(wxEvent&) ()
at /usr/local/lib/libwx_baseu-3.1.so.6
#11 0x00000008016ac756 in wxEvtHandler::ProcessEvent(wxEvent&) () at /usr/local/lib/libwx_baseu-3.1.so.6
#12 0x00000008016ac3a8 in wxEvtHandler::ProcessPendingEvents() () at /usr/local/lib/libwx_baseu-3.1.so.6
#13 0x0000000801586c9f in wxAppConsoleBase::ProcessPendingEvents() ()
at /usr/local/lib/libwx_baseu-3.1.so.6
#14 0x0000000801bf9163 in wxApp::DoIdle() () at /usr/local/lib/libwx_gtk3u_core-3.1.so.6
#15 0x0000000801bfa313 in () at /usr/local/lib/libwx_gtk3u_core-3.1.so.6
#16 0x0000000800999e40 in g_main_context_dispatch () at /usr/local/lib/libglib-2.0.so.0
#17 0x000000080099a1aa in () at /usr/local/lib/libglib-2.0.so.0
#18 0x000000080099a4fa in g_main_loop_run () at /usr/local/lib/libglib-2.0.so.0
#19 0x0000000801039c1b in gtk_main () at /usr/local/lib/libgtk-3.so.0
#20 0x0000000801c0ec35 in wxGUIEventLoop::DoRun() () at /usr/local/lib/libwx_gtk3u_core-3.1.so.6
#21 0x00000008015c4db2 in wxEventLoopBase::Run() () at /usr/local/lib/libwx_baseu-3.1.so.6
#22 0x00000008015862cc in wxAppConsoleBase::MainLoop() () at /usr/local/lib/libwx_baseu-3.1.so.6
#23 0x00000008015fb259 in wxEntry(int&, wchar_t**) () at /usr/local/lib/libwx_baseu-3.1.so.6
#24 0x0000000000474d00 in ()
#25 0x0000000000423b55 in ()
#26 0x00000008007cd000 in ()
#27 0x0000000000000000 in ()
Thread 12 (LWP 100206 of process 36560):
#0 0x000000080379deba in _select () at /lib/libc.so.7
#1 0x00000008035cbe52 in () at /lib/libthr.so.3
#2 0x0000000802ffec8e in UnixProcess::ReadAll(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, int) () at /usr/local/lib/codelite/liblibcodelite.so
#3 0x0000000802fff469 in () at /usr/local/lib/codelite/liblibcodelite.so
#4 0x00000008035c9132 in () at /lib/libthr.so.3
#5 0x0000000000000000 in ()
Thread 11 (LWP 100190 of process 36560):
#0 0x00000008035d79ec in () at /lib/libthr.so.3
#1 0x00000008035cb040 in () at /lib/libthr.so.3
#2 0x00000008035d4f4b in () at /lib/libthr.so.3
#3 0x00000008016888e4 in () at /usr/local/lib/libwx_baseu-3.1.so.6
#4 0x0000000803001417 in wxMessageQueue<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::ReceiveTimeout(long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) () at /usr/local/lib/codelite/liblibcodelite.so
#5 0x0000000802fff158 in () at /usr/local/lib/codelite/liblibcodelite.so
#6 0x00000008035c9132 in () at /lib/libthr.so.3
#7 0x0000000000000000 in ()
Thread 10 (LWP 100464 of process 36560):
#0 0x000000080379deba in _select () at /lib/libc.so.7
#1 0x00000008035cbe52 in () at /lib/libthr.so.3
#2 0x0000000802ffec8e in UnixProcess::ReadAll(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, int) () at /usr/local/lib/codelite/liblibcodelite.so
#3 0x0000000802fff469 in () at /usr/local/lib/codelite/liblibcodelite.so
#4 0x00000008035c9132 in () at /lib/libthr.so.3
#5 0x0000000000000000 in ()
Thread 9 (LWP 100456 of process 36560):
#0 0x00000008035d79ec in () at /lib/libthr.so.3
#1 0x00000008035cb040 in () at /lib/libthr.so.3
#2 0x00000008035d4f4b in () at /lib/libthr.so.3
#3 0x00000008016888e4 in () at /usr/local/lib/libwx_baseu-3.1.so.6
#4 0x0000000803001417 in wxMessageQueue<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::ReceiveTimeout(long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) () at /usr/local/lib/codelite/liblibcodelite.so
#5 0x0000000802fff158 in () at /usr/local/lib/codelite/liblibcodelite.so
#6 0x00000008035c9132 in () at /lib/libthr.so.3
#7 0x0000000000000000 in ()
Thread 8 (LWP 101155 of process 36560):
#0 0x000000080379deba in _select () at /lib/libc.so.7
#1 0x00000008035cbe52 in () at /lib/libthr.so.3
#2 0x0000000802fa6eb7 in clSocketBase::SelectReadMS(long) () at /usr/local/lib/codelite/liblibcodelite.so
#3 0x0000000802faad61 in clSocketAsyncThread::BufferLoop(wxSharedPtr<clSocketBase>) () at /usr/local/lib/codelite/liblibcodelite.so
#4 0x0000000802fa9d51 in clSocketAsyncThread::ClientMain() () at /usr/local/lib/codelite/liblibcodelite.so
#5 0x0000000802fa9959 in clSocketAsyncThread::Entry() () at /usr/local/lib/codelite/liblibcodelite.so
#6 0x000000080168a249 in () at /usr/local/lib/libwx_baseu-3.1.so.6
#7 0x00000008035c9132 in () at /lib/libthr.so.3
#8 0x0000000000000000 in ()
Thread 7 (LWP 100244 of process 36560):
#0 0x000000080372e99a in _nanosleep () at /lib/libc.so.7
#1 0x00000008035cba9c in () at /lib/libthr.so.3
#2 0x0000000801691be7 in wxMilliSleep(unsigned long) () at /usr/local/lib/libwx_baseu-3.1.so.6
#3 0x0000000803003b7a in ZombieReaperPOSIX::Entry() () at /usr/local/lib/codelite/liblibcodelite.so
#4 0x000000080168a249 in () at /usr/local/lib/libwx_baseu-3.1.so.6
#5 0x00000008035c9132 in () at /lib/libthr.so.3
#6 0x0000000000000000 in ()
Thread 6 (LWP 100274 of process 36560):
#0 0x00000008035d79ec in () at /lib/libthr.so.3
#1 0x00000008035cb040 in () at /lib/libthr.so.3
#2 0x00000008035d4f4b in () at /lib/libthr.so.3
#3 0x0000000803533222 in std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) () at /usr/lib/libc++.so.1
#4 0x00000008030fb834 in WorkerThread::Entry() () at /usr/local/lib/codelite/liblibcodelite.so
#5 0x000000080168a249 in () at /usr/local/lib/libwx_baseu-3.1.so.6
#6 0x00000008035c9132 in () at /lib/libthr.so.3
#7 0x0000000000000000 in ()
Thread 5 (LWP 100884 of process 36560):
#0 0x000000080379deba in _select () at /lib/libc.so.7
#1 0x00000008035cbe52 in () at /lib/libthr.so.3
#2 0x0000000802fa73e9 in clSocketBase::SelectRead(long) () at /usr/local/lib/codelite/liblibcodelite.so
#3 0x0000000802fad4d5 in clSocketServer::WaitForNewConnectionRaw(long) () at /usr/local/lib/codelite/liblibcodelite.so
#4 0x0000000802fad475 in clSocketServer::WaitForNewConnection(long) () at /usr/local/lib/codelite/liblibcodelite.so
#5 0x00000000006d3fda in ()
#6 0x000000080168a249 in () at /usr/local/lib/libwx_baseu-3.1.so.6
#7 0x00000008035c9132 in () at /lib/libthr.so.3
#8 0x0000000000000000 in ()
Thread 4 (LWP 100482 of process 36560):
#0 0x00000008035d79ec in () at /lib/libthr.so.3
#1 0x00000008035cb040 in () at /lib/libthr.so.3
#2 0x00000008035d4f4b in () at /lib/libthr.so.3
#3 0x0000000803533222 in std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) () at /usr/lib/libc++.so.1
#4 0x00000008030fb834 in WorkerThread::Entry() () at /usr/local/lib/codelite/liblibcodelite.so
#5 0x000000080168a249 in () at /usr/local/lib/libwx_baseu-3.1.so.6
#6 0x00000008035c9132 in () at /lib/libthr.so.3
#7 0x0000000000000000 in ()
Thread 3 (LWP 101091 of process 36560 "gmain"):
#0 0x000000080374138a in _poll () at /lib/libc.so.7
#1 0x00000008035cbbc6 in () at /lib/libthr.so.3
#2 0x000000080099a152 in () at /usr/local/lib/libglib-2.0.so.0
#3 0x000000080099a256 in g_main_context_iteration () at /usr/local/lib/libglib-2.0.so.0
#4 0x000000080099bcf1 in () at /usr/local/lib/libglib-2.0.so.0
#5 0x00000008009c51a8 in () at /usr/local/lib/libglib-2.0.so.0
#6 0x00000008035c9132 in () at /lib/libthr.so.3
#7 0x0000000000000000 in ()
Thread 2 (LWP 101090 of process 36560 "pool-spawner"):
#0 0x00000008035d79ec in () at /lib/libthr.so.3
#1 0x00000008035cb040 in () at /lib/libthr.so.3
#2 0x00000008035d4f4b in () at /lib/libthr.so.3
#3 0x00000008009eee85 in g_cond_wait () at /usr/local/lib/libglib-2.0.so.0
#4 0x0000000800965585 in () at /usr/local/lib/libglib-2.0.so.0
#5 0x00000008009c5788 in () at /usr/local/lib/libglib-2.0.so.0
#6 0x00000008009c51a8 in () at /usr/local/lib/libglib-2.0.so.0
#7 0x00000008035c9132 in () at /lib/libthr.so.3
#8 0x0000000000000000 in ()
Thread 1 (LWP 101350 of process 36560):
#0 0x000000080379e7eb in memcpy () at /lib/libc.so.7
#1 0x00000008047f9415 in () at /usr/local/lib/libpcre2-8.so.0
#2 0x00000008047e8d1f in pcre2_match_8 () at /usr/local/lib/libpcre2-8.so.0
#3 0x0000000801614c1e in () at /usr/local/lib/libwx_baseu-3.1.so.6
#4 0x0000000801615cf7 in wxRegEx::Matches(wxString const&, int) const () at /usr/local/lib/libwx_baseu-3.1.so.6
#5 0x0000000802c1b7e2 in Compiler::IsMatchesPattern(Compiler::CmpInfoPattern&, Compiler::eSeverity, wxString const&, Compiler::PatternMatch*) const () at /usr/local/lib/codelite/libplugin.so
#6 0x0000000802c1ba14 in Compiler::Matches(wxString const&, Compiler::PatternMatch*) () at /usr/local/lib/codelite/libplugin.so
#7 0x0000000000433904 in ()
#8 0x0000000000431eb9 in ()
#9 0x00000008016acbb2 in wxEvtHandler::SearchDynamicEventTable(wxEvent&) () at /usr/local/lib/libwx_baseu-3.1.so.6
#10 0x00000008016ac8c1 in wxEvtHandler::ProcessEventLocally(wxEvent&) () at /usr/local/lib/libwx_baseu-3.1.so.6
#11 0x00000008016ac756 in wxEvtHandler::ProcessEvent(wxEvent&) () at /usr/local/lib/libwx_baseu-3.1.so.6
#12 0x00000008016ac3a8 in wxEvtHandler::ProcessPendingEvents() () at /usr/local/lib/libwx_baseu-3.1.so.6
#13 0x0000000801586c9f in wxAppConsoleBase::ProcessPendingEvents() () at /usr/local/lib/libwx_baseu-3.1.so.6
#14 0x0000000801bf9163 in wxApp::DoIdle() () at /usr/local/lib/libwx_gtk3u_core-3.1.so.6
#15 0x0000000801bfa313 in () at /usr/local/lib/libwx_gtk3u_core-3.1.so.6
#16 0x0000000800999e40 in g_main_context_dispatch () at /usr/local/lib/libglib-2.0.so.0
#17 0x000000080099a1aa in () at /usr/local/lib/libglib-2.0.so.0
#18 0x000000080099a4fa in g_main_loop_run () at /usr/local/lib/libglib-2.0.so.0
#19 0x0000000801039c1b in gtk_main () at /usr/local/lib/libgtk-3.so.0
#20 0x0000000801c0ec35 in wxGUIEventLoop::DoRun() () at /usr/local/lib/libwx_gtk3u_core-3.1.so.6
#21 0x00000008015c4db2 in wxEventLoopBase::Run() () at /usr/local/lib/libwx_baseu-3.1.so.6
#22 0x00000008015862cc in wxAppConsoleBase::MainLoop() () at /usr/local/lib/libwx_baseu-3.1.so.6
#23 0x00000008015fb259 in wxEntry(int&, wchar_t**) () at /usr/local/lib/libwx_baseu-3.1.so.6
#24 0x0000000000474d00 in ()
#25 0x0000000000423b55 in ()
#26 0x00000008007cd000 in ()
#27 0x0000000000000000 in ()
Looks like wxRegEx is not optimized. We could try and use different regex library (e.g. std::regex)
but why this processing code running in gui thread ?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs (within 5 days). Thank you for your contributions.