impg syng2gfa fails with failed to find symbol 515 offset 0 in linear rskip
Affected: impg 0.4.1 (this main branch) and pangenome/impg:1778787077 Docker image.
impg syng2gfa aborts immediately after loading the GBWT with a fatal error
in syng's rskip (run-length compressed skip list) lookup. The error is
deterministic across inputs of any size — reproduces on as little as 2
yeast haplotypes × chrI (124 kB). The companion impg syng index build
runs cleanly; only the GFA export step is broken.
Reproduction
# Get two yeast S. cerevisiae chrI sequences (any small FASTA pair works,
# this is just what we used).
agc getctg yeast235.agc S288C#0#chrI W303#0#chrI > yeast2_chrI.fa
bgzip yeast2_chrI.fa
samtools faidx yeast2_chrI.fa.gz
# Build index — succeeds.
impg syng -f yeast2_chrI.fa.gz -o yeast2_chrI
# Export GFA — fails.
impg syng2gfa -a yeast2_chrI --sequence-files yeast2_chrI.fa.gz -o out.gfa
Expected
A valid GFA 1.0 (or 1.1 with --gfa-version 1.1) written to out.gfa.
Actual
[2026-05-14T20:51:38Z INFO impg::commands::syng2gfa] [syng2gfa] loading syng index from prefix 'yeast2_chrI'
[2026-05-14T20:51:38Z INFO impg::commands::syng2gfa] [syng2gfa] building sequence index for 1 file(s) (gap fill)
read GBWT with 10349 vertices and 20944 edges from yeast2_chrI.1gbwt
Linear max 16 nSym 2 free 13
DIR 0 sym 511 offset 42 count 4
DIR 1 sym 515 offset 42 count 2
1: i 15 iSym 0 count 4 sum 4 sSum 4
2: i 14 iSym 1 count 2 sum 6 sSum 2
[2026-05-14T20:51:38Z INFO impg::commands::syng2gfa] [syng2gfa] 10349 syncmer segments (length 63 bp), GFA 1.0, gap fill: FASTA/AGC
FATAL ERROR: failed to find symbol 515 offset 0 in linear rskip
out.gfa is created but empty (0 bytes).
What I tried (no effect)
--gfa-version 1.0 vs --gfa-version 1.1 — both fail at the same point.
- Subsampling: same error with 6 strains × chrI (1.35 MB) and 2 strains ×
chrI (124 kB). Error is independent of dataset size.
--parallel-dictionary on the index build — index still builds, GFA
export still fails identically.
- Local build (cargo install from main, Rust 1.95 + conda-provided htslib)
vs Docker image pangenome/impg:1778787077 — same bug in both, so this
isn't a build artifact.
Adjacent observation (possibly related)
impg syng -f yeast6.fa.gz (6 yeast haplotypes, whole genomes, ~72 MB)
fails during the index build itself on chrIV with:
FATAL ERROR: syngBWTadd -ve output retVal -3 callCount 139595 k 262830
Both errors are inside the GBWT/rskip layer and may share a root cause.
Environment
- impg: 0.4.1 (this main, commit pinned by submodule) and Docker
pangenome/impg:1778787077
- syng vendor submodule SHA:
dc18190342c32349a060816f1fafcc51185d2922
- OS: Ubuntu 24.04.1, glibc 2.39
- gcc 13.3.0, cmake 3.28.3, Rust 1.95.0
- Data: yeast 1011 dataset (
yeast235.agc from garrisonlab S3 bucket),
chr-I extracted via agc getctg.
impg syng2gfafails withfailed to find symbol 515 offset 0 in linear rskipAffected:
impg 0.4.1(this main branch) andpangenome/impg:1778787077Docker image.impg syng2gfaaborts immediately after loading the GBWT with a fatal errorin syng's
rskip(run-length compressed skip list) lookup. The error isdeterministic across inputs of any size — reproduces on as little as 2
yeast haplotypes × chrI (124 kB). The companion
impg syngindex buildruns cleanly; only the GFA export step is broken.
Reproduction
Expected
A valid GFA 1.0 (or 1.1 with
--gfa-version 1.1) written toout.gfa.Actual
out.gfais created but empty (0 bytes).What I tried (no effect)
--gfa-version 1.0vs--gfa-version 1.1— both fail at the same point.chrI (124 kB). Error is independent of dataset size.
--parallel-dictionaryon the index build — index still builds, GFAexport still fails identically.
vs Docker image
pangenome/impg:1778787077— same bug in both, so thisisn't a build artifact.
Adjacent observation (possibly related)
impg syng -f yeast6.fa.gz(6 yeast haplotypes, whole genomes, ~72 MB)fails during the index build itself on chrIV with:
Both errors are inside the GBWT/rskip layer and may share a root cause.
Environment
pangenome/impg:1778787077dc18190342c32349a060816f1fafcc51185d2922yeast235.agcfromgarrisonlabS3 bucket),chr-I extracted via
agc getctg.