perl6-internals
[Top] [All Lists]

[perl #58460] [PATCH] Bug with ResizablePMCArray::Append

To: bugs-bitbucket@netlabs.develooper.com
Subject: [perl #58460] [PATCH] Bug with ResizablePMCArray::Append
From: Stephen Weeks (via RT) <parrotbug-followup@parrotcode.org>
Date: Fri, 29 Aug 2008 21:47:41 -0700
Delivered-to: mailing list perl6-all@perl.org
Delivered-to: perl6-all-poster@perl.org
Delivered-to: mailing list perl6-internals@perl.org
Delivered-to: moderator for perl6-internals@perl.org
Delivered-to: perl6-internals@perl.org
In-reply-to: <20080830044716.GC15777@castro.iodynamics.com>
List-help: <mailto:perl6-all-help@perl.org>
List-id: <perl6-all.perl.org>
List-id: <perl6-internals.perl.org>
List-post: <mailto:perl6-all@perl.org>
List-subscribe: <mailto:perl6-all-subscribe@perl.org>
List-unsubscribe: <mailto:perl6-all-unsubscribe@perl.org>
Mail-followup-to: perl6-internals@perl.org
Mailing-list: contact perl6-all-help@perl.org; run by ezmlm
Managed-by: RT 3.6.HEAD (http://www.bestpractical.com/rt/)
References: <RT-Ticket-58460@perl.org> <20080830044716.GC15777@castro.iodynamics.com>
Reply-to: perl6-internals@perl.org
Resent-date: Fri, 29 Aug 2008 21:47:42 -0700
Resent-from: rt-tene=allalone.org@netlabs.develooper.com
Resent-message-id: <200808300447.m7U4lgUQ007904@x17.develooper.com>
Resent-to: perl6-internals@perl.org
Rt-originator: tene@allalone.org
Rt-ticket: perl #58460
# New Ticket Created by  Stephen Weeks 
# Please include the string:  [perl #58460]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=58460 >


I tried using resizablepmcarray's append() in cardinal and I got 'double fre or 
corruption' on program exit.

I tried to fix it, but I'm not sure about GC issues.

As far as I can tell, the attached shouldwork.patch (which adds 
GC_WRITE_BARRIER before the write) should fix the problem, but it doesn't 
change anything.

The attached doeswork.patch actually does fix the issue, but has some obvious 
issues.

As far as I can tell, shouldwork.patch is doing the same thing as
calling VTABLE_set_pmc_keyed_int does, so I'm not sure why it doesn't
work.

I couldn't reproduce it with ResizablePMCArrays directly, though.  I'll
keep working to see if I can generate a small test case.

Anyone have any ideas?


From: Ilya Belikin (via RT) <perl6-bugs-followup@perl.org>
X-Virus-Check-By: mailtest2.pair.com
X-Spam-Check-By: mailtest2.pair.com
X-Spam-Status: No, hits=-9.6 required=4.0 
tests=BAYES_00,DATE_IN_PAST_12_24,RCVD_IN_DNSWL_HI autolearn=ham 
version=3.002005
X-Spam-Flag: NO
X-Spam-Level: 
X-Spam-Filtered: 052f96e22adcb440ba93d277d4a1272f
Mailing-List: contact perl6-all-help@perl.org; run by ezmlm
Precedence: bulk
List-Post: <mailto:perl6-all@perl.org>
List-Help: <mailto:perl6-all-help@perl.org>
List-Unsubscribe: <mailto:perl6-all-unsubscribe@perl.org>
List-Subscribe: <mailto:perl6-all-subscribe@perl.org>
List-Id: <perl6-all.perl.org>
Delivered-To: mailing list perl6-all@perl.org
Delivered-To: perl6-all-poster@perl.org
X-Mailing-List: contact perl6-compiler-help@perl.org; run by ezmlm
X-Mailing-List-Name: perl6-compiler
List-Id: <perl6-compiler.perl.org>
Delivered-To: mailing list perl6-compiler@perl.org
Delivered-To: moderator for perl6-compiler@perl.org
Delivered-To: perl6-compiler@perl.org
Resent-Date: Sat, 30 Aug 2008 07:17:08 -0700
Resent-From: rt-forihrd=gmail.com@netlabs.develooper.com
Resent-Message-Id: <200808301417.m7UEH8L4006198@x17.develooper.com>
X-Authentication-Warning: x17.develooper.com: rt set sender to 
rt-forihrd=gmail.com@rt.perl.org using -f
X-RT-NewTicket: yes
To: bugs-bitbucket@netlabs.develooper.com
Resent-To: perl6-compiler@perl.org
Mail-Followup-To: perl6-compiler@perl.org
Reply-To: perl6-compiler@perl.org
Date: Sat, 30 Aug 2008 07:17:07 -0700
Subject: [perl #58464] Match bug, $0 empty 
In-Reply-To: <ce7d754b0808300716w36bfb2bagb1dd70d085a04d79@mail.gmail.com>
References: <RT-Ticket-58464@perl.org> 
<ce7d754b0808300716w36bfb2bagb1dd70d085a04d79@mail.gmail.com>
Message-ID: <rt-3.6.HEAD-29762-1220105827-965.58464-82-0@perl.org>
X-RT-Loop-Prevention: perl
RT-Ticket: perl #58464
Managed-by: RT 3.6.HEAD (http://www.bestpractical.com/rt/)
RT-Originator: forihrd@gmail.com
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="utf-8"
X-RT-Original-Encoding: utf-8
X-Old-Spam-Check-By: la.mx.develooper.com
X-Old-Spam-Status: No, hits=-3.6 required=8.0
        tests=BAYES_00,RCVD_IN_DNSWL_LOW

# New Ticket Created by  Ilya Belikin 
# Please include the string:  [perl #58464]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=58464 >


Hi!

my $string = '%CD';
while ( $string ~~ /\%(..)/ ) {
   my $match = $0;
}

that die with Null PMC access in get_pmc_keyed_int()

Ihrd
Vladivostok.pm


From: Ilya Belikin (via RT) <perl6-bugs-followup@perl.org>
X-Virus-Check-By: mailtest2.pair.com
X-Spam-Check-By: mailtest2.pair.com
X-Spam-Status: No, hits=-9.6 required=4.0 
tests=BAYES_00,DATE_IN_PAST_12_24,RCVD_IN_DNSWL_HI autolearn=ham 
version=3.002005
X-Spam-Flag: NO
X-Spam-Level: 
X-Spam-Filtered: 052f96e22adcb440ba93d277d4a1272f
Mailing-List: contact perl6-all-help@perl.org; run by ezmlm
Precedence: bulk
List-Post: <mailto:perl6-all@perl.org>
List-Help: <mailto:perl6-all-help@perl.org>
List-Unsubscribe: <mailto:perl6-all-unsubscribe@perl.org>
List-Subscribe: <mailto:perl6-all-subscribe@perl.org>
List-Id: <perl6-all.perl.org>
Delivered-To: mailing list perl6-all@perl.org
Delivered-To: perl6-all-poster@perl.org
X-Mailing-List: contact perl6-compiler-help@perl.org; run by ezmlm
X-Mailing-List-Name: perl6-compiler
List-Id: <perl6-compiler.perl.org>
Delivered-To: mailing list perl6-compiler@perl.org
Delivered-To: moderator for perl6-compiler@perl.org
Delivered-To: perl6-compiler@perl.org
Resent-Date: Sat, 30 Aug 2008 07:41:04 -0700
Resent-From: rt-forihrd=gmail.com@netlabs.develooper.com
Resent-Message-Id: <200808301441.m7UEf4Je008887@x17.develooper.com>
X-Authentication-Warning: x17.develooper.com: rt set sender to 
rt-forihrd=gmail.com@rt.perl.org using -f
X-RT-NewTicket: yes
To: bugs-bitbucket@netlabs.develooper.com
Resent-To: perl6-compiler@perl.org
Mail-Followup-To: perl6-compiler@perl.org
Reply-To: perl6-compiler@perl.org
Date: Sat, 30 Aug 2008 07:41:02 -0700
Subject: [perl #58466] Re: Match bug, $0 empty 
In-Reply-To: <ce7d754b0808300740m53e4188bw70bdfcb52fd4cf26@mail.gmail.com>
References: <RT-Ticket-58466@perl.org> 
<ce7d754b0808300716w36bfb2bagb1dd70d085a04d79@mail.gmail.com> 
<ce7d754b0808300740m53e4188bw70bdfcb52fd4cf26@mail.gmail.com>
Message-ID: <rt-3.6.HEAD-29762-1220107262-575.58466-82-0@perl.org>
X-RT-Loop-Prevention: perl
RT-Ticket: perl #58466
Managed-by: RT 3.6.HEAD (http://www.bestpractical.com/rt/)
RT-Originator: forihrd@gmail.com
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="utf-8"
X-RT-Original-Encoding: utf-8
X-Old-Spam-Check-By: la.mx.develooper.com
X-Old-Spam-Status: No, hits=-3.6 required=8.0
        tests=BAYES_00,RCVD_IN_DNSWL_LOW

# New Ticket Created by  Ilya Belikin 
# Please include the string:  [perl #58466]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=58466 >


Oh, excuse me:
---
osname= linux
osvers= 2.6.15.7
arch=   i486-linux-gnu-thread-multi
cc=     cc
---
Flags:
    category=core
    severity=critical
    ack=no
---

---
Summary of my parrot 0.7.0 (r30645) configuration:
  configdate='Sat Aug 30 04:01:46 2008 GMT'
  Platform:
    osname=linux, archname=i486-linux-gnu-thread-multi
    jitcapable=1, jitarchname=i386-linux,
    jitosname=LINUX, jitcpuarch=i386
    execcapable=1
    perl=/usr/local/bin/perl
  Compiler:
    cc='cc', ccflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
-DDEBIAN  -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -DHASATTRIBUTE_CONST  -DHASATTRIBUTE_DEPRECATED
 -DHASATTRIBUTE_MALLOC  -DHASATTRIBUTE_NONNULL
-DHASATTRIBUTE_NORETURN  -DHASATTRIBUTE_PURE  -DHASATTRIBUTE_UNUSED
-DHASATTRIBUTE_WARN_UNUSED_RESULT  -falign-functions=16
-fvisibility=hidden -maccumulate-outgoing-args -W -Wall
-Waggregate-return -Wcast-align -Wcast-qual -Wchar-subscripts
-Wcomment -Wdisabled-optimization -Wendif-labels -Wextra -Wformat
-Wformat-extra-args -Wformat-nonliteral -Wformat-security -Wformat-y2k
-Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch
-Wmissing-braces -Wmissing-field-initializers
-Wno-missing-format-attribute -Wmissing-include-dirs -Wpacked
-Wparentheses -Wpointer-arith -Wreturn-type -Wsequence-point
-Wno-shadow -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2
-Wswitch -Wswitch-default -Wtrigraphs -Wundef -Wunknown-pragmas
-Wno-unused -Wvariadic-macros -Wwrite-strings -Wbad-function-cast
-Wc++-compat -Wdeclaration-after-statement
-Wimplicit-function-declaration -Wimplicit-int -Wmain
-Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wnonnull
-DDISABLE_GC_DEBUG=1 -DNDEBUG -O2 -DHAS_GETTEXT',


2008/8/31 Илья <forihrd@gmail.com>:
> Hi!
>
> my $string = '%CD';
> while ( $string ~~ /\%(..)/ ) {
>   my $match = $0;
> }
>
> that die with Null PMC access in get_pmc_keyed_int()
>
> Ihrd
> Vladivostok.pm
>


<Prev in Thread] Current Thread [Next in Thread>
  • [perl #58460] [PATCH] Bug with ResizablePMCArray::Append, via RT <=