Skip Menu |

This queue is for tickets about the DBIx-Class CPAN distribution.

Report information
The Basics
Id: 130271
Status: resolved
Priority: 0/
Queue: DBIx-Class

People
Owner: Nobody in particular
Requestors: ANDK [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.082841
Fixed in: (no value)



Subject: SEGV with recent bleadperls
http://www.cpantesters.org/cpan/report/7f2c75c0-b776-11e9-a6b7-e4c7f169214d I've reproduced the segv with the same and a few other bleadperls. Here is a stack trace with bleadperl v5.31.2-64-g625e8b0bf: Core was generated by `/home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.31.2-64-g625e8b0b'. Program terminated with signal SIGSEGV, Segmentation fault. #0 Perl_Slab_Free (my_perl=<optimized out>, op=0x557f2608fac0) at op.c:461 461 o->op_next = slab->opslab_freed; (gdb) bt #0 Perl_Slab_Free (my_perl=<optimized out>, op=0x557f2608fac0) at op.c:461 #1 0x0000557f240fcfec in Perl_op_free (my_perl=my_perl@entry=0x557f24886260, o=<optimized out>) at op.c:910 #2 0x0000557f240fd1d8 in Perl_op_free (my_perl=my_perl@entry=0x557f24886260, o=<optimized out>) at op.c:809 #3 0x0000557f2411e8a6 in perl_destruct (my_perl=0x557f24886260) at perl.c:896 #4 0x0000557f240f93ec in main (argc=<optimized out>, argv=<optimized out>, env=<optimized out>) at perlmain.c:138
The reproducability is not 100%, so an ordinary bisect is not reliable enough. Lowest commit on bleadperl with the SEGV so far: v5.31.2-54-g8c47b5bce7 Stack trace wth that: #0 Perl_Slab_Free (my_perl=<optimized out>, op=0x55765b10be70) at op.c:461 461 o->op_next = slab->opslab_freed; (gdb) bt #0 Perl_Slab_Free (my_perl=<optimized out>, op=0x55765b10be70) at op.c:461 #1 0x0000557658ccdfec in Perl_op_free (my_perl=my_perl@entry=0x557659902260, o=<optimized out>) at op.c:910 #2 0x0000557658cce1d8 in Perl_op_free (my_perl=my_perl@entry=0x557659902260, o=<optimized out>) at op.c:809 #3 0x0000557658cef886 in perl_destruct (my_perl=0x557659902260) at perl.c:896 #4 0x0000557658cca3ec in main (argc=<optimized out>, argv=<optimized out>, env=<optimized out>) at perlmain.c:138 Given the description at https://perl5.git.perl.org/perl.git/commit/8c47b5bce7 I'm ready to write this to P5P as a BBC report.
Subject: Re: [rt.cpan.org #130271] SEGV with recent bleadperls
Date: Thu, 8 Aug 2019 09:19:47 +0200
To: bug-DBIx-Class [...] rt.cpan.org
From: Peter Rabbitson <ribasushi [...] leporine.io>
On 08/08/2019 09:13 AM, Andreas Koenig via RT wrote: Show quoted text
> Queue: DBIx-Class > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=130271 > > > The reproducability is not 100%, so an ordinary bisect is not reliable enough. > > Lowest commit on bleadperl with the SEGV so far: v5.31.2-54-g8c47b5bce7 > > Stack trace wth that: > > #0 Perl_Slab_Free (my_perl=<optimized out>, op=0x55765b10be70) at op.c:461 > 461 o->op_next = slab->opslab_freed; > (gdb) bt > #0 Perl_Slab_Free (my_perl=<optimized out>, op=0x55765b10be70) at op.c:461 > #1 0x0000557658ccdfec in Perl_op_free (my_perl=my_perl@entry=0x557659902260, o=<optimized out>) at op.c:910 > #2 0x0000557658cce1d8 in Perl_op_free (my_perl=my_perl@entry=0x557659902260, o=<optimized out>) at op.c:809 > #3 0x0000557658cef886 in perl_destruct (my_perl=0x557659902260) at perl.c:896 > #4 0x0000557658cca3ec in main (argc=<optimized out>, argv=<optimized out>, env=<optimized out>) at perlmain.c:138 > > Given the description at https://perl5.git.perl.org/perl.git/commit/8c47b5bce7 I'm ready to write this to P5P as a BBC report. >
I am building an asan-blead to make an easier reproductor. Please stand by.
Subject: Re: [rt.cpan.org #130271] SEGV with recent bleadperls
Date: Thu, 8 Aug 2019 11:43:15 +0200
To: bug-DBIx-Class [...] rt.cpan.org
From: Peter Rabbitson <ribasushi [...] leporine.io>
This is definitely a p5p-side problem. Do not have a DBIC-free reproduction yet, but my asan-enabled CI flagged this: https://travis-ci.org/Perl5/DBIx-Class/jobs/569236007#L1555-L1655 ==888==ERROR: AddressSanitizer: heap-use-after-free on address 0x61d0003a61b0 at pc 0x00000042b7de bp 0x7ffdc5daa2e0 sp 0x7ffdc5daa2d8 READ of size 8 at 0x61d0003a61b0 thread T0 #0 0x42b7dd in Perl_Slab_Free /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:457 #1 0x42b7dd in Perl_Slab_Free /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:440 #2 0x42d510 in Perl_op_free /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:910 #3 0x48dba4 in perl_destruct /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/perl.c:896 #4 0x421d1b in main /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/perlmain.c:138 #5 0x2af96526df44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21f44) #6 0x422306 (/home/travis/perl5/perlbrew/perls/livebrew_devcpan_bleadperl_thr_mb_asan/bin/perl5.31.3+0x422306) 0x61d0003a61b0 is located 1328 bytes inside of 2280-byte region [0x61d0003a5c80,0x61d0003a6568) freed by thread T0 here: #0 0x2af963dc9f2e in realloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x107f2e) #1 0x5f0bb3 in Perl_safesysrealloc /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/util.c:279 #2 0x6469c4 in Perl_av_extend_guts /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/av.c:159 #3 0x547478 in Perl_padnamelist_store /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/pad.c:2639 #4 0x54c985 in Perl_pad_alloc /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/pad.c:751 #5 0x42a3bc in S_op_relocate_sv /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:3748 #6 0x42a3bc in S_op_relocate_sv /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:3743 #7 0x42a3bc in S_finalize_op /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:3852 #8 0x42e29b in Perl_finalize_optree /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:3733 #9 0x437722 in S_process_optree /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:3607 #10 0x471a26 in Perl_newATTRSUB_x /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:10683 #11 0x542bef in Perl_yyparse /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/perly.y:306 #12 0x71f0cf in S_doeval_compile /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/pp_ctl.c:3512 #13 0x731ee3 in S_require_file /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/pp_ctl.c:4332 #14 0x731ee3 in Perl_pp_require /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/pp_ctl.c:4356 #15 0x64ab4d in Perl_runops_standard /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/run.c:41 #16 0x48496a in Perl_call_sv /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/perl.c:3039 #17 0x48c4c5 in Perl_call_list /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/perl.c:5080 #18 0x42629b in S_process_special_blocks /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:10803 #19 0x4720b7 in Perl_newATTRSUB_x /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:10729 #20 0x47a88c in Perl_utilize /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:7896 #21 0x540624 in Perl_yyparse /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/perly.y:346 #22 0x498bc7 in S_parse_body /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/perl.c:2527 #23 0x498bc7 in perl_parse /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/perl.c:1818 #24 0x421c22 in main /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/perlmain.c:126 #25 0x2af96526df44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21f44) previously allocated by thread T0 here: #0 0x2af963dc9f2e in realloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x107f2e) #1 0x5f0bb3 in Perl_safesysrealloc /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/util.c:279 #2 0x6469c4 in Perl_av_extend_guts /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/av.c:159 #3 0x547478 in Perl_padnamelist_store /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/pad.c:2639 #4 0x54c985 in Perl_pad_alloc /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/pad.c:751 #5 0x42a3bc in S_op_relocate_sv /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:3748 #6 0x42a3bc in S_op_relocate_sv /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:3743 #7 0x42a3bc in S_finalize_op /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:3852 #8 0x42e29b in Perl_finalize_optree /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:3733 #9 0x437722 in S_process_optree /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:3607 #10 0x471a26 in Perl_newATTRSUB_x /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:10683 #11 0x542bef in Perl_yyparse /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/perly.y:306 #12 0x71f0cf in S_doeval_compile /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/pp_ctl.c:3512 #13 0x731ee3 in S_require_file /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/pp_ctl.c:4332 #14 0x731ee3 in Perl_pp_require /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/pp_ctl.c:4356 #15 0x64ab4d in Perl_runops_standard /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/run.c:41 #16 0x48496a in Perl_call_sv /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/perl.c:3039 #17 0x48c4c5 in Perl_call_list /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/perl.c:5080 #18 0x42629b in S_process_special_blocks /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:10803 #19 0x4720b7 in Perl_newATTRSUB_x /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:10729 #20 0x47a88c in Perl_utilize /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:7896 #21 0x540624 in Perl_yyparse /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/perly.y:346 #22 0x498bc7 in S_parse_body /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/perl.c:2527 #23 0x498bc7 in perl_parse /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/perl.c:1818 #24 0x421c22 in main /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/perlmain.c:126 #25 0x2af96526df44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21f44) SUMMARY: AddressSanitizer: heap-use-after-free /home/travis/perl5/perlbrew/build/blead/perl-blead-4510b39/op.c:457 in Perl_Slab_Free Shadow bytes around the buggy address: 0x0c3a8006cbe0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c3a8006cbf0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c3a8006cc00: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c3a8006cc10: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c3a8006cc20: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd =>0x0c3a8006cc30: fd fd fd fd fd fd[fd]fd fd fd fd fd fd fd fd fd 0x0c3a8006cc40: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c3a8006cc50: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c3a8006cc60: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c3a8006cc70: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c3a8006cc80: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb Shadow gap: cc ==888==ABORTING [09:38:47] t/storage/dbh_do.t .................................. Dubious, test returned 1 (wstat 256, 0x100)
On 2019-08-08 02:43:59, RIBASUSHI wrote: Show quoted text
> This is definitely a p5p-side problem.
It's fixed in blead now.
Was resolved by commit v5.31.2-86-g5d26d78791 in bleadperl
Subject: Re: [rt.cpan.org #130271] SEGV with recent bleadperls
Date: Mon, 12 Aug 2019 11:31:21 +0200
To: bug-DBIx-Class [...] rt.cpan.org
From: Peter Rabbitson <ribasushi [...] leporine.io>
On 08/12/2019 05:22 AM, Andreas Koenig via RT wrote: Show quoted text
> Queue: DBIx-Class > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=130271 > > > Was resolved by commit v5.31.2-86-g5d26d78791 in bleadperl >
Thanks for verifying Andreas!