Package: libtext-unaccent-perl
Version: 1.08-1.2+b1
Severity: grave

The most useful method of Text::Unaccent seems to cause a segmentation
fault (which was not the case a few weeks ago):

$ locale
LANG=C
LANGUAGE=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C
$ perl -MText::Unaccent -e 'print unac_string("utf-8","a")'
Segmentation fault
$


I tried various locales, to no avail.  I also tried changing "utf-8" to
uppercase and/or removing the dash.  I also tried rebuilding against
current perl, thinking maybe there was an ABI change.

After installing the debug packages, here's the backtrace I get in gdb:

$ gdb perl
GNU gdb (Debian 7.12-1) 7.12
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from perl...Reading symbols from 
/usr/lib/debug//usr/bin/perl...done.
done.
(gdb) run -MText::Unaccent -e 'print unac_string("utf-8","a")'
Starting program: /usr/bin/perl -MText::Unaccent -e 'print 
unac_string("utf-8","a")'
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
__GI___libc_free (mem=0x555500000000) at malloc.c:2963
2963    malloc.c: No such file or directory.
(gdb) bt
#0  __GI___libc_free (mem=0x555500000000) at malloc.c:2963
#1  0x00007ffff6ed5ea4 in unac_string () from 
/usr/lib/x86_64-linux-gnu/perl5/5.24/auto/Text/Unaccent/Unaccent.so
#2  0x00007ffff6ed51dd in XS_Text__Unaccent_unac_string () from 
/usr/lib/x86_64-linux-gnu/perl5/5.24/auto/Text/Unaccent/Unaccent.so
#3  0x00005555556280b0 in Perl_pp_entersub (my_perl=0x555555941010) at 
pp_hot.c:3987
#4  0x00005555556205d6 in Perl_runops_standard (my_perl=0x555555941010) at 
run.c:41
#5  0x00005555555a66e9 in S_run_body (oldscope=1, my_perl=0x555555941010) at 
perl.c:2488
#6  perl_run (my_perl=0x555555941010) at perl.c:2411
#7  0x000055555557f85d in main (argc=<optimized out>, argv=<optimized out>, 
env=<optimized out>) at perlmain.c:116
(gdb) quit
A debugging session is active.

        Inferior 1 [process 21916] will be killed.

Quit anyway? (y or n) y
$ 

I don't know whether the bug lies in libtext-unaccent-perl, in perl
itself, or in libc6.  Feel free to reassign accordingly :-)

Roland.

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 4.8.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages libtext-unaccent-perl depends on:
ii  libc6                       2.24-8
ii  perl                        5.24.1~rc4-1
ii  perl-base [perlapi-5.24.1]  5.24.1~rc4-1

libtext-unaccent-perl recommends no packages.

libtext-unaccent-perl suggests no packages.

-- no debconf information

-- 
Roland Mas

Indépendant en informatique libre -- Free software freelance
http://www.gnurandal.com/

Reply via email to