Extension startup fails on large session histories
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 70/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- javascript
- Domínio
- cli
Direção de pesquisa
Comece em handleSessionResumeCore() e rastreie como replayEvents: false passa por initializeSession() até seamHost.initializeSession(). Verifique se o caminho de anexação da extensão não serializa mais todo o histórico de eventos quando a reprodução histórica não é solicitada e reproduza o problema com uma sessão cujo histórico serializado exceda o limite de strings do V8.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Describe the bug
Extensions fail to load in a long-running session when the serialized event history exceeds V8's maximum string length. Each affected extension imports successfully, but its joinSession() call fails:
[extension-bootstrap] importing extension: <path>
[extension-bootstrap] Failed to load extension: Error: Request session.resume failed with message: Invalid string length
The failure affects multiple locally configured extensions. In one session, two extensions failed identically. That session's events.jsonl was 1,664,072,585 bytes. Both extensions loaded successfully in smaller sessions using the same installation. The largest session log with a successful extension startup was 97,568,545 bytes. These file sizes do not establish the exact threshold on the serialized event array.
The packaged 1.0.82 bundle shows this call path:
handleSessionResumeCore()handles the extension'ssession.resumerequest and callsinitializeSession()withreplayEvents: false.- The host initialization path ignores that flag and passes
session.getEvents()toseamHost.initializeSession(). seamHost.initializeSession()callsJSON.stringify(events).- V8 throws
Invalid string lengthbecause the result would exceed its maximum string length of 536,870,888 code units.
handleSessionResumeCore() requests no historical replay. Respecting replayEvents: false throughout the initialization path would avoid serializing the event array during extension attachment.
Affected version
GitHub Copilot CLI 1.0.82
Steps to reproduce the behavior
- Configure an extension whose entry point calls
joinSession(). - Open or resume a session whose serialized event history exceeds V8's maximum string length.
- Start or reload the extension.
- Inspect the extension log.
The session.resume request fails with Invalid string length. The extension process then exits before reporting ready.
Expected behavior
Extension startup should not depend on the total size of the session history. joinSession() should complete without materializing unrequested historical events as a single JavaScript string.
Additional context
Environment: Linux x86_64.
#4325 reported the same engine limit for CLI session resume and was closed as completed. Extension attachment still fails.
#4670 tracks stale registrations and hanging tool calls after a startup failure. Reproducing it surfaced this attachment failure, which #4670 records as a separate defect.
- Linguagem predominante
- Shell
- Estrelas
- 11.2k
- Forks
- 1.9k
- Merge médio
- 17h 6min
- PRs com merge (30d)
- 5
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de github/copilot-cli
-
area:sessions
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
github/copilot-cli#4996 ·
Mantenedores costumam responder em até 1 dia
-
triage
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
github/copilot-cli#4963 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
github/copilot-cli#4932 ·
Mantenedores costumam responder em até 1 dia
-
triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
github/copilot-cli#4909 ·
Mantenedores costumam responder em até 1 dia
-
triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
github/copilot-cli#4906 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de github/copilot-cli
Issues semelhantes
-
area:release bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
registrystack/registry-stack#1874 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
AppImage/appimage.github.io#9676 ·
Mantenedores costumam responder em até 1 dia
-
Link Checker ReportAbertaautomated issue report
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
a2aproject/A2A#2289 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
YunoHost-Apps/pixelfed_ynh#346 ·