Upstream update available: gc 8.2.8 → 8.2.12 #2

Open
opened 2026-04-28 01:10:48 +03:00 by sbelikov · 0 comments
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 analysis

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

Обновление пакета gc с версии 8.2.8 до 8.2.12 классифицируется как патч-уровня и содержит преимущественно исправления компиляторных предупреждений, устранение утечек памяти, расовых условий и ошибок на специфичных платформах (Solaris, Windows, macOS). В предоставленных релиз-нотах отсутствуют явные указания на изменения в публичном API или ABI библиотеки.

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

low. Обновление носит характер исправления багов (fixes) и оптимизаций сборки. Основные изменения касаются внутренней логики работы сборщика мусора и совместимости с компиляторами, что редко приводит к нестабильности в продакшене для существующих приложений, использующих стандартные интерфейсы.

3. Security/CVE

Во входных данных отсутствуют явные упоминания уязвимостей, CVE-идентификаторов или ключевых слов безопасности (security_keywords_detected_by_script: False). Хотя исправлены потенциальные проблемы безопасности (расовые условия, ошибки обработки памяти), они не описаны как известные уязвимости с присвоенными CVE.

4. ABI/API риск

В тексте релиз-нот нет прямых указаний на изменение сигнатур функций, удаление экспортируемых символов или изменение порядка байт. Однако, учитывая, что это библиотека с глобальным влиянием на память, и есть изменения в обработке потоков (pthread, DllMain) и редирекции malloc/free, требуется осторожность. Без детального анализа дампа символов (nm/objdump) перед утверждением рекомендуется провести ручной ABI/API анализ.

5. Риск для RPM-сборки

Вероятны конфликты при пересборке на платформах, где ранее применялись специфичные патчи под Solaris, Windows (MinGW) или macOS, так как многие ошибки были связаны с платформенными макросами (USE_PROC_FOR_LIBRARIES, __MINGW_EXCPT_DEFINE_PSDK). Также возможно изменение поведения при переназначении функций malloc/free через IGNORE_FREE. Необходимо проверить %check секцию spec-файла на предмет новых провалов тестов, связанных с изменением логики инициализации потоков.

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

  • Проверить наличие изменений в публичном API (используя nm или objdump для сравнения версий 8.2.8 и 8.2.12).
  • Убедиться, что патчи под платформы Solaris и Windows в репозитории НАЙС.ОС актуальны или отпадают после обновления upstream.
  • Провести тестирование сборки на целевых архитектурах дистрибутива (x86_64, arm64 и др.).
  • Запустить %check секцию сборки и убедиться в отсутствии новых ошибок.
  • Проверить работу приложений, зависящих от libgc.so, особенно тех, которые используют кастомные аллокаторы или работают с многопоточностью.

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

update candidate

8. Основание рекомендации

Обновление классифицировано как патч с низким уровнем риска, содержащее критические исправления стабильности (расовые условия, SIGSEGV) и совместимости. Отсутствуют блокирующие факторы в политике обновлений (policy_blocked: False), а отсутствие заявленных изменений в ABI позволяет рекомендовать обновление как кандидата, при условии выполнения стандартных проверок сборки и тестирования.

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 1.4
  • Generated at: 2026-04-27T22:10:48Z
<!-- 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: https://github.com/ivmai/bdwgc - Detected version: `8.2.12` - Tag/release: `v8.2.12` - Source: `github_release_latest` - Published: `2026-02-05T17:14:00Z` - Release URL: https://github.com/bdwgc/bdwgc/releases/tag/v8.2.12 - Source URL: https://api.github.com/repos/bdwgc/bdwgc/tarball/v8.2.12 - 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 analysis ### 1. Краткий вывод Обновление пакета `gc` с версии 8.2.8 до 8.2.12 классифицируется как патч-уровня и содержит преимущественно исправления компиляторных предупреждений, устранение утечек памяти, расовых условий и ошибок на специфичных платформах (Solaris, Windows, macOS). В предоставленных релиз-нотах отсутствуют явные указания на изменения в публичном API или ABI библиотеки. ### 2. Риск для НАЙС.ОС **low**. Обновление носит характер исправления багов (fixes) и оптимизаций сборки. Основные изменения касаются внутренней логики работы сборщика мусора и совместимости с компиляторами, что редко приводит к нестабильности в продакшене для существующих приложений, использующих стандартные интерфейсы. ### 3. Security/CVE Во входных данных отсутствуют явные упоминания уязвимостей, CVE-идентификаторов или ключевых слов безопасности (`security_keywords_detected_by_script: False`). Хотя исправлены потенциальные проблемы безопасности (расовые условия, ошибки обработки памяти), они не описаны как известные уязвимости с присвоенными CVE. ### 4. ABI/API риск В тексте релиз-нот нет прямых указаний на изменение сигнатур функций, удаление экспортируемых символов или изменение порядка байт. Однако, учитывая, что это библиотека с глобальным влиянием на память, и есть изменения в обработке потоков (`pthread`, `DllMain`) и редирекции `malloc/free`, требуется осторожность. Без детального анализа дампа символов (nm/objdump) перед утверждением рекомендуется провести ручной ABI/API анализ. ### 5. Риск для RPM-сборки Вероятны конфликты при пересборке на платформах, где ранее применялись специфичные патчи под Solaris, Windows (MinGW) или macOS, так как многие ошибки были связаны с платформенными макросами (`USE_PROC_FOR_LIBRARIES`, `__MINGW_EXCPT_DEFINE_PSDK`). Также возможно изменение поведения при переназначении функций `malloc`/`free` через `IGNORE_FREE`. Необходимо проверить `%check` секцию spec-файла на предмет новых провалов тестов, связанных с изменением логики инициализации потоков. ### 6. Проверки мейнтейнера - [ ] Проверить наличие изменений в публичном API (используя `nm` или `objdump` для сравнения версий 8.2.8 и 8.2.12). - [ ] Убедиться, что патчи под платформы Solaris и Windows в репозитории НАЙС.ОС актуальны или отпадают после обновления upstream. - [ ] Провести тестирование сборки на целевых архитектурах дистрибутива (x86_64, arm64 и др.). - [ ] Запустить `%check` секцию сборки и убедиться в отсутствии новых ошибок. - [ ] Проверить работу приложений, зависящих от `libgc.so`, особенно тех, которые используют кастомные аллокаторы или работают с многопоточностью. ### 7. Рекомендация update candidate ### 8. Основание рекомендации Обновление классифицировано как патч с низким уровнем риска, содержащее критические исправления стабильности (расовые условия, SIGSEGV) и совместимости. Отсутствуют блокирующие факторы в политике обновлений (`policy_blocked: False`), а отсутствие заявленных изменений в ABI позволяет рекомендовать обновление как кандидата, при условии выполнения стандартных проверок сборки и тестирования. ## 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](https://ci.appveyor.com/project/bdwgc/bdwgc/builds/53493694) [Github actions build](https://github.com/bdwgc/bdwgc/actions/runs/21720713306) [Travis CI build](https://app.travis-ci.com/github/bdwgc/bdwgc/builds/277405837) # 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 1.4` - Generated at: `2026-04-27T22:10:48Z`
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#2
No description provided.