Skip to content

BBC: bleadperl breaks MILAD/GD-Persian-0.9.tar.gz #24231

@andk

Description

@andk

Description

Sample fail report: https://www.cpantesters.org/cpan/report/0a851822-0ff2-11f1-b033-f90275604492

From that report the panic:
panic: force_out_malformed_utf8_message_ should be called only when there are errors found at /tmp/loop_over_bdir-1492701-G2E9ht/GD-Persian-0.9-0/blib/lib/GD/Persian.pm line 96.

If the perl is built with DEBUGGING, then the diagnostics would read something like this:
perl: utf8.c:72: Perl_force_out_malformed_utf8_message_: Assertion p < e' failed.`

Bisect has been running and found the culprit at v5.43.7-418-g3b85b09dee:

3b85b09deef998bde1d4bea5b5d7a67ba83c86c1 is the first bad commit
commit 3b85b09deef998bde1d4bea5b5d7a67ba83c86c1
Author: Karl Williamson <[email protected]>
Date:   Fri Feb 13 13:36:06 2026 -0700

    intuit_more: Use cleaned-up value instead of raw

    scan_ident() creates a cleaned-up version of its input.  We do not yet
    handle any inputs that need cleaning, but future commits will.  Change
    to use that.
 
 toke.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)
bisect found first bad commit

Steps to Reproduce

cpan -i Module::Install MILAD/GD-Persian-0.9.tar.gz
(The GD-Persian module does not declare the dependency on Module::Install, so we have to install that on our own)

Expected behavior

test and install OK

Perl configuration

# perl -V output goes here
Summary of my perl5 (revision 5 version 43 subversion 8) configuration:
  Commit id: 58f6f0b70c384e915a586f656f7e581adafbf969
  Platform:
    osname=linux
    osvers=6.8.0-90-generic
    archname=x86_64-linux-thread-multi-ld
    uname='linux k93jammy 6.8.0-90-generic #91~22.04.1-ubuntu smp preempt_dynamic thu nov 20 15:20:45 utc 2 x86_64 x86_64 x86_64 gnulinux '
    config_args='-Dprefix=/home/sand/src/perl/repoperls/installed-perls/host/k93jammy/v5.43.8/322f -Dmyhostname=k93jammy -Dinstallusrbinperl=n -Uversiononly -Dusedevel -des -Ui_db -Dlibswanted=cl pthread socket inet nsl gdbm dbm malloc dl ld sun m crypt sec util c cposix posix ucb BSD gdbm_compat -Duseithreads -Duselongdouble -DEBUGGING=-g'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=define
    usemultiplicity=define
    use64bitint=define
    use64bitall=define
    uselongdouble=define
    usemymalloc=n
    default_inc_excludes_dot=define
  Compiler:
    cc='cc'
    ccflags ='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
    optimize='-O2 -g'
    cppflags='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    ccversion=''
    gccversion='11.4.0'
    gccosandvers=''
    intsize=4
    longsize=8
    ptrsize=8
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=define
    longlongsize=8
    d_longdbl=define
    longdblsize=16
    longdblkind=3
    ivtype='long'
    ivsize=8
    nvtype='long double'
    nvsize=16
    Off_t='off_t'
    lseeksize=8
    alignbytes=16
    prototype=define
  Linker and Libraries:
    ld='cc'
    ldflags =' -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/local/lib /usr/lib/x86_64-linux-gnu /usr/lib /usr/lib64
    libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    libc=/lib/x86_64-linux-gnu/libc.so.6
    so=so
    useshrplib=false
    libperl=libperl.a
    gnulibc_version='2.35'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=so
    d_dlsymun=undef
    ccdlflags='-Wl,-E'
    cccdlflags='-fPIC'
    lddlflags='-shared -O2 -g -L/usr/local/lib -fstack-protector-strong'


Characteristics of this binary (from libperl): 
  Compile-time options:
    HAS_LONG_DOUBLE
    HAS_STRTOLD
    HAS_TIMES
    MULTIPLICITY
    PERLIO_LAYERS
    PERL_COPY_ON_WRITE
    PERL_HASH_FUNC_SIPHASH13
    PERL_HASH_USE_SBOX32
    PERL_MALLOC_WRAP
    PERL_OP_PARENT
    PERL_PRESERVE_IVUV
    PERL_USE_DEVEL
    PERL_USE_SAFE_PUTENV
    USE_64_BIT_ALL
    USE_64_BIT_INT
    USE_ITHREADS
    USE_LARGE_FILES
    USE_LOCALE
    USE_LOCALE_COLLATE
    USE_LOCALE_CTYPE
    USE_LOCALE_NUMERIC
    USE_LOCALE_TIME
    USE_LONG_DOUBLE
    USE_PERLIO
    USE_PERL_ATOF
    USE_REENTRANT_API
    USE_THREAD_SAFE_LOCALE
  Built under linux
  Compiled at Feb 21 2026 10:48:44
  %ENV:
    PERL="/tmp/basesmoker-reloperl-kAdm/bin/perl"
    PERL5LIB="/tmp/loop_over_bdir-1492701-G2E9ht/Schema-RDBMS-AUS-0.04-0/blib/arch:/tmp/loop_over_bdir-1492701-G2E9ht/Schema-RDBMS-AUS-0.04-0/blib/lib:/tmp/loop_over_bdir-1492701-G2E9ht/DBIx-Migration-Directories-0.12-0/blib/arch:/tmp/loop_over_bdir-1492701-G2E9ht/DBIx-Migration-Directories-0.12-0/blib/lib"
    PERL5OPT=""
    PERL5_CPANPLUS_IS_RUNNING="1492709"
    PERL5_CPAN_IS_RUNNING="1492709"
    PERL_CANARY_STABILITY_NOPROMPT="1"
    PERL_MM_USE_DEFAULT="1"
    PERL_USE_UNSAFE_INC="1"
  @INC:
    /tmp/loop_over_bdir-1492701-G2E9ht/Schema-RDBMS-AUS-0.04-0/blib/arch
    /tmp/loop_over_bdir-1492701-G2E9ht/Schema-RDBMS-AUS-0.04-0/blib/lib
    /tmp/loop_over_bdir-1492701-G2E9ht/DBIx-Migration-Directories-0.12-0/blib/arch
    /tmp/loop_over_bdir-1492701-G2E9ht/DBIx-Migration-Directories-0.12-0/blib/lib
    /home/sand/src/perl/repoperls/installed-perls/host/k93jammy/v5.43.8/322f/lib/site_perl/5.43.8/x86_64-linux-thread-multi-ld
    /home/sand/src/perl/repoperls/installed-perls/host/k93jammy/v5.43.8/322f/lib/site_perl/5.43.8
    /home/sand/src/perl/repoperls/installed-perls/host/k93jammy/v5.43.8/322f/lib/5.43.8/x86_64-linux-thread-multi-ld
    /home/sand/src/perl/repoperls/installed-perls/host/k93jammy/v5.43.8/322f/lib/5.43.8
    .

Metadata

Metadata

Assignees

No one assigned

    Labels

    BBCBlead Breaks CPAN - changes in blead broke a cpan module(s)Needs Triage

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions