timezone info unavailable in builds with small ICU
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- javascript, nodejs
- Ambito
- build-system, internationalization
Direzione di ricerca
Reproduce the failure with the provided nix-shell command using small ICU and Temporal, then trace Temporal.Instant.toString() through the timezone-info loading path. Inspect how ICU computes the length of the final Zoneinfo64 item. Done means the command completes without the timezone error and the assertion produces the expected string.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Version
main
Platform
Subsystem
No response
What steps will reproduce the bug?
nix-shell --argstr icu small --arg withTemporal true --arg devTools '[]' --arg benchmarkTools '[]' --run 'make build-ci -j8'
./node -e 'assert.strictEqual(Temporal.Instant.from("1969-07-20T20:17:00Z").toString(), "1969-07-20T20:17:00Z")'
How often does it reproduce? Is there a required condition?
small ICU with Temporal
What is the expected behavior? Why is that the expected behavior?
Temporal.Instant.from("1969-07-20T20:17:00Z").toString() should output the input string
What do you see instead?
assert.strictEqual(Temporal.Instant.from("1969-07-20T20:17:00Z").toString(), "1969-07-20T20:17:00Z")
^
Error: Temporal error: Internal error: Failed to load timezone info.
at Instant.toString (<anonymous>)
at [eval]:1:66
at runScriptInThisContext (node:internal/vm:219:10)
at node:internal/process/execution:485:12
at [eval]-wrapper:6:24
at runScriptInContext (node:internal/process/execution:483:60)
at evalFunction (node:internal/process/execution:317:30)
at evalTypeScript (node:internal/process/execution:329:3)
at node:internal/main/eval_string:71:3
Node.js v27.0.0-pre
Additional information
Refs: https://github.com/nodejs/node/issues/62676
According to @srl295, this is due to how ICU compute length: it compares the position of the item and the position of the next item; in this case, Zoneinfo64 is the last item, so there are no "next item" to compute the length so it assumes it's empty and throws.
- Lingua principale
- JavaScript
- Stelle
- 122k
- Fork
- 37.4k
- Merge medio
- 4g 4h
- PR unite (30g)
- 276
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di nodejs/node
-
doc
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
build
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
-
feature request
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Issue simili
-
ai-observability bug team/ai-observability
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
AllTheMods/ATM-10-L#19 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
SignalK/n2k-signalk#345 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
JuliaPluto/PlutoPlotly.jl#72 ·