Recent Posts

Pages: [1] 2 3 4 5 6 ... 10
1
I lot of tools help me to find the crash/assert.

1, gd_on's unified code::blocks cbp/workspace files(gerard-durand/codeblocks_gd_cbps: Workspace and projets files to build Code::Blocks for Windows as a wxWidgets version independant), I can simply change the option so it links to the debug version of the wx 3.3.1, just change a global compiler variable wxWidgets.WX_SUFFIX from "u" to "ud". Without this unifiled cbp, I think I need a lot of changes.

2, gdb(I'm currently using ssbssa/gdb: Unofficial Windows build of gdb with added features., I think other gdbs are all good)can catch such crash call stack.

2
https://www.reddit.com/r/codeblocks/comments/1r8vgpr/is_codeblocks_still_alive/

Thanks for the report.

Maybe, he could change his email address and register again.

If that still failed, I think I will wrote an email to our web admin to check whether the email system works or not.

Note the email notification(our the forum thread) works OK.
3
@ ollydbg

Thank you for that traceback. It spots the errror.
I can be so dumb sometimes. I remember that I copied that code from the original testing "prob of LSP" and told my self I'd need to revisit later. Then I forgot.


I'll fix it to use cross thread communication.
4
Another issue is the payload.

Code
e.SetPayload<std::string*>(&stdstr);
m_notifiedWindow->ProcessEvent(e);

We can not pass the local variable's address from the worker thread to the GUI thread, we should bring the whole std::string instead.
6
When I looked at the #6 of the call stack, I see this:

Code
                            if(!buffErr.IsEmpty() && m_notifiedWindow) {
                                // we got some data, send event to parent
                                //clProcessEvent e(wxEVT_ASYNC_PROCESS_STDERR);
                                wxThreadEvent e(wxEVT_ASYNC_PROCESS_STDERR, wxID_NONE);
                                //wxString& b = const_cast<wxString&>(e.GetOutput());
                                //b.swap(buffErr);
                                //e.SetProcess(m_process);
                                //m_notifiedWindow->AddPendingEvent(e);
                                //-std::string stdstr = buffErr.ToStdString(); loses data
                                #if wxCHECK_VERSION(3,1,5)
                                std::string stdstr = buff.utf8_string();
                                #else
                                std::string stdstr =  buff.ToStdString(wxConvUTF8);
                                #endif
                                e.SetPayload<std::string*>(&stdstr);
                                m_notifiedWindow->ProcessEvent(e);
                            }

It shows this statement: m_notifiedWindow->ProcessEvent(e);

So, this is a working thread, is it possible to call the ProcessEvent event from the working thread? I think it should be "PostEvent" or "QueueEvent". Am I correct?
7
Hi, this call stack maybe useful

Code
#0  wxRecursionGuard::~wxRecursionGuard (this=0xb84f920, __in_chrg=<optimized out>) at F:\code\wxWidgets-3.3.1\include\wx\recguard.h:38
        __func__ = <optimized out>
#1  0x00007ffe78da8e51 in wxEvtHandler::SearchDynamicEventTable (this=0xa4b8fa0, event=...) at F:\code\wxWidgets-3.3.1\src\common\event.cpp:1961
        __func__ = "SearchDynamicEventTable"
        localCopy = {m_ref = 0xa4b6530}
        dynamicEvents = @0x800de80: {m_entries = std::vector of length 7, capacity 8 = {0xa44e0c0, 0x80117b0, 0x800df70, 0xa47bd40, 0x800e1f0, 0xa4b8ab0, 0xa4b8b50}, m_flag = 0}
        guard = {m_flag = @0x800de98, m_isInside = false}
        needToPruneDeleted = false
#2  0x00007ffe78da8395 in wxEvtHandler::TryHereOnly (this=0xa4b8fa0, event=...) at F:\code\wxWidgets-3.3.1\src\common\event.cpp:1650
No locals.
#3  0x00007ffe7970d030 in wxEvtHandler::TryBeforeAndHere (this=0xa4b8fa0, event=...) at F:\code\wxWidgets-3.3.1\include\wx\event.h:4072
No locals.
#4  0x00007ffe78da8200 in wxEvtHandler::ProcessEventLocally (this=0xa4b8fa0, event=...) at F:\code\wxWidgets-3.3.1\src\common\event.cpp:1587
No locals.
#5  0x00007ffe78da8199 in wxEvtHandler::ProcessEvent (this=0xa4b8fa0, event=...) at F:\code\wxWidgets-3.3.1\src\common\event.cpp:1560
        __func__ = "ProcessEvent"
#6  0x00007ffed671a689 in ProcessReaderThread::Entry (this=0xa4b84d0) at F:\code\codeblocks-src\codeblocks_sfmirror\src\plugins\contrib\clangd_client\src\winprocess\asyncprocess\processreaderthread.cpp:107
        e = {<wxEvent> = {<wxObject> = {_vptr.wxObject = 0x7ffe79d6de50 <vtable for wxThreadEvent+16>, static ms_classInfo = {m_className = 0x7ffe79b21882 <wxFalse+1104> L"wxObject", m_objectSize = 16, m_objectConstructor = 0x0, m_baseInfo1 = 0x0, m_baseInfo2 = 0x0, static sm_first = 0x7ffedb4c4020 <wxSpeedButton::ms_classInfo>, m_next = 0x7ffe7a0b0980 <wxProcessEvent::ms_classInfo>, static sm_classTable = 0x6e46e0}, m_refData = 0x0}, m_eventObject = 0x0, m_eventType = 10604, m_timeStamp = 0, m_id = -3, m_callbackUserData = 0x0, m_handlerToProcessOnlyIn = 0x0, m_propagationLevel = 0, m_propagatedFrom = 0x0, m_skipped = false, m_isCommandEvent = false, m_wasProcessed = true, m_willBeProcessedAgain = false, static ms_classInfo = {m_className = 0x7ffe79b3543a <EVENT_TYPE_TABLE_INIT_SIZE+1874> L"wxEvent", m_objectSize = 80, m_objectConstructor = 0x0, m_baseInfo1 = 0x7ffe7a0b0680 <wxObject::ms_classInfo>, m_baseInfo2 = 0x0, static sm_first = 0x7ffedb4c4020 <wxSpeedButton::ms_classInfo>, m_next = 0x7ffe7a0b19c0 <wxEvtHandler::ms_classInfo>}}, <wxEventAnyPayloadMixin> = {<wxEventBasicPayloadMixin> = {m_cmdString = L"", m_commandInt = 0, m_extraLong = 0}, m_payload = {m_buffer = {m_alignment = {m_int64 = 193264352, m_longDouble = <invalid float value>, m_funcPtr = 0xb84fae0, m_mFuncPtr = (void (wxAnyValueBuffer::*)(wxAnyValueBuffer * const)) 0xb84fae0, this adjustment 281472023920739}, m_ptr = 0xb84fae0, m_buffer = "帔\204\v\000\000\000\000c\000\000P\377\377\000"}, m_type = 0x67405e0}}, static ms_classInfo = {m_className = 0x7ffe79b35462 <EVENT_TYPE_TABLE_INIT_SIZE+1914> L"wxThreadEvent", m_objectSize = 176, m_objectConstructor = 0x7ffe78da4378 <wxThreadEvent::wxCreateObject()>, m_baseInfo1 = 0x7ffe7a0b1a00 <wxEvent::ms_classInfo>, m_baseInfo2 = 0x0, static sm_first = 0x7ffedb4c4020 <wxSpeedButton::ms_classInfo>, m_next = 0x7ffe7a0b1a40 <wxIdleEvent::ms_classInfo>}}
        stdstr = ""
        buff = L""
        buffErr = L"V[16:11:47.077] Dropped diagnostic: F:/code/wxWidgets-3.3.1/include/wx/bitmap.h: 'wxBitmap::ConvertToDisabled' redeclared inline; 'dllimport' attribute ignored\r\nI[16:11:47.087] Built preamble of size "...
#7  0x00007ffe78d93a04 in operator() (__closure=0xb84fe40) at F:\code\wxWidgets-3.3.1\src\msw\thread.cpp:528
        __func__ = "operator()"
        thread = @0xb84fe80: 0xa4b84d0
        rc = @0xb84fe1c: 4294967295
#8  0x00007ffe78d97ce3 in wxSafeCall<void, wxThreadInternal::DoThreadStart(wxThread*)::<lambda()>, void()>(const struct {...} &, void (&)(void)) (func=..., handler=@0x7ffe78cd3d42: {void (void)} 0x7ffe78cd3d42 <wxAppConsoleBase::CallOnUnhandledException()>) at F:\code\wxWidgets-3.3.1\include\wx\private\safecall.h:40
No locals.
#9  0x00007ffe78d97c3d in wxSafeCall<wxThreadInternal::DoThreadStart(wxThread*)::<lambda()> >(const struct {...} &) (func=...) at F:\code\wxWidgets-3.3.1\include\wx\private\safecall.h:54
No locals.
#10 0x00007ffe78d93ac2 in wxThreadInternal::DoThreadStart (thread=0xa4b84d0) at F:\code\wxWidgets-3.3.1\src\msw\thread.cpp:514
        wxScopeGuard510 = @0xb84fe20: {m_wasDismissed = false}
        rc = 4294967295
#11 0x00007ffe78d93b6a in wxThreadInternal::WinThreadStart (param=0xa4b84d0) at F:\code\wxWidgets-3.3.1\src\msw\thread.cpp:559
        rc = 4294967295
        thread = 0xa4b84d0
        hasExited = false
        isDetached = false
#12 0x00007fff4f18af5a in msvcrt!_beginthreadex () from C:\WINDOWS\System32\msvcrt.dll
No symbol table info available.
#13 0x00007fff4f18b02c in msvcrt!_endthreadex () from C:\WINDOWS\System32\msvcrt.dll
No symbol table info available.
#14 0x00007fff4f097374 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#15 0x00007fff4f43cc91 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#16 0x0000000000000000 in ?? ()
No symbol table info available.


So, it is inside the clangd_client code?
9
@ ollydbg
Did this backtrace come from click cancel/stop when the assert applied, or at some other time?

Sorry, it is about several months ago, I forget it.
In the recent assert message box, I don't see the call-stack again in the RPT file.
I will try to reproduce it again.
10
Help / c++23
« Last post by rlfrost@aol.com on February 21, 2026, 10:46:54 pm »
Guys/Ladies

I can't for the life of me set up a project for Code::Blocks for c++23.
Before the newest release, I was using Code::Blocks pretty exclusively, but I switched to KDevelop for c++23 support.
Now that Code::Blocks supports c++23, I would like to switch back.
I am using Clang, and creating a project via the built-in wizard, but even the most simple file will not compile.
I I use the default wizard project, compiling complains of no .pcm, and if I generate a .pcm from the command line.. you get the idea...
I am beginning to think that I am just too stupid to pull this off.

Thanks for any advice,

Larry
Pages: [1] 2 3 4 5 6 ... 10