Crash rebuilding connectivity data after undoing zone fill on a board imported from Altium
KiCad Project
Mother_Board_Ver2_RevA1_kicad.zip
Original board
From https://forum.kicad.info/t/incorrect-display-of-3d-models-with-altium-board-import/49098
Steps to reproduce
- Open or import the board
- Press B to refill all zones
- Press Ctrl+Z to undo
- Crash
Stack trace
> _pcbnew.dll!CN_ITEM::Valid() Line 164 C++
_pcbnew.dll!CN_ANCHOR::Valid() Line 311 C++
_pcbnew.dll!CN_EDGE::RemoveInvalidRefs() Line 100 C++
_pcbnew.dll!RN_NET::RemoveInvalidRefs() Line 469 C++
_pcbnew.dll!CONNECTIVITY_DATA::RemoveInvalidRefs() Line 944 C++
_pcbnew.dll!CN_CONNECTIVITY_ALGO::searchConnections() Line 233 C++
_pcbnew.dll!CN_CONNECTIVITY_ALGO::SearchClusters(CN_CONNECTIVITY_ALGO::CLUSTER_SEARCH_MODE aMode, const std::initializer_list<enum KICAD_T> & aTypes, int aSingleNet, CN_ITEM * rootItem) Line 375 C++
_pcbnew.dll!CN_CONNECTIVITY_ALGO::SearchClusters(CN_CONNECTIVITY_ALGO::CLUSTER_SEARCH_MODE aMode) Line 316 C++
_pcbnew.dll!CN_CONNECTIVITY_ALGO::PropagateNets(BOARD_COMMIT * aCommit) Line 651 C++
_pcbnew.dll!CONNECTIVITY_DATA::internalRecalculateRatsnest(BOARD_COMMIT * aCommit) Line 233 C++
_pcbnew.dll!CONNECTIVITY_DATA::Build(BOARD * aBoard, PROGRESS_REPORTER * aReporter) Line 136 C++
_pcbnew.dll!BOARD::BuildConnectivity(PROGRESS_REPORTER * aReporter) Line 190 C++
_pcbnew.dll!PCB_BASE_EDIT_FRAME::PutDataInPreviousState(PICKED_ITEMS_LIST * aList) Line 568 C++
_pcbnew.dll!PCB_BASE_EDIT_FRAME::RestoreCopyFromUndoList(wxCommandEvent & aEvent) Line 215 C++
_pcbnew.dll!PCB_CONTROL::Undo(const TOOL_EVENT & aEvent) Line 1419 C++
_pcbnew.dll!std::invoke<int (__cdecl PCB_CONTROL::*&)(TOOL_EVENT const &),PCB_CONTROL * &,TOOL_EVENT const &>(int(PCB_CONTROL::*)(const TOOL_EVENT &) & _Obj, PCB_CONTROL * & _Arg1, const TOOL_EVENT & <_Args2_0>) Line 1754 C++
_pcbnew.dll!std::_Invoker_ret<std::_Unforced>::_Call<int (__cdecl PCB_CONTROL::*&)(TOOL_EVENT const &),PCB_CONTROL * &,TOOL_EVENT const &>(int(PCB_CONTROL::*)(const TOOL_EVENT &) & _Func, PCB_CONTROL * & <_Vals_0>, const TOOL_EVENT & <_Vals_1>) Line 2117 C++
_pcbnew.dll!std::_Call_binder<std::_Unforced,0,1,int (__cdecl PCB_CONTROL::*)(TOOL_EVENT const &),std::tuple<PCB_CONTROL *,std::_Ph<1>>,std::tuple<TOOL_EVENT const &>>(std::_Invoker_ret<std::_Unforced> __formal, std::integer_sequence<unsigned __int64,0,1> __formal, int(PCB_CONTROL::*)(const TOOL_EVENT &) & _Obj, std::tuple<PCB_CONTROL *,std::_Ph<1>> & _Tpl, std::tuple<TOOL_EVENT const &> && _Ut) Line 2127 C++
_pcbnew.dll!std::_Binder<std::_Unforced,int (__cdecl PCB_CONTROL::*&)(TOOL_EVENT const &),PCB_CONTROL *,std::_Ph<1> const &>::operator()<TOOL_EVENT const &,0>(const TOOL_EVENT & <_Unbargs_0>) Line 2199 C++
_pcbnew.dll!std::invoke<std::_Binder<std::_Unforced,int (__cdecl PCB_CONTROL::*&)(TOOL_EVENT const &),PCB_CONTROL *,std::_Ph<1> const &> &,TOOL_EVENT const &>(std::_Binder<std::_Unforced,int (__cdecl PCB_CONTROL::*&)(TOOL_EVENT const &),PCB_CONTROL *,std::_Ph<1> const &> & _Obj, const TOOL_EVENT & _Arg1) Line 1754 C++
_pcbnew.dll!std::_Func_impl_no_alloc<std::_Binder<std::_Unforced,int (__cdecl PCB_CONTROL::*&)(TOOL_EVENT const &),PCB_CONTROL *,std::_Ph<1> const &>,int,TOOL_EVENT const &>::_Do_call(const TOOL_EVENT & <_Args_0>) Line 909 C++
_pcbnew.dll!std::_Func_class<int,TOOL_EVENT const &>::operator()(const TOOL_EVENT & <_Args_0>) Line 952 C++
_pcbnew.dll!COROUTINE<int,TOOL_EVENT const &>::callerStub(__int64 aData) Line 509 C++
_pcbnew.dll!make_fcontext() Unknown
000000f3613db558() Unknown
KiCad Version
Application: KiCad PCB Editor x64 on x64
Version: 8.0.2-3-g8edfc23679, debug build
Libraries:
wxWidgets 3.2.4
FreeType 2.12.1
HarfBuzz 8.3.0
FontConfig 2.14.2
Platform: Windows 11 (build 22631), 64-bit edition, 64 bit, Little endian, wxMSW
wxWidgets: 3.2.4 (wchar_t,wx containers)
Boost: 1.83.0
OCC: 7.7.1
Curl: 8.5.0-DEV
ngspice: 42
Compiler: Visual C++ 1939 without C++ ABI
Build settings:
KICAD_STDLIB_DEBUG=OFF
KICAD_STDLIB_LIGHT_DEBUG=OFF
KICAD_SANITIZE_ADDRESS=OFF
KICAD_SANITIZE_THREADS=OFF