Hi,

On 2026-08-20 14:40, Paul Gevers wrote:
> Source: sra-sdk
> Version: 3.2.1+dfsg-6
> Severity: serious
> X-Debbugs-CC: [email protected] [email protected]
> Control: affects -1 src:glibc
> 
> 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: -----------------------]

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

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
[email protected]                     http://aurel32.net

Attachment: signature.asc
Description: PGP signature

Reply via email to