With svn10343 when closing C::B, it aborts. I debugged it and got the following:
19:51:46: Debug: 3 threads were not terminated by the application.
Program received signal SIGSEGV, Segmentation fault.
0x0000000000000030 in ?? ()
(gdb) list
308 #endif // wxCHECK_VERSION
309 };
310 #if wxCHECK_VERSION(3,0,0)
311 void cbMessageOutputNull::Output(cb_unused const wxString &str){}
312 #else
313 void cbMessageOutputNull::Printf(cb_unused const wxChar* format, ...){}
314 #endif
315 } // namespace
316
317 IMPLEMENT_APP(CodeBlocksApp) // TODO: This gives a "redundant declaration" warning, though I think it's false. Dig through macro and check.
(gdb) bt
#0 0x0000000000000030 in ?? ()
#1 0x00007ffff5d1378b in ~wxEventTableEntryBase (
this=0x7ffff5fc3d40 <wxTreeListCtrl::sm_eventTableEntries>,
__in_chrg=<optimized out>) at ../include/wx/event.h:3177
#2 ~wxEventTableEntry (
this=0x7ffff5fc3d40 <wxTreeListCtrl::sm_eventTableEntries>,
__in_chrg=<optimized out>) at ../include/wx/event.h:3196
#3 __tcf_0 () at ../src/generic/treelist.cpp:987
#4 0x00007ffff153bf4f in __cxa_finalize (d=0x7ffff5fc1030)
at cxa_finalize.c:56
#5 0x00007ffff5c79073 in __do_global_dtors_aux ()
from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_adv-3.0.so.0
#6 0x00007fffffffe090 in ?? ()
#7 0x00007ffff7deb00a in _dl_fini () at dl-fini.c:252
Backtrace stopped: frame did not save the PC
(gdb) c
Continuing.
Program received signal SIGABRT, Aborted.
0x00007ffff1539107 in __GI_raise (sig=sig@entry=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007ffff1539107 in __GI_raise (sig=sig@entry=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007ffff153a4e8 in __GI_abort () at abort.c:89
#2 0x00007ffff4b6d6e1 in wxFatalSignalHandler ()
at ../src/unix/utilsunx.cpp:1397
#3 <signal handler called>
#4 0x0000000000000030 in ?? ()
#5 0x00007ffff5d1378b in ~wxEventTableEntryBase (
this=0x7ffff5fc3d40 <wxTreeListCtrl::sm_eventTableEntries>,
__in_chrg=<optimized out>) at ../include/wx/event.h:3177
#6 ~wxEventTableEntry (
this=0x7ffff5fc3d40 <wxTreeListCtrl::sm_eventTableEntries>,
__in_chrg=<optimized out>) at ../include/wx/event.h:3196
#7 __tcf_0 () at ../src/generic/treelist.cpp:987
#8 0x00007ffff153bf4f in __cxa_finalize (d=0x7ffff5fc1030)
at cxa_finalize.c:56
#9 0x00007ffff5c79073 in __do_global_dtors_aux ()
from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_adv-3.0.so.0
#10 0x00007fffffffe090 in ?? ()
#11 0x00007ffff7deb00a in _dl_fini () at dl-fini.c:252
Backtrace stopped: frame did not save the PC
(gdb)
Any advice?
Cheers
No, the one that comes with GNU / Debian testing 64-bit
libwxbase3.0-0:amd64
libwxbase3.0-0-dbg:amd64
libwxbase3.0-dev
libwxgtk-media3.0-0:amd64
libwxgtk-media3.0-0-dbg:amd64
libwxgtk-media3.0-dev
libwxgtk-webview3.0-0:amd64
libwxgtk-webview3.0-0-dbg:amd64
libwxgtk-webview3.0-dev
libwxgtk3.0-0:amd64
libwxgtk3.0-0-dbg:amd64
libwxgtk3.0-dev
wx-common
wx3.0-examples
wx3.0-headers
Did you check the weird things that can cause crashing on shutdown.
1. Not having write access to the config files
2. Having an corrupted config files
The above is the only two things I can think of right now.
Tim S.
Yes, I have noticed this behavior, but when I attempted to remove wx-common, it informed me that the following packages will be removed and I cancelled the procedure.
libwxgtk-media3.0-dev
libwxgtk-webview3.0-dev
libwxgtk3.0-dev
wx-common
You see the name of the uninstalled package mentioned again? I don't know why this behavior exists.
Could it be the /usr/bin/wxrc line that exists in wx-common package that causes the strange behavior with config issues?
This wx3.0 thing is really breaking things badly. I have removed Code::Blocks packages I built myself and installed the official packages, 13.12.
It crashed again upon exit:
<stack>
<frame level="0" function="CodeBlocksApp::OnFatalException()" offset="00000000" file="/build/codeblocks-Uk3WYC/codeblocks-13.12/src/src/app.cpp" line="845"/>
<frame level="1"/>
<frame level="2"/>
<frame level="3" function="NativeParser::DeleteParser(cbProject*)" offset="0000003e"/>
<frame level="4" function="NativeParser::ClearParsers()" offset="00000031"/>
<frame level="5" function="CodeCompletion::OnRelease(bool)" offset="00000043"/>
<frame level="6" function="cbPlugin::Release(bool)" offset="00000074"/>
<frame level="7" function="PluginManager::DetachPlugin(cbPlugin*)" offset="00000039"/>
<frame level="8" function="PluginManager::UnloadPlugin(cbPlugin*)" offset="00000022"/>
<frame level="9" function="PluginManager::UnloadAllPlugins()" offset="0000002e"/>
<frame level="10" function="PluginManager::~PluginManager()" offset="0000003a"/>
<frame level="11" function="PluginManager::~PluginManager()" offset="00000009"/>
<frame level="12" function="Manager::Shutdown()" offset="00000076"/>
<frame level="13" function="MainFrame::OnApplicationClose(wxCloseEvent&)" offset="00000000" file="/build/codeblocks-Uk3WYC/codeblocks-13.12/src/src/main.cpp" line="2755"/>
<frame level="14" function="wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const" offset="0000003e"/>
<frame level="15" function="wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)" offset="00000058"/>
<frame level="16" function="wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)" offset="0000008b"/>
<frame level="17" function="wxEvtHandler::TryHereOnly(wxEvent&)" offset="00000058"/>
<frame level="18" function="wxEvtHandler::DoTryChain(wxEvent&)" offset="00000043"/>
<frame level="19" function="wxEvtHandler::ProcessEvent(wxEvent&)" offset="00000045"/>
<frame level="20" function="wxEvtHandler::SafelyProcessEvent(wxEvent&)" offset="00000007"/>
<frame level="21" function="wxWindowBase::Close(bool)" offset="00000067"/>
<frame level="22" function="wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const" offset="0000003e"/>
<frame level="23" function="wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)" offset="00000058"/>
<frame level="24" function="wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)" offset="0000008b"/>
<frame level="25" function="wxEvtHandler::TryHereOnly(wxEvent&)" offset="00000058"/>
<frame level="26" function="wxEvtHandler::DoTryChain(wxEvent&)" offset="00000043"/>
<frame level="27" function="wxEvtHandler::ProcessEvent(wxEvent&)" offset="00000045"/>
<frame level="28" function="wxWindowBase::TryAfter(wxEvent&)" offset="00000068"/>
<frame level="29" function="wxEvtHandler::SafelyProcessEvent(wxEvent&)" offset="00000007"/>
<frame level="30" function="wxMenuBase::SendEvent(int, int)" offset="000000a1"/>
<frame level="31"/>
<frame level="32" function="g_closure_invoke" offset="00000145"/>
<frame level="33"/>
<frame level="34" function="g_signal_emit_valist" offset="00000fd8"/>
<frame level="35" function="g_signal_emit" offset="0000008f"/>
<frame level="36" function="gtk_widget_activate" offset="00000076"/>
<frame level="37" function="gtk_menu_shell_activate_item" offset="000000fd"/>
<frame level="38"/>
<frame level="39"/>
<frame level="40" function="g_closure_invoke" offset="00000145"/>
<frame level="41"/>
<frame level="42" function="g_signal_emit_valist" offset="00000ae5"/>
<frame level="43" function="g_signal_emit" offset="0000008f"/>
<frame level="44"/>
<frame level="45" function="gtk_propagate_event" offset="000000c4"/>
<frame level="46" function="gtk_main_do_event" offset="000003ab"/>
<frame level="47"/>
<frame level="48" function="g_main_context_dispatch" offset="0000024d"/>
<frame level="49"/>
<frame level="50" function="g_main_loop_run" offset="000000c2"/>
<frame level="51" function="gtk_main" offset="000000b7"/>
<frame level="52" function="wxGUIEventLoop::DoRun()" offset="00000025"/>
<frame level="53" function="wxEventLoopBase::Run()" offset="000000a0"/>
<frame level="54" function="wxAppConsoleBase::MainLoop()" offset="00000056"/>
<frame level="55" function="CodeBlocksApp::OnRun()" offset="00000000" file="/build/codeblocks-Uk3WYC/codeblocks-13.12/src/src/app.cpp" line="811"/>
<frame level="56" function="wxEntry(int&, wchar_t**)" offset="00000070"/>
<frame level="57" function="main" offset="00000000" file="/build/codeblocks-Uk3WYC/codeblocks-13.12/src/src/app.cpp" line="276"/>
<frame level="58" function="__libc_start_main" offset="000000f5"/>
<frame level="59"/>
</stack>
So you can try my repo with Code::Blocks nightlies for debian, build against wxWidgets 3.02 from the official repo.
Is everything alright jens? I can't fetch updates for some reason...
W: Failed to fetch https://apt.jenslody.de/testing/dists/stretch/Release Unable to find expected entry 'main/source/Sources' in Release file (Wrong sources.list entry or malformed file)
E: Some index files failed to download. They have been ignored, or old ones used instead.
D /trunk/src/wxsmith/GenericSingleChoiceList.wxs
r10270 | jenslody | 2015-05-15 06:57:08 -0400 (Fri, 15 May 2015) | 1 line
Changed paths:
M /trunk/src/plugins/scriptedwizard/buildtargetpanel.cpp
M /trunk/src/plugins/scriptedwizard/buildtargetpanel.h
M /trunk/src/plugins/scriptedwizard/compilerpanel.cpp
M /trunk/src/plugins/scriptedwizard/compilerpanel.h
M /trunk/src/plugins/scriptedwizard/filepathpanel.cpp
M /trunk/src/plugins/scriptedwizard/filepathpanel.h
M /trunk/src/plugins/scriptedwizard/genericselectpath.cpp
M /trunk/src/plugins/scriptedwizard/genericselectpath.h
M /trunk/src/plugins/scriptedwizard/genericsinglechoicelist.cpp
M /trunk/src/plugins/scriptedwizard/genericsinglechoicelist.h
M /trunk/src/plugins/scriptedwizard/infopanel.cpp
M /trunk/src/plugins/scriptedwizard/infopanel.h
M /trunk/src/plugins/scriptedwizard/projectpathpanel.cpp
M /trunk/src/plugins/scriptedwizard/projectpathpanel.h
M /trunk/src/plugins/scriptedwizard/resources/avr/wizard.xrc
M /trunk/src/plugins/scriptedwizard/resources/lf/wizard.xrc
M /trunk/src/plugins/scriptedwizard/resources/matlab_csf/wizard.xrc
M /trunk/src/plugins/scriptedwizard/resources/mcs51/wizard.xrc
M /trunk/src/plugins/scriptedwizard/resources/plugins/wizard.xrc
M /trunk/src/plugins/scriptedwizard/resources/tricore/wizard.xrc
M /trunk/src/plugins/scriptedwizard/resources/wxwidgets/wizard.xrc
M /trunk/src/wxsmith/BuildTargetPanel.wxs
M /trunk/src/wxsmith/CompilerPanel.wxs
M /trunk/src/wxsmith/FilePathPanel.wxs
M /trunk/src/wxsmith/GenericSelectPath.wxs
D /trunk/src/wxsmith/GenericSingleChoiceList.wxs
M /trunk/src/wxsmith/InfoPanel.wxs
M /trunk/src/wxsmith/ProjectPathPanel.wxs
My guess it was deleted in error and needs restored and likely edited.
Edit2: How I found out when it was deleted; learned something new about SVN
stahta01@TIMWIN7-32 /c/SourceCode/OpenSourceCode/Apps/IDE/Codeblocks/codeblocks-svn/src/wxsmith
$ svn log -v > log.txt
Tim S.
OK, from where to start...
I have attempted to search "m_ptr" term with ThreadSearch toolbar and got a rather awkward message about a /home/stefanos/SVN_REPOSITORIES/CodeBlocks/src/wxsmith/GenericSingleChoiceList.wxs does not exist whatever that behavior means.. yeah I know it's a wxSmith file.
No, it's not missing from my fork; it does not exist on SVN repository either: http://svn.code.sf.net/p/codeblocks/code/trunk/src/wxsmith/ (http://svn.code.sf.net/p/codeblocks/code/trunk/src/wxsmith/)
it is nested in a wxApp Class and i think the main is behind this macro in app.c
IMPLEMENT_APP(CodeBlocksApp) // TODO: This gives a "redundant declaration" warning, though I think it's false. Dig through macro and check.
Hello,
at least since 10341 and also with the latest 10356 I get the following assertion when I mark a variable and try to use following item of the context menu (right mouse click): Find occurences of: 'name':
ASSERT INFO:
../src/generic/listctrl.cpp(4091): assert "index >= 0 && (size_t)index < GetItemCount()" failed in EnsureVisible(): invalid index in EnsureVisible
BACKTRACE:
[1] wxGenericListCtrl::EnsureVisible(long)
[2] ThreadSearchLoggerList::OnThreadSearchEvent(ThreadSearchEvent const&)
[3] ThreadSearchView::OnTmrListCtrlUpdate(wxTimerEvent&)
[4] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const
[5] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[6] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[7] wxEvtHandler::TryHereOnly(wxEvent&)
[8] wxEvtHandler::ProcessEventLocally(wxEvent&)
[9] wxEvtHandler::ProcessEvent(wxEvent&)
[10] wxEvtHandler::SafelyProcessEvent(wxEvent&)
[11] wxTimerImpl::SendEvent()
[12] g_main_context_dispatch
[13] g_main_loop_run
[14] gtk_main
[15] wxGUIEventLoop::DoRun()
[16] wxEventLoopBase::Run()
[17] wxAppConsoleBase::MainLoop()
[18] CodeBlocksApp::OnRun() /home/msk/test/codeblocks/trunk/src/src/app.cpp:850
[19] wxEntry(int&, wchar_t**)
[20] main /home/msk/test/codeblocks/trunk/src/src/app.cpp:317
[21] __libc_start_main
[22] _start /home/abuild/rpmbuild/BUILD/glibc-2.19/csu/../sysdeps/x86_64/start.S:125
I used the latest trunk with wxWidgets 3.0.2 (compiled by my own) on my OpenSuse 13.2.
I haven't used codeblocks (nor c++) for a long time, but recently installed the nightly (via jens lody) on a debian 8, and i am getting crashes all over the place..
the dev-cpp project importer is bugged and will make paths like "..\..\foo.cpp" even on linux where ..\ is invalid and should be ../../ ~
every time i try to delete a Build Target, i get an (seemingly) unlimited loop of assertion errors like this: (http://i.imgur.com/ow8HCey.png)
and it always seem to segfault after 2-10 minutes of use.. :(
ASSERT INFO:
./projectfile.h(234): assert "iIndex != (-1)" failed in Remove(): removing inexistent element in wxArray::Remove
BACKTRACE:
[1] ProjectFile::RemoveBuildTarget(wxString const&)
[2] cbProject::RemoveBuildTarget(int)
[3] std::vector<ProjectFile*, std::allocator<ProjectFile*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<ProjectFile**, std::vector<ProjectFile*, std::allocator<ProjectFile*> > >, ProjectFile* const&)
[4] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const
[5] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[6] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[7] wxEvtHandler::TryHereOnly(wxEvent&)
[8] wxEvtHandler::ProcessEventLocally(wxEvent&)
[9] wxEvtHandler::ProcessEvent(wxEvent&)
[10] wxWindowBase::TryAfter(wxEvent&)
[11] wxWindowBase::TryAfter(wxEvent&)
[12] wxWindowBase::TryAfter(wxEvent&)
[13] wxWindowBase::TryAfter(wxEvent&)
[14] wxEvtHandler::SafelyProcessEvent(wxEvent&)
[15] g_signal_emit_valist
[16] g_signal_emit
[17] g_signal_emit_valist
[18] g_signal_emit
[19] g_closure_invoke
[20] g_signal_emit_valist
[21] g_signal_emit
[22] gtk_propagate_event
[23] gtk_main_do_event
[24] g_main_context_dispatch
[25] g_main_loop_run
[26] gtk_main
[27] wxGUIEventLoop::DoRun()
[28] wxEventLoopBase::Run()
[29] wxDialog::ShowModal()
[30] wxDC::~wxDC()
[31] wxDC::~wxDC()
[32] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const
[33] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[34] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[35] wxEvtHandler::TryHereOnly(wxEvent&)
[36] wxEvtHandler::DoTryChain(wxEvent&)
[37] wxEvtHandler::ProcessEvent(wxEvent&)
[38] wxWindowBase::TryAfter(wxEvent&)
[39] wxEvtHandler::SafelyProcessEvent(wxEvent&)
[40] wxMenuBase::SendEvent(int, int)
[41] g_closure_invoke
[42] g_signal_emit_valist
[43] g_signal_emit
[44] gtk_widget_activate
[45] gtk_menu_shell_activate_item
[46] g_closure_invoke
[47] g_signal_emit_valist
[48] g_signal_emit
[49] gtk_propagate_event
[50] gtk_main_do_event
[51] g_main_context_dispatch
[52] g_main_loop_run
[53] gtk_main
[54] wxGUIEventLoop::DoRun()
[55] wxEventLoopBase::Run()
[56] wxAppConsoleBase::MainLoop()
[57] wxEntry(int&, wchar_t**)
[58] __libc_start_main
i can confirm this...
i noticed it a few revisions before but thought it is a feature for small screens ;)
Thanks, I think this patch should fix this issue:
src/sdk/resources/new_from_template.xrc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/sdk/resources/new_from_template.xrc b/src/sdk/resources/new_from_template.xrc
index 3b524f6..b46123f 100644
--- a/src/sdk/resources/new_from_template.xrc
+++ b/src/sdk/resources/new_from_template.xrc
@@ -3,6 +3,7 @@
<object class="wxScrollingDialog" name="dlgNewFromTemplate">
<title>New from template</title>
<centered>1</centered>
+ <style>wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</style>
<object class="wxFlexGridSizer">
<cols>2</cols>
<rows>2</rows>
@@ -196,14 +197,14 @@
<object class="wxStaticText" name="ID_STATICTEXT6">
<label>* To delete a user template, delete the similarly named folder created
 in %APPDATA%\\codeblocks\\UserTemplates (for Windows) or
 ~/Library/Application Support/CodeBlocks (for Mac OS X) or
 ~/.config/codeblocks (for other platforms).</label>
</object>
- <flag></flag>
+ <flag>wxALIGN_NOT</flag>
</object>
<object class="sizeritem">
<object class="wxStaticText" name="ID_STATICTEXT7">
<label> Please note the dot (.) in front of "codeblocks"!</label>
<fg>#800000</fg>
</object>
- <flag></flag>
+ <flag>wxALIGN_NOT</flag>
</object>
</object>
</object>
I don't know whether we need the second hunk of this patch, because wxsmith automatically add them. :(
I think it is the change in rev10260 which cause the regression.
i have applied the patch and now it works, but i get the error message:
Unknows Style Flag wxALIGN_NOT
i only have applied the patch (not on trunk but on r10356 )
i get also the following error:
resource file must have same version number!
on startup and following error if i create a new project:
Unknows Style Flag wxALIGN_NOT
without "--verbose" i get no errors
greetings
i have applied the patch and now it works, but i get the error message:
Unknows Style Flag wxALIGN_NOT
Did you apply the patch or did you use wxSmith ?
I get the same afte adding the resize-border-flag with wxSmith, the funny thing is wxALIGN_NOT is defined in defs.h of wxWidgets.
I try to investigate further.
Do you get the message always or only if you run C::B with -v parameter ?
Edit: This is a wild guess based on seeing something like this error long ago when doing PCH fixes.
Try editing newfromtemplatedlg.cpp by adding "#include <wx/defs.h>"
Before
#include "sdk_precomp.h"
#ifndef CB_PRECOMP
#include <wx/button.h>
after
#include "sdk_precomp.h"
#ifndef CB_PRECOMP
#include <wx/defs.h>
#include <wx/button.h>
I think I have found the reason, I see in the old revision, there is a minimal size of the first item of the wxFlexGridSizer.
<minsize>480,320</minsize>
And in the commit rev10260, it was removed.
BTW: I'm not sure why in the newer revision as the image in Re: The 19 June 2015 build (10341) is out. (http://forums.codeblocks.org/index.php/topic,20363.msg139246.html#msg139246), the text "Large icons"(bottom right of the dialog) is not shown correctly.