🛠️ Cloudflare нашла редкий баг в компиляторе Go для ARM64 — ошибка повреждала стек и вызывала краши
Инженеры Cloudflare заметили странные fatal panics на ARM64-серверах, сопровождающиеся сообщениями вроде *“traceback did not unwind completely”*.
Ошибки указывали на то, что Go runtime не может корректно «размотать» стек после паники, а значит — стек повреждён.
После длительного расследования выяснилось: проблема была в самом компиляторе Go для ARM64.
Он иногда разбивал инструкцию на две отдельные операции:
Если между ними происходило асинхронное прерывание (async preemption), например, от планировщика или сборщика мусора, указатель стека (RSP) переходил в некорректное состояние.
В результате, когда Go runtime пытался «размотать» стек для трассировки ошибки, он сталкивался с повреждёнными адресами и завершался крашем.
Cloudflare смогла воспроизвести баг на минимальном примере: функция с большим стеком вызывала panic, и если прерывание происходило ровно между двумя частями инструкции, процесс завершался segmentation fault.
✅ Исправление уже включено в версии Go 1.23.12, 1.24.6 и 1.25.0.
Теперь компилятор избегает разбиения инструкции, используя промежуточный регистр — это гарантирует, что стек всегда корректен даже при прерывании выполнения.
Cloudflare подчёркивает: подобные ошибки встречаются крайне редко и проявляются только под высокой нагрузкой на ARM-серверах.
Но этот случай показывает, насколько сложно отлавливать низкоуровневые race condition-баги, которые могут оставаться незаметными годами, пока не сойдутся «идеальные» условия.
📌Подробнее: https://blog.cloudflare.com/how-we-found-a-bug-in-gos-arm64-compiler/
@Golang_google
Инженеры Cloudflare заметили странные fatal panics на ARM64-серверах, сопровождающиеся сообщениями вроде *“traceback did not unwind completely”*.
Ошибки указывали на то, что Go runtime не может корректно «размотать» стек после паники, а значит — стек повреждён.
После длительного расследования выяснилось: проблема была в самом компиляторе Go для ARM64.
Он иногда разбивал инструкцию на две отдельные операции:
ADD $framesize, RSP, RSP
Если между ними происходило асинхронное прерывание (async preemption), например, от планировщика или сборщика мусора, указатель стека (RSP) переходил в некорректное состояние.
В результате, когда Go runtime пытался «размотать» стек для трассировки ошибки, он сталкивался с повреждёнными адресами и завершался крашем.
Cloudflare смогла воспроизвести баг на минимальном примере: функция с большим стеком вызывала panic, и если прерывание происходило ровно между двумя частями инструкции, процесс завершался segmentation fault.
✅ Исправление уже включено в версии Go 1.23.12, 1.24.6 и 1.25.0.
Теперь компилятор избегает разбиения инструкции, используя промежуточный регистр — это гарантирует, что стек всегда корректен даже при прерывании выполнения.
Cloudflare подчёркивает: подобные ошибки встречаются крайне редко и проявляются только под высокой нагрузкой на ARM-серверах.
Но этот случай показывает, насколько сложно отлавливать низкоуровневые race condition-баги, которые могут оставаться незаметными годами, пока не сойдутся «идеальные» условия.
📌Подробнее: https://blog.cloudflare.com/how-we-found-a-bug-in-gos-arm64-compiler/
@Golang_google
1👍57🔥27❤12🥰2
Рынку нужны айтишники. Но, давайте честно, не все.
Самое грустное — смотреть, как резюме реально стоящих кандидатов отправляются в корзину под столом HR и грустно гниют в анналах hh, потому что их резюме выглядит как «Делал LLM, делал пайплайны, вывел в прод сайт про рост моркови». Как это помогло бизнесу, непонятно.
Что обычно не так с этими резюме:
— Проекты выглядят как описание обязанностей типа «работал работу, пил латте из кофемашины»
— Результаты отсутствуют или звучат так, как будто вы разрабатывали весь Яндекс с нуля
— Непонятно, в чём вы реально хороши, кроме как в стрессоустойчивости и коммуникабельности на основе собственных ощущений
— Оно не продает вас. Какой смысл в том, что вы тащили в прод сумасшедшие продукты и инженерили на уровне боженьки, если вы не можете ответить бизнесу четко на вопрос, зачем вы нужны.
Отдельная проблема — защита этого резюме на собесе. За классных спецов компании готовы драться, но никто не будет угадывать, какой вы классный, если вы не научитесь себя продавать.
Самостоятельно это сделать сложно, поэтому я советую обратить внимание на Карьерный Цех — это топовые карьерные консультанты, которые уже съели собаку на том, чтобы учить крутых ребят продавать себя бизнесу и уходить на хорошие деньги и позиции.
В программе карьерной поддержки Цеха:
— стратегические консультации с HR и хард-экспертами;
— создание резюме, на которое клюют рекрутеры и пишут первыми;
— мок-интервью, чтобы убрать все затыки;
— втягивают в комьюнити, которое реально решает на рынке.
Если вы давно хотели навести порядок в профессиональной самооценке — сходите на бесплатную консультацию.
Ребята уже там дадут первые конкретные рекомендации.
Самое грустное — смотреть, как резюме реально стоящих кандидатов отправляются в корзину под столом HR и грустно гниют в анналах hh, потому что их резюме выглядит как «Делал LLM, делал пайплайны, вывел в прод сайт про рост моркови». Как это помогло бизнесу, непонятно.
Что обычно не так с этими резюме:
— Проекты выглядят как описание обязанностей типа «работал работу, пил латте из кофемашины»
— Результаты отсутствуют или звучат так, как будто вы разрабатывали весь Яндекс с нуля
— Непонятно, в чём вы реально хороши, кроме как в стрессоустойчивости и коммуникабельности на основе собственных ощущений
— Оно не продает вас. Какой смысл в том, что вы тащили в прод сумасшедшие продукты и инженерили на уровне боженьки, если вы не можете ответить бизнесу четко на вопрос, зачем вы нужны.
Отдельная проблема — защита этого резюме на собесе. За классных спецов компании готовы драться, но никто не будет угадывать, какой вы классный, если вы не научитесь себя продавать.
Самостоятельно это сделать сложно, поэтому я советую обратить внимание на Карьерный Цех — это топовые карьерные консультанты, которые уже съели собаку на том, чтобы учить крутых ребят продавать себя бизнесу и уходить на хорошие деньги и позиции.
В программе карьерной поддержки Цеха:
— стратегические консультации с HR и хард-экспертами;
— создание резюме, на которое клюют рекрутеры и пишут первыми;
— мок-интервью, чтобы убрать все затыки;
— втягивают в комьюнити, которое реально решает на рынке.
Если вы давно хотели навести порядок в профессиональной самооценке — сходите на бесплатную консультацию.
Ребята уже там дадут первые конкретные рекомендации.
😁34🔥7🤬7❤6👍4🤯3🥰2😱2🤔1
GoCraft - это мощный генератор бэкенда на Go, который позволяет быстро создавать современные микросервисы с использованием предпочтительных фреймворков и баз данных. Он обеспечивает создание полностью структурированных приложений с учетом лучших практик и встроенной безопасности.
- Быстрое создание готовых к производству бэкендов
- Модульная архитектура с возможностью выбора функций
- Встроенные механизмы безопасности и валидации
- Полная документация и примеры использования
- Поддержка множества технологий и интеграций
#go
Please open Telegram to view this post
VIEW IN TELEGRAM
❤31🔥11👍8🤔8😁6
Resterm — это клиент для работы с REST API в терминале, предлагающий удобный интерфейс и мощные функции. Он поддерживает работу с .http и .rest файлами, а также позволяет выполнять запросы прямо из редактора. Включает поддержку аутентификации, переменных и тестирования запросов с помощью JavaScript.
🚀Основные моменты:
- Модальный редактор с поддержкой Vim-стиля
- Встроенные запросы без необходимости в файлах
- Поддержка gRPC и GraphQL
- Сохранение сессий и истории запросов
- Настраиваемый транспорт и параметры окружения
📌 GitHub: https://github.com/unkn0wn-root/resterm
#go
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27❤8👍7🥰1😁1
🚀 GoMLX: ML Framework for Go
GoMLX — это мощный фреймворк для машинного обучения на Go, предлагающий удобные библиотеки и инструменты для работы с ML. Он поддерживает дифференцируемые операторы и предоставляет средства для визуализации метрик в процессе обучения. GoMLX работает на различных платформах, включая браузеры с помощью WASM.
🚀 Основные моменты:
- Полноценная поддержка машинного обучения с использованием Go.
- Оптимизированный движок на базе OpenXLA для быстрой компиляции.
- Простота в использовании и расширяемости для экспериментов с ML.
- Поддержка различных известных компонентов ML.
- Документация и полезные сообщения об ошибках.
📌 GitHub: https://github.com/gomlx/gomlx
@golang_google
GoMLX — это мощный фреймворк для машинного обучения на Go, предлагающий удобные библиотеки и инструменты для работы с ML. Он поддерживает дифференцируемые операторы и предоставляет средства для визуализации метрик в процессе обучения. GoMLX работает на различных платформах, включая браузеры с помощью WASM.
🚀 Основные моменты:
- Полноценная поддержка машинного обучения с использованием Go.
- Оптимизированный движок на базе OpenXLA для быстрой компиляции.
- Простота в использовании и расширяемости для экспериментов с ML.
- Поддержка различных известных компонентов ML.
- Документация и полезные сообщения об ошибках.
📌 GitHub: https://github.com/gomlx/gomlx
@golang_google
👍16❤8🔥8🤯3
16 октября пройдёт совместный митап 2ГИС и Lamoda Tech — офлайн и онлайн. Доклады, факапы, еда, пиво и люди, которые говорят на одном языке — Go.
📍 Москва, Новоданиловская наб., 12, офис 2ГИС, 14 этаж
🕖 19:00 — 23:00
В программе:
— Дмитрий Буров, Lamoda Tech: «За кулисами асинхронности: корутины, горутины и правда между ними»
— Павел Шнель, 2ГИС: «Интеграции под нагрузкой: практики и последствия решений»
— Разгоны факапов от спикеров и участников. За лучшие факапы — фирменный мерч.
После — афтерпати и нетворкинг. Скучно не будет!
👉 Регистрация
Реклама. ООО "ДУБЛЬГИС" ИНН: 5405276278 Erid: 2RanymgKstm
📍 Москва, Новоданиловская наб., 12, офис 2ГИС, 14 этаж
🕖 19:00 — 23:00
В программе:
— Дмитрий Буров, Lamoda Tech: «За кулисами асинхронности: корутины, горутины и правда между ними»
— Павел Шнель, 2ГИС: «Интеграции под нагрузкой: практики и последствия решений»
— Разгоны факапов от спикеров и участников. За лучшие факапы — фирменный мерч.
После — афтерпати и нетворкинг. Скучно не будет!
👉 Регистрация
Реклама. ООО "ДУБЛЬГИС" ИНН: 5405276278 Erid: 2RanymgKstm
🔥7🤬1
🚀 Высокопроизводительный движок полнотекстового поиска на Go
Blaze — это мощный движок для быстрого полнотекстового поиска с использованием инвертированных индексов. Он идеально подходит для приложений, которые требуют эффективного поиска по текстовым документам без зависимости от внешних поисковых систем.
🚀 Основные моменты:
- Инвертированный индекс для мгновенного поиска
- Поддержка булевых запросов и фразового поиска
- Алгоритм BM25 для оценки релевантности
- Безопасный для потоков с поддержкой конкурентного индексирования
- Компактное бинарное хранилище для данных
📌 GitHub: https://github.com/wizenheimer/blaze
Blaze — это мощный движок для быстрого полнотекстового поиска с использованием инвертированных индексов. Он идеально подходит для приложений, которые требуют эффективного поиска по текстовым документам без зависимости от внешних поисковых систем.
🚀 Основные моменты:
- Инвертированный индекс для мгновенного поиска
- Поддержка булевых запросов и фразового поиска
- Алгоритм BM25 для оценки релевантности
- Безопасный для потоков с поддержкой конкурентного индексирования
- Компактное бинарное хранилище для данных
📌 GitHub: https://github.com/wizenheimer/blaze
👍13🔥11❤8
1 ноября пройдёт Я.Субботник по Go — митап для разработчиков и энтузиастов Go. Встречаемся в офисе Яндекса в Москве и онлайн, чтобы в комфортной атмосфере обсудить, что волнует комьюнити: от недавних релизов и инструментов до архитектурных решений и производительности сервисов 🚀
Игорь Панасюк, разработчик бэкенда Плюса и Финтеха, разберёт, какие подходы применяются в управлении памятью и как устроен garbage collector в Go. Александр Никитин, старший разработчик Яндекс Маркета, расскажет про трассировку логики с помощью Debug Tree — удобного способа логирования для поиска багов в сложной кодовой базе прямо в продакшене. И это не всё: в программе выступления старшего разработчика бэкенда Yandex Cloud Александра Демиденко и СТО Яндекс Игр Степана Пестерникова.
Помимо докладов участников ждут круглые столы про использование AI-инструментов, highload и нетипичное применение Golang.
Узнать больше об ивенте и зарегистрироваться тут
Игорь Панасюк, разработчик бэкенда Плюса и Финтеха, разберёт, какие подходы применяются в управлении памятью и как устроен garbage collector в Go. Александр Никитин, старший разработчик Яндекс Маркета, расскажет про трассировку логики с помощью Debug Tree — удобного способа логирования для поиска багов в сложной кодовой базе прямо в продакшене. И это не всё: в программе выступления старшего разработчика бэкенда Yandex Cloud Александра Демиденко и СТО Яндекс Игр Степана Пестерникова.
Помимо докладов участников ждут круглые столы про использование AI-инструментов, highload и нетипичное применение Golang.
Узнать больше об ивенте и зарегистрироваться тут
😁5❤2
📊 Удобный мониторинг контейнеров с ctop
🚀Основные моменты:
- Реальное время отображения метрик для нескольких контейнеров
- Поддержка Docker и runC, с планами на расширение
- Удобный интерфейс с возможностью фильтрации и сортировки
- Легкая настройка и сохранение конфигураций
📌 GitHub: https://github.com/bcicen/ctop
#go
ctop
— это интерфейс для отображения метрик контейнеров в реальном времени. Он поддерживает Docker и runC, предлагая как общий, так и детализированный просмотр контейнеров. Идеально подходит для быстрого анализа состояния ваших контейнеров.🚀Основные моменты:
- Реальное время отображения метрик для нескольких контейнеров
- Поддержка Docker и runC, с планами на расширение
- Удобный интерфейс с возможностью фильтрации и сортировки
- Легкая настройка и сохранение конфигураций
📌 GitHub: https://github.com/bcicen/ctop
#go
GitHub
GitHub - bcicen/ctop: Top-like interface for container metrics
Top-like interface for container metrics. Contribute to bcicen/ctop development by creating an account on GitHub.
👍7❤5🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Создавайте технологии, которые меняют мир
В команду Яндекса нужны бэкенд-разработчики с опытом от 3 лет на C++, Python, Java/Kotlin, Go — строить полезные сервисы для миллионов пользователей.
Как получить офер за неделю?
• До 12 ноября оставить заявку на участие и пройти предварительный этап.
• 15–16 ноября решить задачи на технических секциях.
• 17–21 ноября прийти на финальную встречу.
Присоединяйтесь к одной из команд Яндекса, чтобы усилить нашу инженерную культуру и строить новую технологическую реальность.
Читайте подробности и оставляйте заявку на сайте.
Реклама. ООО "Яндекс". ИНН 7736207543
В команду Яндекса нужны бэкенд-разработчики с опытом от 3 лет на C++, Python, Java/Kotlin, Go — строить полезные сервисы для миллионов пользователей.
Как получить офер за неделю?
• До 12 ноября оставить заявку на участие и пройти предварительный этап.
• 15–16 ноября решить задачи на технических секциях.
• 17–21 ноября прийти на финальную встречу.
Присоединяйтесь к одной из команд Яндекса, чтобы усилить нашу инженерную культуру и строить новую технологическую реальность.
Читайте подробности и оставляйте заявку на сайте.
Реклама. ООО "Яндекс". ИНН 7736207543
🤬6❤5👍4🔥3😁2
Команда Go выпустила минорные версии 1.25.3 и 1.24.9, чтобы устранить проблемы, появившиеся после предыдущего патча (1.25.2 и 1.24.8).
Тогда была введена слишком строгая проверка X.509-сертификатов, из-за чего часть приложений перестала работать.
Теперь эти ограничения удалены, но исправление уязвимости сохранено.
Разработчики приносят извинения и рекомендуют всем обновиться.
Подробнее: go.dev/doc/devel/release#go1.25.3
📡 Анонс: https://groups.google.com/g/golang-announce/c/YEyj6FUNbik/m/_SDlIvxuCAAJ
⬇️ Скачать: https://go.dev/dl/#go1.25.3
👉 Зеркало в Max
@Golang_google
#golang
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤7🔥5😁4🤬1
«ИИ — просто хайп, который скоро пройдёт»
Скептики ошибаются: инвестиции в генеративный ИИ за год удвоились и достигли $56 млрд, в России превысили ₽300 млрд. И такой интерес — не временный всплеск, а устойчивый тренд.
В бесконечном потоке новостей об ИИ ключевое — опираться на аналитику экспертов. В авторском Telegram-канале Марии Романцовой можно найти разборы трендов и рисков от профессионала с 17-летним опытом на рынке капитала.
Мария работает в «Финаме», — одной из крупнейших инвестиционных компаний России. Фокусируется на работе с технологическими компаниями и знает систему изнутри.
Активно следит за тем, куда движется рынок искусственного интеллекта и робототехники, а так же разбирает источники финасирования высокотехнологичных компаний.
Читайте больше в канале Мария Романцова: Рынки капитала и ИИ
Скептики ошибаются: инвестиции в генеративный ИИ за год удвоились и достигли $56 млрд, в России превысили ₽300 млрд. И такой интерес — не временный всплеск, а устойчивый тренд.
В бесконечном потоке новостей об ИИ ключевое — опираться на аналитику экспертов. В авторском Telegram-канале Марии Романцовой можно найти разборы трендов и рисков от профессионала с 17-летним опытом на рынке капитала.
Мария работает в «Финаме», — одной из крупнейших инвестиционных компаний России. Фокусируется на работе с технологическими компаниями и знает систему изнутри.
Активно следит за тем, куда движется рынок искусственного интеллекта и робототехники, а так же разбирает источники финасирования высокотехнологичных компаний.
Читайте больше в канале Мария Романцова: Рынки капитала и ИИ
😁13🤬7😱3🤯2🤔1
🧩 Beads: Умная система памяти для ИИ-агентов, генерирующих код.
Beads - это легкая система памяти для кодирующих агентов, использующая графовую структуру для отслеживания задач.
Она связывает ваши проблемы, позволяя агентам эффективно управлять сложными потоками задач и избегать потери контекста.
🚀 Основные моменты:
- Легкая интеграция в проекты с минимальными настройками
- Отслеживание зависимостей и автоматическое выявление готовой работы
- Поддержка работы агентов на нескольких машинах с синхронизацией через git
- Полный аудит изменений и визуализация зависимостей
📌 GitHub: https://github.com/steveyegge/beads
#go #golang #github
Beads - это легкая система памяти для кодирующих агентов, использующая графовую структуру для отслеживания задач.
Она связывает ваши проблемы, позволяя агентам эффективно управлять сложными потоками задач и избегать потери контекста.
🚀 Основные моменты:
- Легкая интеграция в проекты с минимальными настройками
- Отслеживание зависимостей и автоматическое выявление готовой работы
- Поддержка работы агентов на нескольких машинах с синхронизацией через git
- Полный аудит изменений и визуализация зависимостей
📌 GitHub: https://github.com/steveyegge/beads
#go #golang #github
1❤6👍1🥰1