Как мы четыре раза неправильно диагностировали зависание на джобе
Как мы четыре раза неправильно диагностировали зависание на джобе 281 339Несколько месяцев назад я писал, как мы четыре раза неправильно чинили мерцание при рендеринге 4,4 миллиона полигонов. Тогда казалось, что это рекорд: месяц блужданий, четыре отброшенных подхода, решение на неделю. Эта история хуже. Баг пережил четыре диагноза подряд, два из которых мы успели «подтвердить числами», получил по дороге три работающих фикса от несуществующих причин — и в итоге оказался файлом, который лежал на рабочем столе.
Три фикса, четыре ошибки, один файл
Как мы четыре раза неправильно диагностировали зависание на джобе 281 339Несколько месяцев назад я писал, как мы четыре раза неправильно чинили мерцание при рендеринге 4,4 миллиона полигонов. Тогда казалось, что это рекорд: месяц блужданий, четыре отброшенных подхода, решение на неделю. Эта история хуже. Баг пережил четыре диагноза подряд, два из которых мы успели «подтвердить числами», получил по дороге три работающих фикса от несуществующих причин — и в итоге оказался файлом, который лежал на рабочем столе.
Как мы четыре раза неправильно чинили мерцание при рендеринге 4,4 миллиона полигонов на wgpu
Уже год мы небольшой командой пишем на Rust + wgpu редактор топологий интегральных схем — что-то вроде KLayout, только с прицелом на российский рынок. Команда — три человека. Я в роли CTO направляю архитектуру и принимаю основные технические решения. История ниже — про одну такую серию решений, которую я завёл в тупик четыре раза подряд, прежде чем мы поняли, в чём была ошибка.Тестовый дизайн у нас — Caravel SkyWater SKY130, открытый чип на ~4,4 миллиона полигонов, 1014 уникальных ячеек и 22 уровня иерархии. Полный GDS-файл — 278 МБ.

