1
Help / Re: code::blocks hangs at startup
« Last post by blauzahn on Today at 11:02:50 am »cb still hangs at startup on arch Linux, cb-trunk build with the distributed wx-3.2.9. In my Makefile, wxSmith plugins are disabled at configure:
Console output at startup is:
Please note the assert. I have seen this a few times over the years. I use an out of tree build. The installation directories of cb are pristine and without stale files. I verified this, recompiled, reinstalled but the assert remains.
Run in gdb, similar lines replaced with [...]:
cb hangs here; Ctrl-C pressed yields this backtrace:
As before, libglycin-2 seems to be involved.
When I build and install curren wx trunk locally in /opt/wx trunk cb fails to compile:
I had this compile error since autum. Currently, I am able to compile and run cb with wx-trunk set back to this commit:
My wxWidgets has been configured for years this way:
Please note: wx installed in /opt/wx requires ld to find it when linking cb:
Code
(cd $(build) && \
LT_SYS_LIBRARY_PATH=$(WX_PREFIX)/lib \
CC=${CC} CXX=${CXX} ../$(trunk)/configure \
--enable-debug=yes \
--enable-pch=no \
--prefix=$(PREFIX) \
--with-wx-config=$(WX_PREFIX)/bin/wx-config --with-wx-prefix=$(WX_PREFIX) \
--with-contrib-plugins=all,\
-wxsmith,-wxsmithaui,-wxsmithcontrib,\
-NassiShneiderman,-codesnippets,-dragscroll)
Console output at startup is:
Code
$ codeblocks
Starting Code::Blocks svn build rev 13776 Jan 25 2026, 09:09:29 - wxWidgets 3.2.9 - gcc 15.2.1 (Linux, unicode) - 64 bit
Manager initialisiert
Initialize EditColourSet .....
Initialize EditColourSet: done.
Loading menubar...
/usr/src/debug/wxwidgets/wxWidgets/src/common/object.cpp(233):
assert "classTable->Get(m_className) == __null" failed in Register(): Class "wxAnyValueTypeGlobalsManager"
already in RTTI table - have you used wxIMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)?
Please note the assert. I have seen this a few times over the years. I use an out of tree build. The installation directories of cb are pristine and without stale files. I verified this, recompiled, reinstalled but the assert remains.
Run in gdb, similar lines replaced with [...]:
Code
$ gdb /usr/local/bin/codeblocks
GNU gdb (GDB) 17.1
[...]
Reading symbols from /usr/local/bin/codeblocks...
(gdb) r
Starting program: /usr/local/bin/codeblocks
[...]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffefdff6c0 (LWP 143300)]
[...]
[New Thread 0x7fffed5fa6c0 (LWP 143305)]
Starting Code::Blocks svn build rev 13776 Jan 25 2026, 09:09:29 - wxWidgets 3.2.9 - gcc 15.2.1 (Linux, unicode) - 64 bit
Manager initialisiert
Initialize EditColourSet .....
[New Thread 0x7fffd7fff6c0 (LWP 143705)]
[New Thread 0x7fffd77fe6c0 (LWP 143706)]
[New Thread 0x7fffd6ffd6c0 (LWP 143707)]
Initialize EditColourSet: done.
Loading menubar...
[New Thread 0x7fffd67fc6c0 (LWP 143906)]
[...]
[New Thread 0x7fffd4ff96c0 (LWP 143912)]
[Detaching after fork from child process 143913]
[New Thread 0x7fffd4df86c0 (LWP 143916)]
[Detaching after fork from child process 143917]
/usr/src/debug/wxwidgets/wxWidgets/src/common/object.cpp(233): assert "classTable->Get(m_className) == __null" failed in Register(): Class "wxAnyValueTypeGlobalsManager" already in RTTI table - have you used wxIMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)?
[New Thread 0x7fffd43ff6c0 (LWP 143923)]
[Thread 0x7fffd4ff96c0 (LWP 143912) exited]
^C
Thread 1 "codeblocks" received signal SIGINT, Interrupt.
0x00007ffff4d1876d in syscall () from /usr/lib/libc.so.6
cb hangs here; Ctrl-C pressed yields this backtrace:
Code
(gdb) bt
#0 0x00007ffff4d1876d in syscall () from /usr/lib/libc.so.6
#1 0x00007ffff4230905 in ?? () from /usr/lib/libglycin-2.so.0
#2 0x00007ffff416532e in gly_loader_load () from /usr/lib/libglycin-2.so.0
#3 0x00007ffff647a704 in ?? () from /usr/lib/libgdk_pixbuf-2.0.so.0
#4 0x00007ffff647ac62 in ?? () from /usr/lib/libgdk_pixbuf-2.0.so.0
#5 0x00007ffff6464e32 in gdk_pixbuf_loader_close () from /usr/lib/libgdk_pixbuf-2.0.so.0
#6 0x00007ffff5f04014 in ?? () from /usr/lib/libgtk-3.so.0
[...]
#21 0x00007ffff5f009b5 in ?? () from /usr/lib/libgtk-3.so.0
#22 0x00007ffff612197c in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#23 0x00007ffff6140bf3 in ?? () from /usr/lib/libgobject-2.0.so.0
#24 0x00007ffff6142b0f in ?? () from /usr/lib/libgobject-2.0.so.0
#25 0x00007ffff6142d89 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#26 0x00007ffff6142e44 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#27 0x00007ffff5eddde2 in gtk_widget_show () from /usr/lib/libgtk-3.so.0
#28 0x00007ffff5cc4089 in gtk_dialog_run () from /usr/lib/libgtk-3.so.0
#29 0x00007ffff6b40935 in wxGUIAppTraits::ShowAssertDialog(wxString const&) () from /usr/lib/libwx_gtk3u_core-3.2.so.0
#30 0x00007ffff6282382 in ?? () from /usr/lib/libwx_baseu-3.2.so.0
#31 0x00007ffff6282589 in wxAppConsoleBase::OnAssertFailure(wchar_t const*, int, wchar_t const*, wchar_t const*, wchar_t const*) ()
from /usr/lib/libwx_baseu-3.2.so.0
#32 0x00007ffff6b0448d in wxApp::OnAssertFailure(wchar_t const*, int, wchar_t const*, wchar_t const*, wchar_t const*) ()
from /usr/lib/libwx_gtk3u_core-3.2.so.0
#33 0x00007ffff62827a2 in ?? () from /usr/lib/libwx_baseu-3.2.so.0
#34 0x00007ffff627ca5e in wxOnAssert(char const*, int, char const*, char const*, wxString const&) () from /usr/lib/libwx_baseu-3.2.so.0
#35 0x00007ffff6300c0d in wxClassInfo::Register() () from /usr/lib/libwx_baseu-3.2.so.0
#36 0x00007fffd449bb33 in wxClassInfo::wxClassInfo (this=0x7fffd4721ec0 <wxAnyValueTypeGlobalsManager::ms_classInfo>,
className=0x7fffd463d368 L"wxAnyValueTypeGlobalsManager", baseInfo1=0x7ffff6441860 <wxModule::ms_classInfo>, baseInfo2=0x0, size=72,
ctor=0x7fffd449a3e2 <wxAnyValueTypeGlobalsManager::wxCreateObject()>) at ../trunk/include/wx/rtti.h:87
#37 0x00007fffd449ae7a in __static_initialization_and_destruction_0 () at ../trunk/src/common/any.cpp:226
#38 0x00007fffd449b2d8 in _GLOBAL__sub_I_any.cpp(void) () at ../trunk/src/common/any.cpp:499
#39 0x00007ffff7fc82a7 in ?? () from /lib64/ld-linux-x86-64.so.2
#40 0x00007ffff7fc837d in ?? () from /lib64/ld-linux-x86-64.so.2
#41 0x00007ffff7fc44f5 in _dl_catch_exception () from /lib64/ld-linux-x86-64.so.2
#42 0x00007ffff7fcf2a9 in ?? () from /lib64/ld-linux-x86-64.so.2
#43 0x00007ffff7fc4456 in _dl_catch_exception () from /lib64/ld-linux-x86-64.so.2
#44 0x00007ffff7fcf75a in ?? () from /lib64/ld-linux-x86-64.so.2
#45 0x00007ffff4c92cc4 in ?? () from /usr/lib/libc.so.6
#46 0x00007ffff7fc4456 in _dl_catch_exception () from /lib64/ld-linux-x86-64.so.2
#47 0x00007ffff7fc45a9 in ?? () from /lib64/ld-linux-x86-64.so.2
#48 0x00007ffff4c927b3 in ?? () from /usr/lib/libc.so.6
--Type <RET> for more, q to quit, c to continue without paging--
#49 0x00007ffff4c92d7b in dlopen () from /usr/lib/libc.so.6
#50 0x00007ffff6372388 in wxDynamicLibrary::RawLoad(wxString const&, int) () from /usr/lib/libwx_baseu-3.2.so.0
#51 0x00007ffff62a6c4c in wxDynamicLibrary::Load(wxString const&, int) () from /usr/lib/libwx_baseu-3.2.so.0
#52 0x00007ffff7a0e381 in LibLoader::LoadLibrary (filename=...) at ../../../trunk/src/sdk/pluginmanager.cpp:121
#53 0x00007ffff7a0a216 in PluginManager::LoadPlugin (this=0x55555692ece0, pluginName=...) at ../../../trunk/src/sdk/pluginmanager.cpp:1104
#54 0x00007ffff7a09c53 in PluginManager::ScanForPlugins (this=0x55555692ece0, path=...) at ../../../trunk/src/sdk/pluginmanager.cpp:1067
#55 0x00005555556d3423 in MainFrame::ScanForPlugins (this=0x5555560feed0) at ../../../trunk/src/src/main.cpp:1496
#56 0x00005555556caef3 in MainFrame::MainFrame (this=0x5555560feed0, parent=0x0) at ../../../trunk/src/src/main.cpp:794
#57 0x0000555555639fb3 in CodeBlocksApp::InitFrame (this=0x555555909dd0) at ../../../trunk/src/src/app.cpp:554
#58 0x000055555563ba4d in CodeBlocksApp::OnInit (this=0x555555909dd0) at ../../../trunk/src/src/app.cpp:785
#59 0x00005555556454e7 in wxAppConsoleBase::CallOnInit (this=0x555555909dd0) at /usr/include/wx-3.2/wx/app.h:93
#60 0x00007ffff62ec1b2 in wxEntry(int&, wchar_t**) () from /usr/lib/libwx_baseu-3.2.so.0
#61 0x00005555556397b6 in main (argc=1, argv=0x7fffffffdf88) at ../../../trunk/src/src/app.cpp:365
(gdb)
As before, libglycin-2 seems to be involved.
When I build and install curren wx trunk locally in /opt/wx trunk cb fails to compile:
Code
make[5]: Entering directory 'src/sdk/scripting/bindings'
depbase=`echo sc_wxtypes.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/sh ../../../../libtool --tag=CXX --mode=compile g++ -std=c++11 -DHAVE_CONFIG_H -I. -I../../../../../trunk/src/sdk/scripting/bindings -I../../../../src/include -I/opt/wx/lib/wx/include/gtk3-unicode-3.3 -I/opt/wx/include/wx-3.3 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread -I../../../../../trunk/src/include/scripting/include -I../../../../../trunk/src/include -I../../../../../trunk/src/sdk/wxscintilla/include -DCB_AUTOCONF -DDEBUG -DcbDEBUG -DPIC -I../../../../../trunk/src/include/tinyxml -DTIXML_USE_STL=YES -g -fPIC -fexceptions -MT sc_wxtypes.lo -MD -MP -MF $depbase.Tpo -c -o sc_wxtypes.lo ../../../../../trunk/src/sdk/scripting/bindings/sc_wxtypes.cpp &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile: g++ -std=c++11 -DHAVE_CONFIG_H -I. -I../../../../../trunk/src/sdk/scripting/bindings -I../../../../src/include -I/opt/wx/lib/wx/include/gtk3-unicode-3.3 -I/opt/wx/include/wx-3.3 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread -I../../../../../trunk/src/include/scripting/include -I../../../../../trunk/src/include -I../../../../../trunk/src/sdk/wxscintilla/include -DCB_AUTOCONF -DDEBUG -DcbDEBUG -DPIC -I../../../../../trunk/src/include/tinyxml -DTIXML_USE_STL=YES -g -fPIC -fexceptions -MT sc_wxtypes.lo -MD -MP -MF .deps/sc_wxtypes.Tpo -c ../../../../../trunk/src/sdk/scripting/bindings/sc_wxtypes.cpp -fPIC -DPIC -o .libs/sc_wxtypes.o
../../../../../trunk/src/sdk/scripting/bindings/sc_wxtypes.cpp: In function 'void ScriptBindings::Register_wxTypes(HSQUIRRELVM)':
../../../../../trunk/src/sdk/scripting/bindings/sc_wxtypes.cpp:1078:19: error: no matches converting function 'NoParamGetterInt' to type 'SQFUNCTION' {aka 'long long int (*)(struct SQVM*)'}
1078 | BindMethod(v, _SC("Blue"), NoParamGetterInt<wxColour::ChannelType, wxColour, &wxColour::Blue>, _SC("wxColour::Blue"));
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../../trunk/src/sdk/scripting/bindings/sc_wxtypes.cpp:17:
../../../../../trunk/src/include/scripting/bindings/sc_utils.h:992:11: note: candidate is: 'template<class ReturnType, class ClassType, ReturnType (ClassType::* func)() const> SQInteger ScriptBindings::NoParamGetterInt(HSQUIRRELVM)'
992 | SQInteger NoParamGetterInt(HSQUIRRELVM v)
| ^~~~~~~~~~~~~~~~
../../../../../trunk/src/sdk/scripting/bindings/sc_wxtypes.cpp:1079:19: error: no matches converting function 'NoParamGetterInt' to type 'SQFUNCTION' {aka 'long long int (*)(struct SQVM*)'}
1079 | BindMethod(v, _SC("Green"), NoParamGetterInt<wxColour::ChannelType, wxColour, &wxColour::Green>, _SC("wxColour::Green"));
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../trunk/src/include/scripting/bindings/sc_utils.h:992:11: note: candidate is: 'template<class ReturnType, class ClassType, ReturnType (ClassType::* func)() const> SQInteger ScriptBindings::NoParamGetterInt(HSQUIRRELVM)'
992 | SQInteger NoParamGetterInt(HSQUIRRELVM v)
| ^~~~~~~~~~~~~~~~
../../../../../trunk/src/sdk/scripting/bindings/sc_wxtypes.cpp:1080:19: error: no matches converting function 'NoParamGetterInt' to type 'SQFUNCTION' {aka 'long long int (*)(struct SQVM*)'}
1080 | BindMethod(v, _SC("Red"), NoParamGetterInt<wxColour::ChannelType, wxColour, &wxColour::Red>, _SC("wxColour::Red"));
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../trunk/src/include/scripting/bindings/sc_utils.h:992:11: note: candidate is: 'template<class ReturnType, class ClassType, ReturnType (ClassType::* func)() const> SQInteger ScriptBindings::NoParamGetterInt(HSQUIRRELVM)'
992 | SQInteger NoParamGetterInt(HSQUIRRELVM v)
| ^~~~~~~~~~~~~~~~
../../../../../trunk/src/sdk/scripting/bindings/sc_wxtypes.cpp:1081:19: error: no matches converting function 'NoParamGetterInt' to type 'SQFUNCTION' {aka 'long long int (*)(struct SQVM*)'}
1081 | BindMethod(v, _SC("Alpha"), NoParamGetterInt<wxColour::ChannelType, wxColour, &wxColour::Alpha>, _SC("wxColour::Alpha"));
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../trunk/src/include/scripting/bindings/sc_utils.h:992:11: note: candidate is: 'template<class ReturnType, class ClassType, ReturnType (ClassType::* func)() const> SQInteger ScriptBindings::NoParamGetterInt(HSQUIRRELVM)'
992 | SQInteger NoParamGetterInt(HSQUIRRELVM v)
| ^~~~~~~~~~~~~~~~
make[5]: *** [Makefile:534: sc_wxtypes.lo] Error 1
I had this compile error since autum. Currently, I am able to compile and run cb with wx-trunk set back to this commit:
Code
Autor: Eran Ifrah <eran@codelite.org> 2025-10-29 19:13:14
Eintragender: Vadim Zeitlin <vadim@wxwidgets.org> 2025-11-01 16:06:17
Eltern: 4bf58e23b69480166b34d326ce06385e6c97f916 (Fix a small typo in wxStyledTextCtrlMiniMap comment)
My wxWidgets has been configured for years this way:
Code
mkdir -p $(BUILD)
(cd $(BUILD) && ../$(TRUNK)/configure --prefix=$(WX_PREFIX) --with-cxx=17 --with-gtk --without-libtiff --enable-debug)
Please note: wx installed in /opt/wx requires ld to find it when linking cb:
Code
echo $(WX_PREFIX)/lib >/etc/ld.so.conf.d/wxwidgets.conf
Recent Posts