#1144917 sra-sdk: autopkgtest regression: Segmentation fault

#1144917#5
Date:
2026-08-20 12:40:33 UTC
From:
To:
Hi,

While checking the glibc transition (bug 1141940), I noticed that your
autopkgtest fails with the new glibc and it failing with a Segmentation
fault. To be open about it, we'll not be holding back the glibc
transition for this package, please have a look at it.

Paul

https://ci.debian.net/packages/s/sra-sdk/unstable/amd64/74480346/

  60s autopkgtest [12:02:15]: test run-unit-test: [-----------------------
  60s >>>>>Decompressing test-data archive...
  60s dbGaP-0/
  60s dbGaP-0/SRR2042184.fasta
  60s meta/
  60s meta/prj_phs710EA_test.ngc
  60s meta/SRR6650398_experiment.xml
  60s meta/SRR6650398.bam
  60s meta/SRR2042184_run.xml
  60s meta/SRR2042184_experiment.xml
  60s meta/SRR6650398_illumina_run.xml
  60s meta/SRR7032226_run.xml
  60s meta/SRR7032226_experiment.xml
  60s meta/reference.fna
  60s meta/SRR6650398_fastq_run.xml
  60s public/
  60s public/nannot/
  60s public/wgs/
  60s public/refseq/
  60s public/refseq/NC_000962.3
  60s public/sra/
  60s public/sra/SRR7032226.sra
  60s public/sra/SRR6650398.sra
  60s public/sra/SRR2042184.sra
  60s public/files/
  60s >>>>>Running test-sra...
  63s 2026-08-20T12:02:18 test-sra.3.2.1 fatal: SIGNAL - Segmentation fault
  64s autopkgtest [12:02:19]: test run-unit-test: -----------------------]

#1144917#12
Date:
2026-08-20 18:12:25 UTC
From:
To:
Hi,

This is the corresponding backtrace of the crash:

(gdb) bt
#0  __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:76
#1  0x00007ffff7ce4ed3 in KOutMsgNulTermStringFmt (arg=<optimized out>) at ./libs/klib/out.c:50
#2  KOutVMsg (fmt=<optimized out>, args=args@entry=0x7fffffffd3c0) at ./libs/klib/out.c:154
#3  0x00007ffff7ce518d in KOutMsg (fmt=fmt@entry=0x55555556c0b4 "%s") at ./libs/klib/out.c:177
#4  0x000055555555ac02 in MainRanges (self=self@entry=0x7fffffffd7e0, arg=arg@entry=0x55555556bc0a "SRR000001", bol=bol@entry=0x55555556b54d "  ", get=get@entry=true, aHost=aHost@entry=0x7fffffffd610,
    aPath=aPath@entry=0x7fffffffd630, https=true) at ./tools/external/test-sra/test-sra.c:2703
#5  0x000055555555be39 in MainNetwotk (self=self@entry=0x7fffffffd7e0, arg=arg@entry=0x55555556bc0a "SRR000001", bol=0x55555556b54d "  ", eol=eol@entry=0x55555556b78b "\n")
    at ./tools/external/test-sra/test-sra.c:2910
#6  0x00005555555617d0 in KMain (argc=<optimized out>, argv=<optimized out>) at ./tools/external/test-sra/test-sra.c:4121
#7  0x0000555555566c51 in KMane ()
#8  0x000055555555a123 in main ()
(gdb)
#0  __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:76
#1  0x00007ffff7ce4ed3 in KOutMsgNulTermStringFmt (arg=<optimized out>) at ./libs/klib/out.c:50
#2  KOutVMsg (fmt=<optimized out>, args=args@entry=0x7fffffffd3c0) at ./libs/klib/out.c:154
#3  0x00007ffff7ce518d in KOutMsg (fmt=fmt@entry=0x55555556c0b4 "%s") at ./libs/klib/out.c:177
#4  0x000055555555ac02 in MainRanges (self=self@entry=0x7fffffffd7e0, arg=arg@entry=0x55555556bc0a "SRR000001", bol=bol@entry=0x55555556b54d "  ", get=get@entry=true, aHost=aHost@entry=0x7fffffffd610,
    aPath=aPath@entry=0x7fffffffd630, https=true) at ./tools/external/test-sra/test-sra.c:2703
#5  0x000055555555be39 in MainNetwotk (self=self@entry=0x7fffffffd7e0, arg=arg@entry=0x55555556bc0a "SRR000001", bol=0x55555556b54d "  ", eol=eol@entry=0x55555556b78b "\n")
    at ./tools/external/test-sra/test-sra.c:2910
#6  0x00005555555617d0 in KMain (argc=<optimized out>, argv=<optimized out>) at ./tools/external/test-sra/test-sra.c:4121
#7  0x0000555555566c51 in KMane ()
#8  0x000055555555a123 in main ()

And valgrind already sopt that location, with glibc 2.42 or 2.43:

==3640786== Invalid read of size 1
==3640786==    at 0x48700A6: strlen (vg_replace_strmem.c:506)
==3640786==    by 0x49BFED2: KOutMsgNulTermStringFmt (out.c:50)
==3640786==    by 0x49BFED2: KOutVMsg (out.c:154)
==3640786==    by 0x49C018C: KOutMsg (out.c:177)
==3640786==    by 0x4006C01: MainRanges.constprop.0.isra.0 (test-sra.c:2703)
==3640786==    by 0x4007E38: MainNetwotk.isra.0 (test-sra.c:2910)
==3640786==    by 0x400D7CF: KMain (test-sra.c:4121)
==3640786==    by 0x4012C50: KMane (in /usr/bin/test-sra)
==3640786==    by 0x4006122: main (in /usr/bin/test-sra)
==3640786==  Address 0xffffffff is not stack'd, malloc'd or (recently) free'd
==3640786==
2026-08-20T18:09:49 test-sra.3.2.1 fatal: SIGNAL - Segmentation fault
==3640786==
==3640786== HEAP SUMMARY:
==3640786==     in use at exit: 1,497,081 bytes in 5,970 blocks
==3640786==   total heap usage: 47,871 allocs, 41,901 frees, 5,726,644 bytes allocated
==3640786==
==3640786== LEAK SUMMARY:
==3640786==    definitely lost: 4,112 bytes in 1 blocks
==3640786==    indirectly lost: 0 bytes in 0 blocks
==3640786==      possibly lost: 0 bytes in 0 blocks
==3640786==    still reachable: 1,492,969 bytes in 5,969 blocks
==3640786==         suppressed: 0 bytes in 0 blocks
==3640786== Rerun with --leak-check=full to see details of leaked memory
==3640786==
==3640786== For lists of detected and suppressed errors, rerun with: -s
==3640786== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)

So this is not a glibc bug. glibc 2.43 got changes to the memory
allocator, the memory is not allocated or reused the same way. This just
reveal an existing bug.

Regards
Aurelien

#1144917#17
Date:
2026-08-24 07:36:58 UTC
From:
To:
Hi Aaron,

I noticed there is a new upstream version (please pull, I've fixed
the watch file).  Since you have a direct channel to upstream would
you mind forwarding this issue?

Thanks a lot
    Andreas.