Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

release:notes: a gh reply over 1 MiB aborts the run with spawnSync ENOBUFS

Fechada Para iniciantes
#5,339 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
82/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
github, node.js, typescript
Domínio
cli, release

Direção de pesquisa

Comece por run() em scripts/release-notes.mjs e inspecione as opções de spawnSync; depois confira o helper gh() em scripts/lib/sweep.mjs, que também é apontado pela issue. Adicione testes mostrando que uma resposta com mais de 1 MiB é processada com sucesso e que um erro real de spawn é propagado novamente. O trabalho estará concluído quando o comando de notas de lançamento lidar com o tamanho de resposta relatado e os testes cobrirem os dois casos.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

chore v2

Problem

npm run release:notes aborts with release-notes: spawnSync gh ENOBUFS when any gh reply is larger than 1 MiB. run() in scripts/release-notes.mjs calls spawnSync with no maxBuffer, so Node's default of 1 MiB applies, and an overflow throws before any notes are produced. The preview and --draft both fail.

It first happened on the v2.2.0 release (#5330). The GraphQL query that lists the tree under src/ at the merge commit (expr=<merge-sha>:src) returned 1,087,532 bytes for 60200eb7. v2.1.0's tree was under the limit. The tree only grows, so every later release fails the same way.

Reproduce

npm run --silent release:notes -- --milestone v2.2.0 \
  --merge-sha 60200eb73634fd2c611f60ea5bc5801d19325c89 \
  --merge-branch v2/chore/5330-release-v2.2.0 --ledger-url https://example.invalid
# release notes: v2.1.0 → v2.2.0
# release-notes: spawnSync gh ENOBUFS

Expected

The run completes. run() passes a maxBuffer large enough for any reply the script reads, for example 256 MiB. A test should show that a reply over 1 MiB gets through, and that a genuine spawn error is still rethrown.

Notes

  • For v2.2.0, the maintainer authorized drafting through a driver that calls the script's own main() with a spawn that retries an overflowing call with a larger buffer, so this fix was not required for that release.
  • scripts/lib/sweep.mjs's gh() helper, used by the sweeps, also calls spawnSync with no maxBuffer. Check whether any of its calls can grow past 1 MiB.
Linguagem predominante
TypeScript
Estrelas
91.6k
Forks
11.9k
Merge médio
4h 31min
PRs com merge (30d)
236

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de modelcontextprotocol/servers

Todas as issues de modelcontextprotocol/servers

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.