Who is creating the binary CodeBlocks release builds? Is someone maintaining CodeBlocks on Mac OSX?
I just ran COdeBlocks inside gdb and printed a backtrace, it seems extreme long (endless recursion?):
The message exceeds the maximum allowed length (20000 characters), so I cut some repeating parts:
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0xb0104ffc
[Switching to process 3280 thread 0x7e0b]
0x0090e213 in wxEventHashTable::HandleEvent ()
(gdb) bt
#0 0x0090e213 in wxEventHashTable::HandleEvent ()
#1 0x0090e98f in wxEvtHandler::ProcessEvent ()
#2 0x00a55902 in wxWindowBase::TryParent ()
#3 0x0090e93c in wxEvtHandler::ProcessEvent ()
#4 0x00a55902 in wxWindowBase::TryParent ()
#5 0x0090e93c in wxEvtHandler::ProcessEvent ()
#6 0x00a55902 in wxWindowBase::TryParent ()
#7 0x0090e93c in wxEvtHandler::ProcessEvent ()
#8 0x00a91be0 in wxGenericTreeCtrl::Collapse ()
#9 0x00a88411 in wxGenericTreeCtrl::CollapseAndReset ()
#10 0x0c5423df in ClassBrowserBuilderThread::CollapseItem ()
#11 0x0c53d953 in ClassBrowser::OnTreeItemCollapsing ()
#12 0x0090e0c3 in wxEvtHandler::ProcessEventIfMatches ()
#13 0x0090e23f in wxEventHashTable::HandleEvent ()
#14 0x0090e98f in wxEvtHandler::ProcessEvent ()
#15 0x00a55902 in wxWindowBase::TryParent ()
#16 0x0090e93c in wxEvtHandler::ProcessEvent ()
#17 0x00a55902 in wxWindowBase::TryParent ()
#18 0x0090e93c in wxEvtHandler::ProcessEvent ()
#19 0x00a55902 in wxWindowBase::TryParent ()
#20 0x0090e93c in wxEvtHandler::ProcessEvent ()
#21 0x00a91be0 in wxGenericTreeCtrl::Collapse ()
#22 0x00a88411 in wxGenericTreeCtrl::CollapseAndReset ()
#23 0x0c5423df in ClassBrowserBuilderThread::CollapseItem ()
#24 0x0c53d953 in ClassBrowser::OnTreeItemCollapsing ()
#25 0x0090e0c3 in wxEvtHandler::ProcessEventIfMatches ()
#26 0x0090e23f in wxEventHashTable::HandleEvent ()
#27 0x0090e98f in wxEvtHandler::ProcessEvent ()
#28 0x00a55902 in wxWindowBase::TryParent ()
#29 0x0090e93c in wxEvtHandler::ProcessEvent ()
#30 0x00a55902 in wxWindowBase::TryParent ()
#31 0x0090e93c in wxEvtHandler::ProcessEvent ()
#32 0x00a55902 in wxWindowBase::TryParent ()
#33 0x0090e93c in wxEvtHandler::ProcessEvent ()
#34 0x00a91be0 in wxGenericTreeCtrl::Collapse ()
#35 0x00a88411 in wxGenericTreeCtrl::CollapseAndReset ()
#36 0x0c5423df in ClassBrowserBuilderThread::CollapseItem ()
#37 0x0c53d953 in ClassBrowser::OnTreeItemCollapsing ()
#38 0x0090e0c3 in wxEvtHandler::ProcessEventIfMatches ()
#39 0x0090e23f in wxEventHashTable::HandleEvent ()
#40 0x0090e98f in wxEvtHandler::ProcessEvent ()
#41 0x00a55902 in wxWindowBase::TryParent ()
#42 0x0090e93c in wxEvtHandler::ProcessEvent ()
#43 0x00a55902 in wxWindowBase::TryParent ()
#44 0x0090e93c in wxEvtHandler::ProcessEvent ()
#45 0x00a55902 in wxWindowBase::TryParent ()
#46 0x0090e93c in wxEvtHandler::ProcessEvent ()
#47 0x00a91be0 in wxGenericTreeCtrl::Collapse ()
#48 0x00a88411 in wxGenericTreeCtrl::CollapseAndReset ()
...
#9226 0x00a88411 in wxGenericTreeCtrl::CollapseAndReset ()
#9227 0x0c5423df in ClassBrowserBuilderThread::CollapseItem ()
#9228 0x0c53d953 in ClassBrowser::OnTreeItemCollapsing ()
#9229 0x0090e0c3 in wxEvtHandler::ProcessEventIfMatches ()
#9230 0x0090e23f in wxEventHashTable::HandleEvent ()
#9231 0x0090e98f in wxEvtHandler::ProcessEvent ()
#9232 0x00a55902 in wxWindowBase::TryParent ()
#9233 0x0090e93c in wxEvtHandler::ProcessEvent ()
#9234 0x00a55902 in wxWindowBase::TryParent ()
#9235 0x0090e93c in wxEvtHandler::ProcessEvent ()
#9236 0x00a55902 in wxWindowBase::TryParent ()
#9237 0x0090e93c in wxEvtHandler::ProcessEvent ()
#9238 0x00a91be0 in wxGenericTreeCtrl::Collapse ()
#9239 0x00a88411 in wxGenericTreeCtrl::CollapseAndReset ()
#9240 0x0c5423df in ClassBrowserBuilderThread::CollapseItem ()
#9241 0x0c53d953 in ClassBrowser::OnTreeItemCollapsing ()
#9242 0x0090e0c3 in wxEvtHandler::ProcessEventIfMatches ()
#9243 0x0090e23f in wxEventHashTable::HandleEvent ()
#9244 0x0090e98f in wxEvtHandler::ProcessEvent ()
#9245 0x00a55902 in wxWindowBase::TryParent ()
#9246 0x0090e93c in wxEvtHandler::ProcessEvent ()
#9247 0x00a55902 in wxWindowBase::TryParent ()
#9248 0x0090e93c in wxEvtHandler::ProcessEvent ()
#9249 0x00a55902 in wxWindowBase::TryParent ()
#9250 0x0090e93c in wxEvtHandler::ProcessEvent ()
#9251 0x00a91be0 in wxGenericTreeCtrl::Collapse ()
#9252 0x00a88411 in wxGenericTreeCtrl::CollapseAndReset ()
#9253 0x0c5423df in ClassBrowserBuilderThread::CollapseItem ()
#9254 0x0c5454d7 in ClassBrowserBuilderThread::BuildTree ()
#9255 0x0c545795 in ClassBrowserBuilderThread::Entry ()
#9256 0x0090614d in wxThreadInternal::MacThreadStart ()
#9257 0x9201ba7b in PrivateMPEntryPoint ()
#9258 0x9849b557 in _pthread_start ()
#9259 0x98485cee in thread_start ()
Who is creating the binary CodeBlocks release builds? Is someone maintaining CodeBlocks on Mac OSX?
Can you try to compile CC for C::B with the additional #define CC_NO_COLLAPSE_ITEM ?
Make sure you re-build at least this plugin. Then I guess it might work for you. Please report back, if that's the case.
Alternatively (if you want to play more), search for this snippet in classbrowserbuilderthread.cpp:
#ifndef __WXGTK__
m_CCTreeCtrlTop->CollapseAndReset(item); // this freezes gtk
#else
m_CCTreeCtrlTop->DeleteChildren(item);
#endif
...and replace it with:
#if !defined(__WXGTK__) && !defined(__WXMAC__)
m_CCTreeCtrlTop->CollapseAndReset(item); // this freezes gtk
#else
m_CCTreeCtrlTop->DeleteChildren(item);
#endif
Report back again...
I just tried to compiled CodeBlocks and its CodeCompletion plugin, but both failed either using autotools or CodeBlocks.cbp.
I rather not install wxWidgets system-wide, and it seems that is required to compile CodeBlocks. It would be nice if there is a source distribution that simply embeds all external dependencies using the right version (such as wxWidgets).
./configure
configure: error:
wxWidgets must be installed on your system.
Trying to compile CodeBlocks using the src/CodeBlocks.cbp project gives another error:
-------------- Build: Code-completion in Code::Blocks wx2.8.x (compiler: GNU GCC Compiler)---------------
g++ -Wall (invalid) -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE -DBUILDING_PLUGIN -iquote.objs/include -I.objs/include -I. -I"(invalid)/include" -I"(invalid)/contrib/include" -I"(invalid)/lib/gcc_dll/mswu" -Isdk/wxscintilla/include -Isdk/wxpropgrid/include -Iinclude/tinyxml -Iinclude -Iinclude/mozilla_chardet -c /Users/erwincoumans/Downloads/codeblocks-12.11release8629/src/plugins/codecompletion/ccoptionsdlg.cpp -o .objs/plugins/codecompletion/ccoptionsdlg.o
/bin/sh: -c: line 0: syntax error near unexpected token `('
Even if I manage to compile CodeBlocks (which I cannot, because I don't want to install wxWidgets system-wide),
I will not know where to define CC_NO_COLLAPSE_ITEM.
My previous questions it not answered: who created the binary Mac OSX build for the CodeBlocks release?
It seems the Mac OSX release with CodeCompletion is entirely untested, which I find surprising with such nice IDE.
I just tried to compile wxWidgets and it fails, using the most up-to-date OS and Xcode version:
Erwins-MacBook-Pro:wxWidgets-2.8.12 erwincoumans$ make
/Users/erwincoumans/Downloads/wxWidgets-2.8.12/bk-deps g++ -c -o basedll_dynlib.o -I./.pch/wxprec_basedll -D__WXMAC__ -DWXBUILDING -I./src/tiff -I./src/jpeg -I./src/png -DwxUSE_GUI=0 -DWXMAKINGDLL_BASE -DwxUSE_BASE=1 -dynamic -fPIC -DPIC -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -I/Users/erwincoumans/Downloads/wxWidgets-2.8.12/lib/wx/include/mac-ansi-release-2.8 -I./include -fpascal-strings -I./src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon -DWX_PRECOMP -Wall -Wundef -Wno-ctor-dtor-privacy -O2 -fno-strict-aliasing -fno-common ./src/common/dynlib.cpp
In file included from ./include/wx/mac/private.h:4,
from ./src/common/dynlib.cpp:48:
./include/wx/mac/carbon/private.h:1459: error: ‘Cursor’ does not name a type
./include/wx/mac/carbon/private.h:1488: error: ‘ClassicCursor’ does not name a type
make: *** [basedll_dynlib.o] Error 1
According to this thread (https://github.com/mxcl/homebrew/issues/6672) there are issues with wxWidgets 2.8.x and wxWidgets 2.9.x should be used.
To encourage contributors to help fixing CodeBlocks, please provide a self-contained source tarball that simply builds out-of-the-box.