Author Topic: C::B reports wxRecursionGuards error when loading a cbp project  (Read 145 times)

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 6102
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
I just build C::B against wx 3.3.1, and the result C::B report many error messages when I load a project, the message looks like below:

Code
[Window Title]
wxWidgets Debug Alert

[Main Instruction]
A debugging check in this application has failed.

[Content]
..\..\include/wx/recguard.h(36): assert "m_flag > 0" failed in ~wxRecursionGuard(): unbalanced wxRecursionGuards!?

[ ] Don't show this dialog again  [Stop] [Continue]

Any ideas which cause this issue?


EDIT:

Here is the crash report from the RPT file:



Code
codeblocks.exe caused a Breakpoint at location 00007FF94B7822BA in module wxmsw331u_gcc_custom.dll.

AddrPC           Params
00007FF94B7822BA 00000260EFC92E70 0000000000000000 0000000000000000  wxmsw331u_gcc_custom.dll!wxEvtHandler::SearchDynamicEventTable+0x12a
00007FF94B7828FB 0000000000000001 00000260F4764260 0000009E3CBFF750  wxmsw331u_gcc_custom.dll!wxEvtHandler::TryHereOnly+0x2b
00007FF94B782983 00000260F4763FD0 0000009E3CBFF6F0 00000260F4764260  wxmsw331u_gcc_custom.dll!wxEvtHandler::ProcessEventLocally+0x33
00007FF94B782A61 0000000000011A38 0000000000000000 0000000000000000  wxmsw331u_gcc_custom.dll!wxEvtHandler::ProcessEvent+0xc1
00007FF94BA75018 0000009E3CBFF8E0 0000000000000001 00000260F4762440  wxmsw331u_gcc_custom.dll!wxWindowBase::TryAfter+0x58
00007FF94BA557DC 00007FF94C8F48E0 00007FF900000002 00000260F00FF3D0  wxmsw331u_gcc_custom.dll!wxToolBarBase::UpdateWindowUI+0x19c
00007FF94BA68217 0000000000000000 0000000000000000 0000000000000000  wxmsw331u_gcc_custom.dll!wxWindowBase::SendIdleEvents+0x17
00007FF94BA6824F 0000000000000000 0000000000000000 0000000000000000  wxmsw331u_gcc_custom.dll!wxWindowBase::SendIdleEvents+0x4f
00007FF94B969B04 00000260F4810D60 00000260F4810D60 0000000000000000  wxmsw331u_gcc_custom.dll!wxAppBase::ProcessIdle+0xc4
00007FF94B669CB3 0000000000000028 00007FF94C8C4150 0000009E3CBFFB40  wxmsw331u_gcc_custom.dll!wxEventLoopManual::DoRunLoop+0x83
00007FF94B669DC8 00000260EF70B960 00000260F4810D60 0000000000000000  wxmsw331u_gcc_custom.dll!wxEventLoopManual::DoRun+0x38
00007FF94B6698D8 0000000000000048 00007FF9BCFDC9D0 0000009E3CBFFAC0  wxmsw331u_gcc_custom.dll!wxEventLoopBase::Run+0x58
00007FF94B63619F 00000260EF75D0C0 00000260EF7128B0 00007FF94D0D95C8  wxmsw331u_gcc_custom.dll!wxAppConsoleBase::MainLoop+0x7f
00007FF62CCA62CA 00000260EF70B960 0000000000000000 0000000000000000  codeblocks.exe!0x62ca
00007FF94B6A879E FFFFFFFFFFFFFFFF 0000000000000008 0000000000000048  wxmsw331u_gcc_custom.dll!wxInitialize+0x12e
00007FF62CCA2A97 00007FF62CCA0000 0000000000000000 00000260EDC8365C  codeblocks.exe!0x2a97
00007FF62CCA12E9 0000000000000000 0000000000000000 0000000000000000  codeblocks.exe!0x12e9
00007FF62CCA13D6 0000000000000000 0000000000000000 0000000000000000  codeblocks.exe!0x13d6
00007FF9BCFB7374 0000000000000000 0000000000000000 0000000000000000  KERNEL32.DLL!BaseThreadInitThunk+0x14
00007FF9BEBBCC91 0000000000000000 0000000000000000 0000000000000000  ntdll.dll!RtlUserThreadStart+0x21
« Last Edit: Today at 03:57:42 am by ollydbg »
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7808
    • My Best Post
I did not see the problem.

Code
Name                    : Code::Blocks
Version                 : svn-r13746
SDK Version             : 2.25.0
Scintilla Version       : 3.7.5
OS                      : Windows 10 (build 19045), 64-bit edition
wxWidgets Library (wxMSW port)
Version 3.3.1 (Unicode: wchar_t, debug level: 1),
compiled at Oct  9 2025 07:51:44

Under MSys2 UCRT64 with Code::Blocks in dark mode and using multilib wxWidgets.
Edit: Code::Blocks built using configure/make build under MSys2 UCRT64

Tim S.
« Last Edit: Today at 04:22:50 pm by stahta01 »
C Programmer working to learn more about C++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline blauzahn

  • Almost regular
  • **
  • Posts: 214
It is the Clangd_client that has or triggers this bug at least on Linux. After a while it crashes cb. I have seen it on numerous occasions.

That's why I usually leave it disabled. I enable is only sporadically to use its hints analogue to clang-tidy or IWYU and immediately
disable it thereafter. Please be aware that the IWYU function has many false positives. Those you can silence with // IWYU pragma: keep