Upstream update available: gc 8.2.8 → 8.2.12 #3

Closed
opened 2026-05-09 20:54:12 +03:00 by sbelikov · 1 comment
Owner

Upstream update available: gc 8.2.88.2.12

Package

  • Package: gc
  • RPM name: gc
  • Branch: niceos-5.2
  • Current EVR: 8.2.8-1
  • Update class: patch
  • Compare method: python_rpm
  • Update policy: leaf
  • Risk tags: github-upstream

Upstream

Signals

  • Security-relevant keywords detected: False
  • Policy blocked: False
  • Policy reason: -
  • Labels: ai-summary, bot, needs-build, needs-triage, priority/medium, update/patch, upstream-update, upstream/github

NiceSOFT AI preliminary stability analysis

1. Краткий вывод

Обновление gc с 8.2.8 до 8.2.12 выглядит как patch-релиз и в целом совместимо со стабильной политикой enterprise-дистрибутива. Однако upstream-сводка показывает заметные изменения в runtime-логике и portability-функциях, поэтому это manual review, а не blind auto-merge. Для НАЙС.ОС сейчас разумно рассматривать обновление как candidate после проверки, но не как issue-only.

2. Риск для НАЙС.ОС

Риск: medium.
Основание: релиз не выглядит feature/breaking-апдейтом, но затрагивает низкоуровневые пути исполнения (thread registration, fork(), DllMain, redirected malloc/free, sanitizer behavior). Для стабильной политики это не критично по API, но повышает вероятность runtime-регрессий, особенно на редких платформах и в сборках с sanitizers. Статическая политика обновление не блокирует, но масштаб upstream-diff и характер фиксов требуют ручной валидации.

3. Что изменилось upstream

Проверяемые факты из release notes v8.2.12:

  • upstream release опубликован как Latest для v8.2.12;
  • в compare v8.2.8...v8.2.12 GitHub показывает 220 commits и 88 files changed;
  • в релизе перечислены фиксы и portability-правки, включая:
    • OpenBSD/alpha shared builds;
    • Solaris /proc-related macro errors;
    • WinCE errno compilation issues;
    • FreeBSD pthread_setname_np crashes;
    • pthread_detach before initialization;
    • fork from unregistered threads;
    • DllMain thread-registration race handling;
    • Linux malloc redirection freelist cycling;
    • workaround для sanitized binaries через disabling fake stacks;
  • есть cleanup-изменения: удаление неиспользуемых definitions/variables, documentation refinements, typo fixes, и reverts двух ранее внесённых Windows/DllMain behavior changes.

Если кратко: upstream-изменения преимущественно багфиксные, но затрагивают чувствительные runtime-области.

4. Security/CVE

Подтверждённых CVE по 8.2.12 в найденных источниках не найдено.
Также не найдено подтверждённой GitHub Advisory / NVD-записи, которую можно было бы однозначно связать с этим релизом. Это не означает отсутствие уязвимостей, только отсутствие подтверждения в исследованных источниках.

5. ABI/API/CLI/config риск

Оценка: low to medium.

  • В release notes нет явных признаков новых public CLI flags, удаления публичных API или намеренного ABI-break.
  • Также не найдено сообщений о смене default collector semantics в user-facing виде.
  • При этом релиз затрагивает внутреннее runtime-поведение, поэтому риск — скорее поведенческий, чем интерфейсный.
  • Наиболее чувствительная область: workaround для sanitized binaries (disabling fake stacks) — это изменение runtime-логики, пусть и целевое.

Итог: прямой ABI/API/CLI-риск выглядит низким, но runtime-совместимость требует проверки.

6. Риск для RPM-сборки и dist-git

Что стоит проверить в SPECS, SOURCES, патчах и сборочном окружении:

  • совпадение нового upstream source с ожидаемым source_url и source lock;
  • обновление checksum/hash в SOURCES/;
  • отсутствие неучтённых локальных патчей, которые могут конфликтовать с upstream-фикcами;
  • BuildRequires / Requires на предмет изменений из-за portability/build fixes;
  • поведение %check, если в spec есть тестовый прогон;
  • SBOM/metadata, если они генерируются/проверяются на релизе;
  • сборка на secondary/edge архитектурах и в окружениях, чувствительных к thread/fork/runtime поведению.

Отдельно: upstream-diff крупный (220 commits / 88 files), поэтому даже при patch-level bump желательно сделать rebuild и smoke test.

7. Риск для системы и зависимых компонентов

gc — runtime-библиотека, и изменения в ней могут затронуть:

  • приложения, использующие conservative GC semantics;
  • сборки с sanitizers;
  • программы с custom thread registration;
  • сценарии с fork() в многопоточной среде;
  • динамически загружаемые компоненты, которые зависят от поведения DllMain / thread lifecycle;
  • пакеты, использующие gc как malloc replacement или collector.

Вероятный эффект — не поломка скриптов или CLI, а именно runtime behavior: стабильность, deadlock/crash-поведение, корректность работы в редких сценариях.

8. Проверки мейнтейнера

Перед PR/merge рекомендуется:

  1. Сверить upstream source tag v8.2.12 и integrity source metadata.
  2. Проверить, что SOURCES/ обновлены корректно и без расхождений по hash/lock.
  3. Просмотреть diff spec на предмет новых/удалённых патчей и конфликтов.
  4. Пересобрать пакет в целевом окружении НАЙС.ОС.
  5. Прогнать rpmlint / внутренние packaging checks, если применяются.
  6. Выполнить smoke tests на установку/запуск зависимых пакетов.
  7. Проверить сценарии:
    • multithreaded workloads;
    • fork()-heavy workloads;
    • sanitizer-enabled builds, если есть в QA;
    • dynamic linking / loader paths, если пакет используется как runtime library.
  8. Убедиться, что %check либо проходит, либо корректно задокументирован.
  9. Если есть reverse dependencies, выборочно проверить их rebuild/run results.
  10. Зафиксировать, нет ли локальных downstream патчей, которые upstream уже обошёл или изменил.

9. Рекомендация

blocked manual review

10. Источники

  1. github.com — bdwgc
  2. github.com — llgo
  3. github.com — library
  4. github.com — Client release notes
  5. github.com — releases
  6. github.com — core plans
  7. github.com — awesome c
  8. github.com — releases
  9. github.com — releases
  10. github.com — releases
  11. github.com — vmangos
  12. github.com — spectrwm

Upstream release notes / description

Changes

  • Do not prevent shared builds on OpenBSD/alpha
  • Eliminate 'argument unused' gcc warning in push_all_stack_partially_eager
  • Eliminate 'assign long to void*' gcc warning in get_stack_base on Serenity
  • Eliminate 'format expects argument of type' gcc warnings in dump_meminfo
  • Eliminate 'GC_push_all_stack not used' gcc warning if fix-up pointers
  • Eliminate 'GC_remove_roots_subregion not used' gcc warning on Solaris
  • Eliminate 'unused parameter' clang warnings in GC_darwin_sigbus
  • Fix 'KERN_PROTECTION_FAILURE while world is stopped' error on MacOS X
  • Fix 'MA_FETCHOP undeclared' gcc error if USE_PROC_FOR_LIBRARIES on Solaris
  • Fix 'PIOCNMAP undeclared' gcc error if USE_PROC_FOR_LIBRARIES on Solaris
  • Fix 'reserved' argument handling in GC_DllMain
  • Fix 'undefined errno' compiler error in strdup/strndup on WinCE
  • Fix a cycle in NORMAL freelist if malloc is redirected on Linux
  • Fix assertion in GC_wait_for_reclaim if DllMain-based thread registration
  • Fix code defect of LOCK/UNLOCK in separate 'if' in GC_generic_malloc_many
  • Fix missing new-line in help message of console variant of cord/de
  • Fix race in DllMain by deferring delete_thread call to GC_start_world
  • Fix redirected 'free' for callers from libdl/libpthread if IGNORE_FREE
  • Fix reliance on glibc-specific '__data_start' for some Linux platforms
  • Fix shared library build on MinGW if disable_single_obj_compilation
  • Fix SIGSEGV during pthread_setname_np if redirect malloc on FreeBSD
  • Fix SIGSEGV if pthread_detach is called before collector initialization
  • Fix SIGSEGV in remove_all_threads_but_me if fork from unregistered thread
  • Fix typos (about getcontext) in printed message in setjmp_test
  • Fix various typos in comments and documentation
  • Prevent collection if fork from an unregistered thread
  • Refine USE_PROC_FOR_LIBRARIES macro documentation for Solaris
  • Remove unneeded '__MINGW_EXCPT_DEFINE_PSDK' macro define for mingw32
  • Remove unused GC_VERSION in configure
  • Remove unused redefinition of GC_free in gctest
  • Revert 'Avoid abort on ResumeThread failure if DllMain closes thread'
  • Revert 'Fix GC_suspend abort when the thread is deleted by DllMain'
  • Turn on pthread_atfork usage on Hurd
  • Workaround locals not pushed in sanitized binaries by disabling fake stacks

Build status

AppVeyor CI build
Github actions build
Travis CI build

Distribution tarball

gc-8.2.12.tar.gz (see the Assets, md5: 5e7c74f8bd57f64d3f86673ff3c17230)

NiceOS maintainer checklist

  • Confirm that the detected version is a stable upstream release.
  • Check upstream changelog for security fixes, ABI/API changes and build-system changes.
  • Check ABI/API compatibility and reverse dependencies.
  • Download source into NiceOS lookaside storage.
  • Update Version and related fields in SPECS/*.spec only if policy allows it.
  • Regenerate SOURCES/sources.lock.json, manifests, metadata and SBOM.
  • Build SRPM/RPM in a clean NiceOS buildroot.
  • Run package smoke tests.
  • Link PR/build logs and close this issue after update or triage.

Bot metadata

  • Tool: niceos_upstream_monitor.py 2.1.2-openai-deep
  • Generated at: 2026-05-09T17:54:06Z
<!-- niceos-upstream-monitor:fingerprint=upstream-update:gc:8.2.12 --> <!-- niceos-upstream-monitor:package=gc --> <!-- niceos-upstream-monitor:current=8.2.8 --> <!-- niceos-upstream-monitor:latest=8.2.12 --> # Upstream update available: `gc` `8.2.8` → `8.2.12` ## Package - Package: `gc` - RPM name: `gc` - Branch: `niceos-5.2` - Current EVR: `8.2.8-1` - Update class: `patch` - Compare method: `python_rpm` - Update policy: `leaf` - Risk tags: `github-upstream` ## Upstream - Upstream type: `github` - Upstream project: `ivmai/bdwgc` - Upstream URL: <a href="https://github.com/ivmai/bdwgc" target="_blank" rel="noopener noreferrer">github.com — bdwgc</a> - Detected version: `8.2.12` - Tag/release: `v8.2.12` - Source: `github_release_latest` - Published: `2026-02-05T17:14:00Z` - Release URL: <a href="https://github.com/bdwgc/bdwgc/releases/tag/v8.2.12" target="_blank" rel="noopener noreferrer">github.com — v8.2.12</a> - Source URL: <a href="https://api.github.com/repos/bdwgc/bdwgc/tarball/v8.2.12" target="_blank" rel="noopener noreferrer">api.github.com — v8.2.12</a> - Pre-release: `False` ## Signals - Security-relevant keywords detected: `False` - Policy blocked: `False` - Policy reason: `-` - Labels: `ai-summary, bot, needs-build, needs-triage, priority/medium, update/patch, upstream-update, upstream/github` ## NiceSOFT AI preliminary stability analysis ### 1. Краткий вывод Обновление `gc` с `8.2.8` до `8.2.12` выглядит как **patch**-релиз и в целом совместимо со стабильной политикой enterprise-дистрибутива. Однако upstream-сводка показывает заметные изменения в runtime-логике и portability-функциях, поэтому это **manual review**, а не blind auto-merge. Для НАЙС.ОС сейчас разумно рассматривать обновление как **candidate после проверки**, но не как issue-only. ### 2. Риск для НАЙС.ОС **Риск: medium.** Основание: релиз не выглядит feature/breaking-апдейтом, но затрагивает низкоуровневые пути исполнения (`thread registration`, `fork()`, `DllMain`, redirected `malloc/free`, sanitizer behavior). Для стабильной политики это не критично по API, но повышает вероятность runtime-регрессий, особенно на редких платформах и в сборках с sanitizers. Статическая политика обновление не блокирует, но масштаб upstream-diff и характер фиксов требуют ручной валидации. ### 3. Что изменилось upstream Проверяемые факты из release notes `v8.2.12`: - upstream release опубликован как **Latest** для `v8.2.12`; - в compare `v8.2.8...v8.2.12` GitHub показывает **220 commits** и **88 files changed**; - в релизе перечислены фиксы и portability-правки, включая: - OpenBSD/alpha shared builds; - Solaris `/proc`-related macro errors; - WinCE `errno` compilation issues; - FreeBSD `pthread_setname_np` crashes; - `pthread_detach` before initialization; - `fork` from unregistered threads; - `DllMain` thread-registration race handling; - Linux malloc redirection freelist cycling; - workaround для sanitized binaries через disabling fake stacks; - есть cleanup-изменения: удаление неиспользуемых definitions/variables, documentation refinements, typo fixes, и reverts двух ранее внесённых Windows/DllMain behavior changes. Если кратко: upstream-изменения преимущественно багфиксные, но затрагивают чувствительные runtime-области. ### 4. Security/CVE Подтверждённых CVE по `8.2.12` в найденных источниках **не найдено**. Также не найдено подтверждённой GitHub Advisory / NVD-записи, которую можно было бы однозначно связать с этим релизом. Это **не означает отсутствие уязвимостей**, только отсутствие подтверждения в исследованных источниках. ### 5. ABI/API/CLI/config риск **Оценка: low to medium.** - В release notes **нет явных признаков** новых public CLI flags, удаления публичных API или намеренного ABI-break. - Также **не найдено** сообщений о смене default collector semantics в user-facing виде. - При этом релиз затрагивает внутреннее runtime-поведение, поэтому риск — скорее **поведенческий**, чем интерфейсный. - Наиболее чувствительная область: workaround для sanitized binaries (`disabling fake stacks`) — это изменение runtime-логики, пусть и целевое. Итог: прямой ABI/API/CLI-риск выглядит низким, но runtime-совместимость требует проверки. ### 6. Риск для RPM-сборки и dist-git Что стоит проверить в `SPECS`, `SOURCES`, патчах и сборочном окружении: - совпадение нового upstream source с ожидаемым `source_url` и source lock; - обновление checksum/hash в `SOURCES/`; - отсутствие неучтённых локальных патчей, которые могут конфликтовать с upstream-фикcами; - `BuildRequires` / `Requires` на предмет изменений из-за portability/build fixes; - поведение `%check`, если в spec есть тестовый прогон; - SBOM/metadata, если они генерируются/проверяются на релизе; - сборка на secondary/edge архитектурах и в окружениях, чувствительных к thread/fork/runtime поведению. Отдельно: upstream-diff крупный (**220 commits / 88 files**), поэтому даже при patch-level bump желательно сделать rebuild и smoke test. ### 7. Риск для системы и зависимых компонентов `gc` — runtime-библиотека, и изменения в ней могут затронуть: - приложения, использующие conservative GC semantics; - сборки с sanitizers; - программы с custom thread registration; - сценарии с `fork()` в многопоточной среде; - динамически загружаемые компоненты, которые зависят от поведения `DllMain` / thread lifecycle; - пакеты, использующие `gc` как malloc replacement или collector. Вероятный эффект — не поломка скриптов или CLI, а именно **runtime behavior**: стабильность, deadlock/crash-поведение, корректность работы в редких сценариях. ### 8. Проверки мейнтейнера Перед PR/merge рекомендуется: 1. Сверить upstream source tag `v8.2.12` и integrity source metadata. 2. Проверить, что `SOURCES/` обновлены корректно и без расхождений по hash/lock. 3. Просмотреть diff `spec` на предмет новых/удалённых патчей и конфликтов. 4. Пересобрать пакет в целевом окружении НАЙС.ОС. 5. Прогнать `rpmlint` / внутренние packaging checks, если применяются. 6. Выполнить smoke tests на установку/запуск зависимых пакетов. 7. Проверить сценарии: - multithreaded workloads; - `fork()`-heavy workloads; - sanitizer-enabled builds, если есть в QA; - dynamic linking / loader paths, если пакет используется как runtime library. 8. Убедиться, что `%check` либо проходит, либо корректно задокументирован. 9. Если есть reverse dependencies, выборочно проверить их rebuild/run results. 10. Зафиксировать, нет ли локальных downstream патчей, которые upstream уже обошёл или изменил. ### 9. Рекомендация **blocked manual review** ### 10. Источники - <a href="https://github.com/bdwgc/bdwgc/releases/tag/v8.2.12" target="_blank" rel="noopener noreferrer">Upstream release v8.2.12</a> - <a href="https://github.com/bdwgc/bdwgc/compare/v8.2.8...v8.2.12" target="_blank" rel="noopener noreferrer">Upstream compare v8.2.8...v8.2.12</a> - <a href="https://github.com/bdwgc/bdwgc" target="_blank" rel="noopener noreferrer">Upstream repository: bdwgc/bdwgc</a> - <a href="https://specs.niceos.ru/rpms/gc" target="_blank" rel="noopener noreferrer">NiceOS dist-git package `gc`</a> - <a href="https://specs.niceos.ru/rpms/gc/src/branch/niceos-5.2/README.md" target="_blank" rel="noopener noreferrer">NiceOS dist-git README</a> - <a href="https://specs.niceos.ru/rpms/gc/src/branch/niceos-5.2/SPECS" target="_blank" rel="noopener noreferrer">NiceOS dist-git SPECS</a> - <a href="https://specs.niceos.ru/rpms/gc/src/branch/niceos-5.2/SOURCES" target="_blank" rel="noopener noreferrer">NiceOS dist-git SOURCES</a> ### Источники, найденные web_search 1. <a href="https://github.com/bdwgc/bdwgc" target="_blank" rel="noopener noreferrer">github.com — bdwgc</a> 2. <a href="https://github.com/goplus/llgo" target="_blank" rel="noopener noreferrer">github.com — llgo</a> 3. <a href="https://github.com/topics/library?l=c" target="_blank" rel="noopener noreferrer">github.com — library</a> 4. <a href="https://github.com/BOINC/boinc/wiki/Client-release-notes" target="_blank" rel="noopener noreferrer">github.com — Client release notes</a> 5. <a href="https://github.com/google/bindiff/releases" target="_blank" rel="noopener noreferrer">github.com — releases</a> 6. <a href="https://github.com/habitat-sh/core-plans" target="_blank" rel="noopener noreferrer">github.com — core plans</a> 7. <a href="https://github.com/uhub/awesome-c" target="_blank" rel="noopener noreferrer">github.com — awesome c</a> 8. <a href="https://github.com/BOINC/boinc/releases" target="_blank" rel="noopener noreferrer">github.com — releases</a> 9. <a href="https://github.com/wandb/weave/releases" target="_blank" rel="noopener noreferrer">github.com — releases</a> 10. <a href="https://github.com/guardicore/monkey/releases" target="_blank" rel="noopener noreferrer">github.com — releases</a> 11. <a href="https://github.com/vmangos" target="_blank" rel="noopener noreferrer">github.com — vmangos</a> 12. <a href="https://github.com/conformal/spectrwm" target="_blank" rel="noopener noreferrer">github.com — spectrwm</a> ## Upstream release notes / description # Changes * Do not prevent shared builds on OpenBSD/alpha * Eliminate 'argument unused' gcc warning in push_all_stack_partially_eager * Eliminate 'assign long to void*' gcc warning in get_stack_base on Serenity * Eliminate 'format expects argument of type' gcc warnings in dump_meminfo * Eliminate 'GC_push_all_stack not used' gcc warning if fix-up pointers * Eliminate 'GC_remove_roots_subregion not used' gcc warning on Solaris * Eliminate 'unused parameter' clang warnings in GC_darwin_sigbus * Fix 'KERN_PROTECTION_FAILURE while world is stopped' error on MacOS X * Fix 'MA_FETCHOP undeclared' gcc error if USE_PROC_FOR_LIBRARIES on Solaris * Fix 'PIOCNMAP undeclared' gcc error if USE_PROC_FOR_LIBRARIES on Solaris * Fix 'reserved' argument handling in GC_DllMain * Fix 'undefined errno' compiler error in strdup/strndup on WinCE * Fix a cycle in NORMAL freelist if malloc is redirected on Linux * Fix assertion in GC_wait_for_reclaim if DllMain-based thread registration * Fix code defect of LOCK/UNLOCK in separate 'if' in GC_generic_malloc_many * Fix missing new-line in help message of console variant of cord/de * Fix race in DllMain by deferring delete_thread call to GC_start_world * Fix redirected 'free' for callers from libdl/libpthread if IGNORE_FREE * Fix reliance on glibc-specific '__data_start' for some Linux platforms * Fix shared library build on MinGW if disable_single_obj_compilation * Fix SIGSEGV during pthread_setname_np if redirect malloc on FreeBSD * Fix SIGSEGV if pthread_detach is called before collector initialization * Fix SIGSEGV in remove_all_threads_but_me if fork from unregistered thread * Fix typos (about getcontext) in printed message in setjmp_test * Fix various typos in comments and documentation * Prevent collection if fork from an unregistered thread * Refine USE_PROC_FOR_LIBRARIES macro documentation for Solaris * Remove unneeded '__MINGW_EXCPT_DEFINE_PSDK' macro define for mingw32 * Remove unused GC_VERSION in configure * Remove unused redefinition of GC_free in gctest * Revert 'Avoid abort on ResumeThread failure if DllMain closes thread' * Revert 'Fix GC_suspend abort when the thread is deleted by DllMain' * Turn on pthread_atfork usage on Hurd * Workaround locals not pushed in sanitized binaries by disabling fake stacks # Build status <a href="https://ci.appveyor.com/project/bdwgc/bdwgc/builds/53493694" target="_blank" rel="noopener noreferrer">AppVeyor CI build</a> <a href="https://github.com/bdwgc/bdwgc/actions/runs/21720713306" target="_blank" rel="noopener noreferrer">Github actions build</a> <a href="https://app.travis-ci.com/github/bdwgc/bdwgc/builds/277405837" target="_blank" rel="noopener noreferrer">Travis CI build</a> # Distribution tarball gc-8.2.12.tar.gz (see the Assets, md5: 5e7c74f8bd57f64d3f86673ff3c17230) ## NiceOS maintainer checklist - [ ] Confirm that the detected version is a stable upstream release. - [ ] Check upstream changelog for security fixes, ABI/API changes and build-system changes. - [ ] Check ABI/API compatibility and reverse dependencies. - [ ] Download source into NiceOS lookaside storage. - [ ] Update `Version` and related fields in `SPECS/*.spec` only if policy allows it. - [ ] Regenerate `SOURCES/sources.lock.json`, manifests, metadata and SBOM. - [ ] Build SRPM/RPM in a clean NiceOS buildroot. - [ ] Run package smoke tests. - [ ] Link PR/build logs and close this issue after update or triage. ## Bot metadata - Tool: `niceos_upstream_monitor.py 2.1.2-openai-deep` - Generated at: `2026-05-09T17:54:06Z`
Author
Owner

Package version is now 8.2.12 and target version was 8.2.12. Closing as resolved.\n\n_Closed by niceos_upstream_monitor.py 1.5 at 2026-05-09T18:16:36Z._

Package version is now `8.2.12` and target version was `8.2.12`. Closing as resolved.\n\n_Closed by `niceos_upstream_monitor.py 1.5` at `2026-05-09T18:16:36Z`._
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rpms/gc#3
No description provided.