Skip to content

Random crash in RN_NET::optimizeRNEdges when trying to delete some tracks

Steps that led to the crash

  1. Open a board
  2. Select some tracks
  3. Press Delete
  4. Crash

Screenshots

image

image

Stack trace

>	_pcbnew.dll!RN_NET::optimizeRNEdges::__l2::<lambda>(std::shared_ptr<CN_ANCHOR> & a, std::shared_ptr<CN_ANCHOR> & b) Line 402	C++
 	_pcbnew.dll!RN_NET::optimizeRNEdges() Line 433	C++
 	_pcbnew.dll!RN_NET::Update() Line 452	C++
 	[Inline Frame] _pcbnew.dll!CONNECTIVITY_DATA::updateRatsnest::__l2::<lambda_f33be58d6f20255df3af407650288fea>::operator()(const int b, const int) Line 181	C++
 	_pcbnew.dll!BS::thread_pool::submit::__l2::<lambda>() Line 262	C++
 	[Inline Frame] _pcbnew.dll!std::_Func_class<void>::operator()() Line 878	C++
 	_pcbnew.dll!BS::thread_pool::worker() Line 350	C++
 	[Inline Frame] _pcbnew.dll!std::invoke(void(ASYNC_SOCKET_HOLDER::*)() &&) Line 1564	C++
 	_pcbnew.dll!std::thread::_Invoke<std::tuple<void (__cdecl ASYNC_SOCKET_HOLDER::*)(void),ASYNC_SOCKET_HOLDER *>,0,1>(void * _RawVals) Line 56	C++
 	ucrtbase.dll!thread_start<unsigned int (__cdecl*)(void *),1>()	Unknown
 	kernel32.dll!BaseThreadInitThunk()	Unknown
 	ntdll.dll!RtlUserThreadStart()	Unknown

KiCad Version

Application: KiCad (64-bit)

Version: (6.99.0-4406-ge9fe59a28c-dirty), release build

Libraries:
	wxWidgets 3.2.1
	FreeType 2.11.1
	HarfBuzz 4.2.0
	FontConfig 2.14.0
	libcurl/7.83.1-DEV Schannel zlib/1.2.12

Platform: Windows 10 (build 19044), 64-bit edition, 64 bit, Little endian, wxMSW

Build Info:
	Date: Nov 21 2022 07:54:26
	wxWidgets: 3.2.1 (wchar_t,wx containers)
	Boost: 1.79.0
	OCC: 7.6.0
	Curl: 7.83.1-DEV
	Compiler: Visual C++ 1933 without C++ ABI

Build settings:
	KICAD_SPICE=OFF