Comment 4 for bug 1527309

Revision history for this message
Chris Pavlina (pavlina-chris) wrote :

Somehow, DIALOG_EESCHEMA_OPTIONS::OnEditControlKillFocus(wxFocusEvent&) is being called after DIALOG_EESCHEMA_OPTIONS::~DIALOG_EESCHEMA_OPTIONS()...

==25924== Invalid read of size 8
==25924== at 0x8827714: _M_data (basic_string.h:135)
==25924== by 0x8827714: _M_is_local (basic_string.h:170)
==25924== by 0x8827714: capacity (basic_string.h:781)
==25924== by 0x8827714: std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_assign(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) (basic_string.tcc:264)
==25924== by 0x8827A88: assign (basic_string.h:1096)
==25924== by 0x8827A88: std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::operator=(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) (basic_string.h:552)
==25924== by 0x1BCF7AFE: wxString::operator=(wxString const&) (string.h:1883)
==25924== by 0x1BDB8699: DIALOG_EESCHEMA_OPTIONS::copyPanelToSelected() (dialog_eeschema_options.cpp:281)
==25924== by 0x1BDB769F: DIALOG_EESCHEMA_OPTIONS::OnEditControlKillFocus(wxFocusEvent&) (dialog_eeschema_options.cpp:290)
==25924== by 0x64FA43D: wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const (in /usr/lib/libwx_baseu-3.0.so.0.2.0)
==25924== by 0x6680A76: wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-3.0.so.0.2.0)
==25924== by 0x6680E5D: wxEvtHandler::SearchDynamicEventTable(wxEvent&) (in /usr/lib/libwx_baseu-3.0.so.0.2.0)
==25924== by 0x6680EED: wxEvtHandler::TryHereOnly(wxEvent&) (in /usr/lib/libwx_baseu-3.0.so.0.2.0)
==25924== by 0x6680FB2: wxEvtHandler::ProcessEventLocally(wxEvent&) (in /usr/lib/libwx_baseu-3.0.so.0.2.0)
==25924== by 0x6681014: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-3.0.so.0.2.0)
==25924== by 0x6680D76: wxEvtHandler::SafelyProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-3.0.so.0.2.0)
==25924== Address 0x18707480 is 208 bytes inside a block of size 312 free'd
==25924== at 0x4C2A144: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==25924== by 0x1BDB9A0F: __gnu_cxx::new_allocator<TEMPLATE_FIELDNAME>::deallocate(TEMPLATE_FIELDNAME*, unsigned long) (in /opt/kicad-master/bin/_eeschema.kiface)
==25924== by 0x1BDB99DF: __gnu_cxx::__alloc_traits<std::allocator<TEMPLATE_FIELDNAME> >::deallocate(std::allocator<TEMPLATE_FIELDNAME>&, TEMPLATE_FIELDNAME*, unsigned long) (in /opt/kicad-master/bin/_eeschema.kiface)
==25924== by 0x1BDB997A: std::_Vector_base<TEMPLATE_FIELDNAME, std::allocator<TEMPLATE_FIELDNAME> >::_M_deallocate(TEMPLATE_FIELDNAME*, unsigned long) (stl_vector.h:178)
==25924== by 0x1BDB9846: std::_Vector_base<TEMPLATE_FIELDNAME, std::allocator<TEMPLATE_FIELDNAME> >::~_Vector_base() (stl_vector.h:160)
==25924== by 0x1BDB8CB1: std::vector<TEMPLATE_FIELDNAME, std::allocator<TEMPLATE_FIELDNAME> >::~vector() (in /opt/kicad-master/bin/_eeschema.kiface)
==25924== by 0x1BDB95C8: DIALOG_EESCHEMA_OPTIONS::~DIALOG_EESCHEMA_OPTIONS() (in /opt/kicad-master/bin/_eeschema.kiface)
==25924== by 0x1BE13F2D: SCH_EDIT_FRAME::OnPreferencesOptions(wxCommandEvent&) (eeschema_config.cpp:412)
==25924== by 0x64FA43D: wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const (in /usr/lib/libwx_baseu-3.0.so.0.2.0)
==25924== by 0x6680A76: wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-3.0.so.0.2.0)
==25924== by 0x6680B6A: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-3.0.so.0.2.0)
==25924== by 0x6680F27: wxEvtHandler::TryHereOnly(wxEvent&) (in /usr/lib/libwx_baseu-3.0.so.0.2.0)