your changes work, thanks
I still wonder why you chose a different file to store that function then before... maybe because you couldn't locate the original file as I couldn't xD
[...]
See how easy it is when you provide enough information.
Now if you provide exact steps to reproduce the project open/close crashes, then probably someone could try to fix them.
well... I can't...
(and I'm to lazy to fill reports... and yep I know it's bad )The open crash is rare.. didn't happen that much... the real close crash is kind of rare as well.. most of the time it just hangs... and that's the main problem and I've said already as much as I can about it.
To reproduce the hang bug: close codeblocks, open codeblocks and as soon as it's open, close a project
(closing the workspace might work or not.. the crash that happened on close was related to workspace close IIRC)For this to work you'll need a slow PC (probably and very likely at least 2 CPU cores), probably not more then 2GB RAM, and main part: slow HD
It's simply the code-completion or any other thread that parses the project that's closed or something like that...
Anyway... I have no Idea why this crashed except for an already freed project, but here's a crash report:
Error occured on Sunday, September 1, 2013 at 01:24:01.
E:\zZ-Progra\CodeBlocks\codeblocks.exe caused an Access Violation at location 004e3e54 in module E:\zZ-Progra\CodeBlocks\codeblocks.exe Reading from location 0000001c.
Registers:
eax=00000000 ebx=61a2e0ac ecx=00000000 edx=00000030 esi=0022dac4 edi=00000000
eip=004e3e54 esp=0022da18 ebp=0022da1c iopl=0 nv up ei pl nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010206
Call stack:
004E3E54 E:\zZ-Progra\CodeBlocks\codeblocks.exe:004E3E54 FileTreeData::GetKind E:/zZ-Progra/CodeBlocks-SVN/src/include/cbproject.h:58
0048E62A E:\zZ-Progra\CodeBlocks\codeblocks.exe:0048E62A ProjectManagerUI::OnCloseProject E:/zZ-Progra/CodeBlocks-SVN/src/src/projectmanagerui.cpp:1490
01191551 E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:01191551 _ZNK12wxAppConsole11HandleEventEP12wxEvtHandlerMS0_FvR7wxEventES3_
01216C4E E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:01216C4E _ZN12wxEvtHandler21ProcessEventIfMatchesERK21wxEventTableEntryBasePS_R7wxEvent
01216D1A E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:01216D1A _ZN16wxEventHashTable11HandleEventER7wxEventP12wxEvtHandler
01217175 E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:01217175 _ZN12wxEvtHandler12ProcessEventER7wxEvent
01217109 E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:01217109 _ZN12wxEvtHandler12ProcessEventER7wxEvent
[...] ^ x 46
01327092 E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:01327092 _ZN12wxWindowBase9TryParentER7wxEvent
01217109 E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:01217109 _ZN12wxEvtHandler12ProcessEventER7wxEvent
01327092 E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:01327092 _ZN12wxWindowBase9TryParentER7wxEvent
01301271 E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:01301271 _ZN10wxMenuBase9SendEventEii
0128D73C E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:0128D73C _ZN6wxMenu10MSWCommandEjt
012609F0 E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:012609F0 _ZN8wxWindow13HandleCommandEttPv
0126431C E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:0126431C _ZN8wxWindow13MSWWindowProcEjjl
012B2747 E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:012B2747 _ZN10wxTreeCtrl13MSWWindowProcEjjl
0125DC8E E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:0125DC8E _Z9wxWndProcP6HWND__jjl@16
771A86EF C:\Windows\system32\USER32.dll:771A86EF IsThreadDesktopComposited
771A8876 C:\Windows\system32\USER32.dll:771A8876 IsThreadDesktopComposited
771A89B5 C:\Windows\system32\USER32.dll:771A89B5 IsThreadDesktopComposited
771A8E9C C:\Windows\system32\USER32.dll:771A8E9C DispatchMessageW
01262B67 E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:01262B67 _ZN8wxWindow11DoPopupMenuEP6wxMenuii
004D1356 E:\zZ-Progra\CodeBlocks\codeblocks.exe:004D1356 wxWindowBase::PopupMenu E:/zZ-Progra/wxWidgets-2.8x/include/wx/window.h:924
004888BF E:\zZ-Progra\CodeBlocks\codeblocks.exe:004888BF ProjectManagerUI::ShowMenu E:/zZ-Progra/CodeBlocks-SVN/src/src/projectmanagerui.cpp:725
0048B8B1 E:\zZ-Progra\CodeBlocks\codeblocks.exe:0048B8B1 ProjectManagerUI::OnTreeItemRightClick E:/zZ-Progra/CodeBlocks-SVN/src/src/projectmanagerui.cpp:1076
01191551 E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:01191551 _ZNK12wxAppConsole11HandleEventEP12wxEvtHandlerMS0_FvR7wxEventES3_
01216C4E E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:01216C4E _ZN12wxEvtHandler21ProcessEventIfMatchesERK21wxEventTableEntryBasePS_R7wxEvent
01216D1A E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:01216D1A _ZN16wxEventHashTable11HandleEventER7wxEventP12wxEvtHandler
01217175 E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:01217175 _ZN12wxEvtHandler12ProcessEventER7wxEvent
01217109 E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:01217109 _ZN12wxEvtHandler12ProcessEventER7wxEvent
[...] ^ x 46
01327092 E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:01327092 _ZN12wxWindowBase9TryParentER7wxEvent
01217109 E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:01217109 _ZN12wxEvtHandler12ProcessEventER7wxEvent
01327092 E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:01327092 _ZN12wxWindowBase9TryParentER7wxEvent
012B15FD E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:012B15FD _ZN10wxTreeCtrl11MSWOnNotifyEilPl
012653DC E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:012653DC _ZN8wxWindow13MSWWindowProcEjjl
0125DC8E E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:0125DC8E _Z9wxWndProcP6HWND__jjl@16
771A86EF C:\Windows\system32\USER32.dll:771A86EF IsThreadDesktopComposited
771A8876 C:\Windows\system32\USER32.dll:771A8876 IsThreadDesktopComposited
771A7631 C:\Windows\system32\USER32.dll:771A7631 IsRectEmpty
771A7695 C:\Windows\system32\USER32.dll:771A7695 SendMessageW
012B3307 E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:012B3307 _ZN10wxTreeCtrl13MSWWindowProcEjjl
0125DC8E E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:0125DC8E _Z9wxWndProcP6HWND__jjl@16
771A86EF C:\Windows\system32\USER32.dll:771A86EF IsThreadDesktopComposited
771A8876 C:\Windows\system32\USER32.dll:771A8876 IsThreadDesktopComposited
771A89B5 C:\Windows\system32\USER32.dll:771A89B5 IsThreadDesktopComposited
771A8E9C C:\Windows\system32\USER32.dll:771A8E9C DispatchMessageW
01242780 E:\zZ-Progra\CodeBlocks\wxmsw28u_gcc_cb.dll:01242780 _ZN11wxEventLoop8DispatchEv
btw.. a feature to have the last revision within that crash log would rock
maybe always write it to that file and overwrite it on next start if the last 4 bytes are the same as the revision or other kind of "magic bytes" Or just change exchndl directly.. you've got the code already, even though you never build it by default
@edit: I've put in the complete crashlog/stack-trace now... as it might be better
"[...] ^" means exactly the above x times