Author Topic: segfault in todo plugin  (Read 5734 times)

grv575

  • Guest
segfault in todo plugin
« on: September 23, 2005, 11:19:29 pm »
Crash on latest CVS with wxWidgets 2.6.2 ansi windows.  I get a messagebox error Project X doesn't exist (which is normal) and then a segfault.  Offending line is:

plugins\todo\todolistview.cpp:71
Code
void ToDoListView::LoadUsers()
{
wxString oldStr = m_pUser->GetStringSelection();

Either the user pointer is null (I have no users for some todo items) or there is no current selection in the todo listview i guess.

Code
C:\codeblocks\src\devel\codeblocks.exe caused an Access Violation at location 10061d40 in module C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll Reading from location 002dfffc.

Registers:
eax=00000001 ebx=01f6c450 ecx=01f6c5b8 edx=002e0004 esi=00000001 edi=00000000
eip=10061d40 esp=0022eff0 ebp=0022f068 iopl=0         nv up ei pl nz na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010202

Call stack:
10061D40  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:10061D40  _ZN12wxStringBase5eraseEjj
1012BD0F  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:1012BD0F  _ZN10wxComboBox13MSWWindowProcEjjl
1010AB20  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:1010AB20  _Z9wxWndProcP6HWND__jjl@16
77D48709  C:\WINDOWS\system32\USER32.dll:77D48709  GetDC
77D487EB  C:\WINDOWS\system32\USER32.dll:77D487EB  GetDC
77D4B368  C:\WINDOWS\system32\USER32.dll:77D4B368  DefWindowProcW
77D4B3B4  C:\WINDOWS\system32\USER32.dll:77D4B3B4  DefWindowProcW
7C90EAE3  C:\WINDOWS\system32\ntdll.dll:7C90EAE3  KiUserCallbackDispatcher
77D4E2F7  C:\WINDOWS\system32\USER32.dll:77D4E2F7  SendMessageA
10129D2D  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:10129D2D  _ZN8wxChoice12SetSelectionEi
10192D96  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:10192D96  _ZNK24wxItemContainerImmutable18GetStringSelectionEv
6A7C63E6  C:\codeblocks\src\devel\share\codeblocks\plugins\todo.dll:6A7C63E6  ToDoListView::LoadUsers()  C:/codeblocks/src/plugins/todo/todolistview.cpp:73
6A7C66B2  C:\codeblocks\src\devel\share\codeblocks\plugins\todo.dll:6A7C66B2  ToDoListView::FillList()  C:/codeblocks/src/plugins/todo/todolistview.cpp:97
6A7C6D0B  C:\codeblocks\src\devel\share\codeblocks\plugins\todo.dll:6A7C6D0B  ToDoListView::Parse()  C:/codeblocks/src/plugins/todo/todolistview.cpp:164
6A7C403D  C:\codeblocks\src\devel\share\codeblocks\plugins\todo.dll:6A7C403D  ToDoList::OnReparse(CodeBlocksEvent&)  C:/codeblocks/src/plugins/todo/todolist.cpp:278
100A8A58  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100A8A58  _ZN12wxEvtHandler21ProcessEventIfMatchesERK21wxEventTableEntryBasePS_R7wxEvent
100A8E1C  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100A8E1C  _ZN16wxEventHashTable11HandleEventER7wxEventP12wxEvtHandler
100A9DF9  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100A9DF9  _ZN12wxEvtHandler12ProcessEventER7wxEvent
100A9D99  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100A9D99  _ZN12wxEvtHandler12ProcessEventER7wxEvent
6054090C  C:\codeblocks\src\devel\codeblocks.dll:6054090C  PluginManager::NotifyPlugins(CodeBlocksEvent&)  C:/codeblocks/src/sdk/pluginmanager.cpp:411
604D0B11  C:\codeblocks\src\devel\codeblocks.dll:604D0B11  cbProject::NotifyPlugins(int)  C:/codeblocks/src/sdk/cbproject.cpp:97
604D080D  C:\codeblocks\src\devel\codeblocks.dll:604D080D  cbProject::~cbProject()  C:/codeblocks/src/sdk/cbproject.cpp:90
605537C8  C:\codeblocks\src\devel\codeblocks.dll:605537C8  ProjectManager::LoadProject(wxString const&)  C:/codeblocks/src/sdk/projectmanager.cpp:534
60573748  C:\codeblocks\src\devel\codeblocks.dll:60573748  WorkspaceLoader::Open(wxString const&)  C:/codeblocks/src/sdk/workspaceloader.cpp:96
604D955D  C:\codeblocks\src\devel\codeblocks.dll:604D955D  cbWorkspace::Load()  C:/codeblocks/src/sdk/cbworkspace.cpp:84
604D9139  C:\codeblocks\src\devel\codeblocks.dll:604D9139  cbWorkspace::cbWorkspace(wxString const&)  C:/codeblocks/src/sdk/cbworkspace.cpp:57
60554894  C:\codeblocks\src\devel\codeblocks.dll:60554894  ProjectManager::LoadWorkspace(wxString const&)  C:/codeblocks/src/sdk/projectmanager.cpp:846
004028EC  C:\codeblocks\src\devel\codeblocks.exe:004028EC  CodeBlocksApp::InitFrame()  C:/codeblocks/src/src/app.cpp:211
0040376D  C:\codeblocks\src\devel\codeblocks.exe:0040376D  CodeBlocksApp::OnInit()  C:/codeblocks/src/src/app.cpp:325
004401C4  C:\codeblocks\src\devel\codeblocks.exe:004401C4
10043509  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:10043509  _Z14wxUninitializev
100B1BFC  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100B1BFC  _Z7wxEntryP11HINSTANCE__S0_Pci
0040138A  C:\codeblocks\src\devel\codeblocks.exe:0040138A  WinMain  C:/codeblocks/src/src/app.cpp:297
0043D05A  C:\codeblocks\src\devel\codeblocks.exe:0043D05A
004011E7  C:\codeblocks\src\devel\codeblocks.exe:004011E7
00401238  C:\codeblocks\src\devel\codeblocks.exe:00401238
7C816D4F  C:\WINDOWS\system32\kernel32.dll:7C816D4F  RegisterWaitForInputIdle

grv575

  • Guest
Re: segfault in todo plugin
« Reply #1 on: September 23, 2005, 11:23:55 pm »
Note that this is latest CVS compiled against wx 2.6.2.  Using the 2.6.2 dll I get the crash, but if I just drop in the 2.6.1 dll (apparently it's still backwards compatible), then there's no crash.  So maybe one of the bugs they fixed with strings or so :\

grv575

  • Guest
Re: segfault in todo plugin
« Reply #2 on: September 23, 2005, 11:34:24 pm »
The above crash goes away if I turn off the autorefresh todo list setting.

So it loads with that off.
However, even with that setting off I get a crash on exit (closing CB), again in the todolist listview.  These backtraces are all against the 2.6.2 dll.

Code
C:\codeblocks\src\devel\codeblocks.exe caused an Access Violation at location 103f2411 in module C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll Reading from location 002dfff8.

Registers:
eax=1051c1d4 ebx=01f684d8 ecx=77c2c2e3 edx=002e0004 esi=10564430 edi=0022ecf4
eip=103f2411 esp=0022e714 ebp=0022e71c 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:
103F2411  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:103F2411  _ZN10wxComboBoxC2Ev
102068D6  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:102068D6  _ZN12wxWindowBase15DestroyChildrenEv
101079B2  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:101079B2  _ZN8wxWindowD2Ev
1022D867  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:1022D867  _ZN7wxPanelD2Ev
6052515C  C:\codeblocks\src\devel\codeblocks.dll:6052515C  MessageLog::~MessageLog()  C:/codeblocks/src/sdk/messagelog.cpp:39
6056A6A6  C:\codeblocks\src\devel\codeblocks.dll:6056A6A6  SimpleListLog::~SimpleListLog()  C:/codeblocks/src/sdk/simplelistlog.cpp:60
6A7C635E  C:\codeblocks\src\devel\share\codeblocks\plugins\todo.dll:6A7C635E  ToDoListView::~ToDoListView()  C:/codeblocks/src/plugins/todo/todolistview.cpp:69
102068D6  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:102068D6  _ZN12wxWindowBase15DestroyChildrenEv
101079B2  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:101079B2  _ZN8wxWindowD2Ev
101928F7  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:101928F7  _ZN13wxControlBaseD2Ev
1012DD14  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:1012DD14  _ZN9wxControlD2Ev
10188643  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:10188643  _ZN14wxBookCtrlBaseD2Ev
10156A70  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:10156A70  _ZN10wxNotebookD2Ev
605274C3  C:\codeblocks\src\devel\codeblocks.dll:605274C3  MessageManager::~MessageManager()  C:/codeblocks/src/sdk/messagemanager.cpp:128
605253A9  C:\codeblocks\src\devel\codeblocks.dll:605253A9  MessageManager::Free()  C:/codeblocks/src/sdk/messagemanager.cpp:71
60523732  C:\codeblocks\src\devel\codeblocks.dll:60523732  Manager::Free()  C:/codeblocks/src/sdk/manager.cpp:139
0041BCF7  C:\codeblocks\src\devel\codeblocks.exe:0041BCF7  MainFrame::OnApplicationClose(wxCloseEvent&)  C:/codeblocks/src/src/main.cpp:1372
100A8A58  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100A8A58  _ZN12wxEvtHandler21ProcessEventIfMatchesERK21wxEventTableEntryBasePS_R7wxEvent
100A8E1C  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100A8E1C  _ZN16wxEventHashTable11HandleEventER7wxEventP12wxEvtHandler
100A9DF9  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100A9DF9  _ZN12wxEvtHandler12ProcessEventER7wxEvent
100A9D99  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100A9D99  _ZN12wxEvtHandler12ProcessEventER7wxEvent
100A9D99  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100A9D99  _ZN12wxEvtHandler12ProcessEventER7wxEvent
100A9D99  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100A9D99  _ZN12wxEvtHandler12ProcessEventER7wxEvent
100A9D99  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100A9D99  _ZN12wxEvtHandler12ProcessEventER7wxEvent
100A9D99  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100A9D99  _ZN12wxEvtHandler12ProcessEventER7wxEvent
100A9D99  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100A9D99  _ZN12wxEvtHandler12ProcessEventER7wxEvent
100A9D99  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100A9D99  _ZN12wxEvtHandler12ProcessEventER7wxEvent
100A9D99  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100A9D99  _ZN12wxEvtHandler12ProcessEventER7wxEvent
100A9D99  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100A9D99  _ZN12wxEvtHandler12ProcessEventER7wxEvent
100A9D99  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100A9D99  _ZN12wxEvtHandler12ProcessEventER7wxEvent
100A9D99  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100A9D99  _ZN12wxEvtHandler12ProcessEventER7wxEvent
100A9D99  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100A9D99  _ZN12wxEvtHandler12ProcessEventER7wxEvent
10206813  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:10206813  _ZN12wxWindowBase5CloseEb
101373B7  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:101373B7  _ZN7wxFrame13MSWWindowProcEjjl
1010AB20  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:1010AB20  _Z9wxWndProcP6HWND__jjl@16
77D48709  C:\WINDOWS\system32\USER32.dll:77D48709  GetDC
77D487EB  C:\WINDOWS\system32\USER32.dll:77D487EB  GetDC
77D4B368  C:\WINDOWS\system32\USER32.dll:77D4B368  DefWindowProcW
77D4B3B4  C:\WINDOWS\system32\USER32.dll:77D4B3B4  DefWindowProcW
7C90EAE3  C:\WINDOWS\system32\ntdll.dll:7C90EAE3  KiUserCallbackDispatcher
77D4E010  C:\WINDOWS\system32\USER32.dll:77D4E010  DefWindowProcA
5AD73C20  C:\WINDOWS\system32\uxtheme.dll:5AD73C20  DrawThemeText
5AD8E300  C:\WINDOWS\system32\uxtheme.dll:5AD8E300  GetThemeTextMetrics
5AD71AC7  C:\WINDOWS\system32\uxtheme.dll:5AD71AC7
5AD7367A  C:\WINDOWS\system32\uxtheme.dll:5AD7367A  DrawThemeText
77D4E02B  C:\WINDOWS\system32\USER32.dll:77D4E02B  DefWindowProcA
1010A23A  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:1010A23A  _ZN8wxWindow16MSWDefWindowProcEjjl
10111BBC  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:10111BBC  _ZN8wxWindow13MSWWindowProcEjjl
101371FA  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:101371FA  _ZN7wxFrame13MSWWindowProcEjjl
1010AB20  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:1010AB20  _Z9wxWndProcP6HWND__jjl@16
77D48709  C:\WINDOWS\system32\USER32.dll:77D48709  GetDC
77D487EB  C:\WINDOWS\system32\USER32.dll:77D487EB  GetDC
77D4B368  C:\WINDOWS\system32\USER32.dll:77D4B368  DefWindowProcW
77D4B3B4  C:\WINDOWS\system32\USER32.dll:77D4B3B4  DefWindowProcW
7C90EAE3  C:\WINDOWS\system32\ntdll.dll:7C90EAE3  KiUserCallbackDispatcher
77D4B7AB  C:\WINDOWS\system32\USER32.dll:77D4B7AB  SendMessageW
5AD9881F  C:\WINDOWS\system32\uxtheme.dll:5AD9881F  GetThemeTextMetrics
5AD71AC7  C:\WINDOWS\system32\uxtheme.dll:5AD71AC7
5AD7367A  C:\WINDOWS\system32\uxtheme.dll:5AD7367A  DrawThemeText
77D4E02B  C:\WINDOWS\system32\USER32.dll:77D4E02B  DefWindowProcA
1010A23A  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:1010A23A  _ZN8wxWindow16MSWDefWindowProcEjjl
10111BBC  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:10111BBC  _ZN8wxWindow13MSWWindowProcEjjl
101371FA  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:101371FA  _ZN7wxFrame13MSWWindowProcEjjl
1010AB20  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:1010AB20  _Z9wxWndProcP6HWND__jjl@16
77D48709  C:\WINDOWS\system32\USER32.dll:77D48709  GetDC
77D487EB  C:\WINDOWS\system32\USER32.dll:77D487EB  GetDC
77D489A5  C:\WINDOWS\system32\USER32.dll:77D489A5  GetWindowLongW
77D4BCCC  C:\WINDOWS\system32\USER32.dll:77D4BCCC  DispatchMessageA
100EA595  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100EA595  _ZN11wxEventLoop14ProcessMessageEP6tagMSG
100EABD4  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100EABD4  _ZN11wxEventLoop8DispatchEv
100EA970  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100EA970  _ZN11wxEventLoop3RunEv
1018520E  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:1018520E  _ZN9wxAppBase8MainLoopEv
004039AC  C:\codeblocks\src\devel\codeblocks.exe:004039AC  CodeBlocksApp::OnRun()  C:/codeblocks/src/src/app.cpp:351
10043527  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:10043527  _Z14wxUninitializev
100B1BFC  C:\codeblocks\src\devel\wxmsw26_gcc_cb.dll:100B1BFC  _Z7wxEntryP11HINSTANCE__S0_Pci
0040138A  C:\codeblocks\src\devel\codeblocks.exe:0040138A  WinMain  C:/codeblocks/src/src/app.cpp:297
0043D05A  C:\codeblocks\src\devel\codeblocks.exe:0043D05A
004011E7  C:\codeblocks\src\devel\codeblocks.exe:004011E7
00401238  C:\codeblocks\src\devel\codeblocks.exe:00401238
7C816D4F  C:\WINDOWS\system32\kernel32.dll:7C816D4F  RegisterWaitForInputIdle

grv575

  • Guest
Re: segfault in todo plugin
« Reply #3 on: October 20, 2005, 03:41:01 am »
Just wanted to report that this is fixed with latest cvs (built from sources yesterday).  There is still the crash on exit if you try to exit before codeblocks finishes loading.  Looks like something to do with the threading cleanup code.  Maybe thread cancellation should release any acquired mutexes as well as other resource cleanups?

rpt attached


[attachment deleted by admin]