PCBNEW: Reliable crash on layer visibility changes (6.0.5)
Description
PCBNEW reliably crashes with this sequence of steps.
Steps to reproduce
-
git clone
project (I am not the author). - Open PCB in editor.
- Click "Hide all layers" from appearance manager.
- Click "hide all copper layers" from appearance manager.
💣
KiCad Version
Version: 6.0.5, release build
wxWidgets: 3.0.5 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
Platform: Linux 5.17.1 x86_64, 64 bit, Little endian, wxGTK, x11
Additional information
- Signing up to gitlab is a fucking nightmare. I had to disable half my OS to get through.
- Assertion failure:
/usr/include/c++/11/bits/stl_vector.h:1045: std::vector<_Tp, _Alloc>::reference
std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type)
[with _Tp = KIGFX::VIEW::VIEW_LAYER; _Alloc = std::allocator<KIGFX::VIEW::VIEW_LAYER>;
std::vector<_Tp, _Alloc>::reference = KIGFX::VIEW::VIEW_LAYER&;
std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__n < this->size()' failed.
- Backtrace:
#0 0x00007ffff624b59c in __pthread_kill_implementation () at /lib64/libc.so.6
#1 0x00007ffff61fed86 in raise () at /lib64/libc.so.6
#2 0x00007ffff61d1833 in abort () at /lib64/libc.so.6
#3 0x00007fffe1d04468 in () at /usr/bin/_pcbnew.kiface
#4 0x00007fffe25f4f3f in KIGFX::VIEW::SetTopLayer(int, bool) () at /usr/bin/_pcbnew.kiface
#5 0x00007fffe2419cf5 in PCB_DRAW_PANEL_GAL::SetTopLayer(PCB_LAYER_ID) () at /usr/bin/_pcbnew.kiface
#6 0x00007fffe241d1a0 in PCB_DRAW_PANEL_GAL::SetHighContrastLayer(PCB_LAYER_ID) () at /usr/bin/_pcbnew.kiface
#7 0x00007fffe1f5b16e in PCB_EDIT_FRAME::SetActiveLayer(PCB_LAYER_ID) () at /usr/bin/_pcbnew.kiface
#8 0x00007fffe20a2cb4 in APPEARANCE_CONTROLS::OnLayerContextMenu(wxCommandEvent&) () at /usr/bin/_pcbnew.kiface
<...>
- Do you consider crashes security-sensitive? if so, you should include guidance in the issue template to mark these issues confidential.
Edited by Larry Larismus