Package: perl
Version: 5.8.8-6.1
Severity: normal

Here's a reproducable segfault that occurs with Request Tracker inside
the Text::Tabs module. A minimal testcase is:

 #!/usr/bin/perl -w
 use strict;
 use Encode;
 my $s = "\x{c3}\x{84}\x{54}\x{c3}\x{84}\x{5c}\x{9}";
 $_ = Encode::decode('utf8', $s);
 s{\t}{pos()}e;

Backtrace:

Starting program: /usr/bin/debugperl ../t.pl
[Thread debugging using libthread_db enabled]
[New Thread 47262378811456 (LWP 19001)]

Program received signal SIGSEGV, Segmentation fault.
offsetp=0x7fff89e00704)
    at sv.c:5810
5810                                while (UTF8_IS_CONTINUATION(*p)) {
(gdb) bt
#0  0x00000000004d5e0d in Perl_sv_pos_b2u (my_perl=0x6c6010, sv=0x6c7220, 
offsetp=0x7fff89e00704)
    at sv.c:5810
#1  0x00000000004eeb90 in Perl_pp_pos (my_perl=0x6c6010) at pp.c:340
#2  0x0000000000498eba in Perl_runops_debug (my_perl=0x6c6010) at dump.c:1459
#3  0x0000000000423f18 in S_run_body (my_perl=0x6c6010, oldscope=1) at 
perl.c:2366
#4  0x0000000000423820 in perl_run (my_perl=0x6c6010) at perl.c:2283
#5  0x000000000041d5da in main (argc=2, argv=0x7fff89e00a08, 
env=0x7fff89e00a20) at perlmain.c:99


This is also rt.perl.org bug #39893. As suggested there, here's the
output of Perl_sv_dump():

(gdb) call Perl_sv_dump(my_perl, sv) 
SV = PVMG(0x7bdff0) at 0x6c7220
  REFCNT = 1
  FLAGS = (SMG,POK,pPOK,UTF8)
  IV = 0
  NV = 0
  PV = 0x6f6d10 "\303\204T\303\204\\\t"\0 [UTF8 "\x{c4}T\x{c4}\\\t"]
  CUR = 7
  LEN = 8
  MAGIC = 0x6f8c70
    MG_VIRTUAL = &PL_vtbl_utf8
    MG_TYPE = PERL_MAGIC_utf8(w)
    MG_LEN = 5
    MG_PTR = 0x6e9d20
       0: 4 -> 4
       1: 0 -> 0
  MAGIC = 0x6f6ab0
    MG_VIRTUAL = &PL_vtbl_mglob
    MG_TYPE = PERL_MAGIC_regex_global(g)
    MG_LEN = 4

I'll send this information to rt.perl.org as well.

Cheers,
-- 
Niko Tyni               [EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to