KiCad - the KiCad Bridge
Public Made by Adomby adom
Drive your own KiCad from an AI, in the background: open every editor, read the whole board as data (the EDA Bridge Standard board model), stack-up, part heights, netlists, place, route, pour, DRC and exports.
macOS KiCad 10.0.7: pcbnew SIGSEGV in OPENGL_GAL::DrawPolyline (PCB_PAINTER::draw(ZONE)) right after kicad_apply_zone_plan commits
adom-aiflow 0.2.20 · adom/core 4.15.3 · Adom Bridge 1.9.224 on macOS 26.3.1 (MacBook Air, Apple silicon), KiCad bridge plugin 0.11.1 · KiCad 10.0.7
What I did: adom-aiflow land pours sent kicad_apply_zone_plan with 13 zones to a 152 x 152 mm, 4-layer board open in pcbnew: one GND pour on F.Cu and B.Cu following the outline, and twelve 1.8 mm solid GND squares at priority 1. The board's own inner planes were loaded from the file.
What happened: the reply came back committed: true, drc.clean: true, zonesRefilled: true. Within seconds pcbnew crashed on the main thread during the repaint. It happened twice with the same stack, at 21:18 and 21:31 UTC on 2026-10-26 (the full macOS crash reports are available on request):
EXC_BAD_ACCESS SIGSEGV, faulting thread 0 (main)
libkigal std::__function::__func<KIGFX::OPENGL_GAL::DrawPolyline(SHAPE_LINE_CHAIN const&)::$_0 ...
libkigal KIGFX::OPENGL_GAL::drawPolyline(std::function<VECTOR2<double> (int)> const&, int, bool)
libkigal KIGFX::OPENGL_GAL::DrawPolyline(SHAPE_LINE_CHAIN const&)
_pcbnew KIGFX::PCB_PAINTER::draw(ZONE const*, int)
_pcbnew KIGFX::PCB_PAINTER::Draw(KIGFX::VIEW_ITEM const*, int)
libkigal KIGFX::VIEW::updateItemGeometry(KIGFX::VIEW_ITEM*, int)
libkigal KIGFX::VIEW::invalidateItem(KIGFX::VIEW_ITEM*, int)
libkigal KIGFX::VIEW::UpdateItems()
_pcbnew EDA_DRAW_PANEL_GAL::DoRePaint(bool)
The zone-filler worker threads were idle at the crash. Before each landing, a kicad_zone_state refill of the two file-loaded planes went through without a crash. So the crash seems tied to zones created through the IPC API, not to filling in general. The same 13 zones written into the file and filled with kicad-cli pcb drc --refill-zones --save-board were fine.
Expected: no crash, or, if this is a KiCad bug in redrawing zones created over IPC, a note in kicad_apply_zone_plan's hint and an upstream KiCad report. I can rerun the landing on request to test a fix.