Uncaught "Resizing to smaller array" when a spilling VSTACK/HSTACK/array literal contains an element whose size depends on a cell
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 75/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- backend
Direzione di ricerca
Start with vstackArraySize, hstackArraySize, and the ARRAY case of ArraySizePredictor, then inspect ArrayValue.resize and the SEQUENCE size prediction. Reproduce the cases through buildFromArray and setCellContents(B1, 2); done means unknown element sizes no longer cause a smaller-array error and the dependent spill stays consistent.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
HyperFormula.buildFromArray([['=VSTACK(SEQUENCE(B1),SEQUENCE(2))', 2]], {licenseKey: 'gpl-v3'}) throws Error: Resizing to smaller array instead of spilling 1,2,1,2. Same for =HSTACK(SEQUENCE(1,B1),SEQUENCE(1,2)), ={SEQUENCE(B1);1} and =ARRAY_CONSTRAIN(VSTACK(SEQUENCE(B1),SEQUENCE(2)),4,1). When it happens on setCellContents(B1, 2) the engine is left inconsistent (B1 holds 2, A1 still shows the values for B1 = 1).
Cause: vstackArraySize/hstackArraySize (and the ARRAY case of ArraySizePredictor) add up sub-sizes without checking isRef, so an element of unknown size counts as 1×1 and the predicted array is smaller than the evaluated one; ArrayValue.resize then throws. Wrapping the stack in a scalar function avoids it because the prediction is scalar.
Expected: when any element's size is unknown, the stack should predict ArraySize.error() (scalar fallback), as SEQUENCE itself does.
Reproduced on develop at c920375 (the merge-base of #1774; develop has had no src/ changes since). Unrelated to #1774, except that its runtime guard now returns #VALUE! when the evaluated stack also exceeds maxRows.
- Lingua principale
- TypeScript
- Stelle
- 2.8k
- Fork
- 174
- Merge medio
- 2g 16h
- PR unite (30g)
- 9
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi 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 handsontable/hyperformula
-
[Bug]: SUBSTITUTE expands dollar sequences in replacement textForse già presa @vera-rubin l’ha presa 7 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
handsontable/hyperformula#1808 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
handsontable/hyperformula#1803 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
handsontable/hyperformula#1793 ·
I maintainer di solito rispondono entro 1 giorno
-
Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
handsontable/hyperformula#1745 ·
I maintainer di solito rispondono entro 1 giorno
-
Bug Impact: Low
Difficoltà 1/5 1-3 ore Idoneità per principianti 68/100
handsontable/hyperformula#1641 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di handsontable/hyperformula
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 72/100
zts212653/clowder-ai#1678 ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
Progressive-Victory/the-website#680 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100