Re: [perl #131300] [BUG] MoarVM panic if you check for membership in undefined Set

2017-10-17 Thread Elizabeth Mattijsen
Fixed with 8a88d14905248526415 , unfudged tests, can be closed now.

> On 15 Oct 2017, at 08:54, Zoffix Znet via RT  
> wrote:
> 
> On Sat, 13 May 2017 01:24:28 -0700, elizabeth wrote:
>> All issues appear to be fixed with
>> https://github.com/rakudo/rakudo/commit/407bce1dc2 .
>> Tests are needed, also for the ⊇ and ⊉ and associated cases.
>> 
>>> On 12 May 2017, at 21:22, Zoffix Znet via RT >> follo...@perl.org> wrote:
>>> On Fri, 12 May 2017 12:07:11 -0700, c...@tilmes.org wrote:
 m: say 1 ∈ (Set) ?? 'present' !! 'not present';
 rakudo-moar dc5eec: OUTPUT: «MoarVM panic: Memory allocation failed;
 could
 not allocate 83968 bytes␤»
>>> 
>>> To add from https://irclog.perlgeek.de/perl6/2017-05-12#i_14573414
>>> 
>>> 19:16 Zoffix  it infini-loops in dispatch because Set.Set
>>> returns Set. And so far I see (elem), (cont), ∉, ∋, ∌ similarly
>>> affected. There might be more. Would you mind filing a bug for it?
>>> 19:20 Zoffix  And some ops like ⊇ and ⊉ crash with "can't
>>> look up attributes... " error. There's probably a meaning for type
>>> objects we could implement; like Set eqv set()
> 
> Tests committed[^1], but they show this ticket is not entirely resolved:
> 
>Still hangs for:   ∩  (&)  ⊍  (.)
> 
>Still have "Cannot lookup attributes in type object" for:   ∖  (-)  
> 
> The problematic tests are currently (manually) skip-fudged.
> 
> [1] https://github.com/perl6/roast/commit/87889891d1


Re: [perl #131300] [BUG] MoarVM panic if you check for membership in undefined Set

2017-10-17 Thread Elizabeth Mattijsen via RT
Fixed with 8a88d14905248526415 , unfudged tests, can be closed now.

> On 15 Oct 2017, at 08:54, Zoffix Znet via RT  
> wrote:
> 
> On Sat, 13 May 2017 01:24:28 -0700, elizabeth wrote:
>> All issues appear to be fixed with
>> https://github.com/rakudo/rakudo/commit/407bce1dc2 .
>> Tests are needed, also for the ⊇ and ⊉ and associated cases.
>> 
>>> On 12 May 2017, at 21:22, Zoffix Znet via RT >> follo...@perl.org> wrote:
>>> On Fri, 12 May 2017 12:07:11 -0700, c...@tilmes.org wrote:
 m: say 1 ∈ (Set) ?? 'present' !! 'not present';
 rakudo-moar dc5eec: OUTPUT: «MoarVM panic: Memory allocation failed;
 could
 not allocate 83968 bytes␤»
>>> 
>>> To add from https://irclog.perlgeek.de/perl6/2017-05-12#i_14573414
>>> 
>>> 19:16 Zoffix  it infini-loops in dispatch because Set.Set
>>> returns Set. And so far I see (elem), (cont), ∉, ∋, ∌ similarly
>>> affected. There might be more. Would you mind filing a bug for it?
>>> 19:20 Zoffix  And some ops like ⊇ and ⊉ crash with "can't
>>> look up attributes... " error. There's probably a meaning for type
>>> objects we could implement; like Set eqv set()
> 
> Tests committed[^1], but they show this ticket is not entirely resolved:
> 
>Still hangs for:   ∩  (&)  ⊍  (.)
> 
>Still have "Cannot lookup attributes in type object" for:   ∖  (-)  
> 
> The problematic tests are currently (manually) skip-fudged.
> 
> [1] https://github.com/perl6/roast/commit/87889891d1


[perl #132284] [REGRESSION] .gist of a Map was arguably better in the past (say Map.new(‘a’ => ‘b’))

2017-10-17 Thread Zoffix Znet via RT
On Thu, 12 Oct 2017 22:59:36 -0700, alex.jakime...@gmail.com wrote:
> Code:
> my @a = [1,2,3,4]; my %h = 'a'=>'b','c'=>'d','101'=>'102'; my $c =
> \(|@a, |%h); say $c.list; say $c.hash;
> 
> ¦«2015.12»:
> (1 2 3 4)
> Map.new(("101" => "102",:a("b"),:c("d")))
> 
> ¦«2016.06»:
> (1 2 3 4)
> Map.new(("101" => "102",:a("b"),:c("d")))
> 
> ¦«2016.12»:
> (1 2 3 4)
> Map.new(("101" => "102",:a("b"),:c("d")))
> 
> ¦«2017.06»:
> (1 2 3 4)
> Map.new(("101" => "102",:a("b"),:c("d")))
> 
> ¦«HEAD»:
> (1 2 3 4)
> Map.new((101 => 102, a => b, c => d))
> 
> 
> Possible IRC discussion: https://irclog.perlgeek.de/perl6/2017-10-
> 09#i_15275925
> 
> Bisectable: (2017-10-07)
> https://github.com/rakudo/rakudo/commit/9247045962ab8d41f7b74603cb2ae0c2d073
> 
> 
> I think the previous output was better because (accidentally or not)
> it was giving executable code. Not that it has to be executable, but
> :a("b") makes a bit more sense than a => b for those who are familiar
> with perl 6. Maybe not, feel free to argue otherwise, I'm just the
> messenger.


This was done on purpose. `Map.gist` used to call `.perl` on the pairs in the 
past instead of `.gist`, which both is different from what `Hash.gist` does and 
is not correct. Certain things cannot be .perled while they can be gisted and 
also for some things (like List and Blob) .perl gives All The Things™ for some 
things while .gist gives just the gist.

c: 2017.07,HEAD Map.new((:42a, b => (1...2000))).gist.say
https://gist.github.com/c9f8e43d227626d5c7b1f45d6397aaae

c: 2017.07,HEAD Map.new((:42a, b => (1...*))).gist.say
¦2017.07: «Cannot .elems a lazy list␤  in block  at /tmp/78NrayS5Sy 
line 1␤ «exit code = 1»» ¦HEAD(8a88d14): «Map.new((a => 42, b => (...)))»


[perl #132284] [REGRESSION] .gist of a Map was arguably better in the past (say Map.new(‘a’ => ‘b’))

2017-10-17 Thread Zoffix Znet via RT
On Thu, 12 Oct 2017 22:59:36 -0700, alex.jakime...@gmail.com wrote:
> Code:
> my @a = [1,2,3,4]; my %h = 'a'=>'b','c'=>'d','101'=>'102'; my $c =
> \(|@a, |%h); say $c.list; say $c.hash;
> 
> ¦«2015.12»:
> (1 2 3 4)
> Map.new(("101" => "102",:a("b"),:c("d")))
> 
> ¦«2016.06»:
> (1 2 3 4)
> Map.new(("101" => "102",:a("b"),:c("d")))
> 
> ¦«2016.12»:
> (1 2 3 4)
> Map.new(("101" => "102",:a("b"),:c("d")))
> 
> ¦«2017.06»:
> (1 2 3 4)
> Map.new(("101" => "102",:a("b"),:c("d")))
> 
> ¦«HEAD»:
> (1 2 3 4)
> Map.new((101 => 102, a => b, c => d))
> 
> 
> Possible IRC discussion: https://irclog.perlgeek.de/perl6/2017-10-
> 09#i_15275925
> 
> Bisectable: (2017-10-07)
> https://github.com/rakudo/rakudo/commit/9247045962ab8d41f7b74603cb2ae0c2d073
> 
> 
> I think the previous output was better because (accidentally or not)
> it was giving executable code. Not that it has to be executable, but
> :a("b") makes a bit more sense than a => b for those who are familiar
> with perl 6. Maybe not, feel free to argue otherwise, I'm just the
> messenger.


This was done on purpose. `Map.gist` used to call `.perl` on the pairs in the 
past instead of `.gist`, which both is different from what `Hash.gist` does and 
is not correct. Certain things cannot be .perled while they can be gisted and 
also for some things (like List and Blob) .perl gives All The Things™ for some 
things while .gist gives just the gist.

c: 2017.07,HEAD Map.new((:42a, b => (1...2000))).gist.say
https://gist.github.com/c9f8e43d227626d5c7b1f45d6397aaae

c: 2017.07,HEAD Map.new((:42a, b => (1...*))).gist.say
¦2017.07: «Cannot .elems a lazy list␤  in block  at /tmp/78NrayS5Sy 
line 1␤ «exit code = 1»» ¦HEAD(8a88d14): «Map.new((a => 42, b => (...)))»


[perl #132300] [SEGV] say nqp::getlexdyn('')

2017-10-17 Thread Aleks-Daniel Jakimenko-Aleksejev via RT
Bisected: (2016-06-29)
https://github.com/rakudo/rakudo/commit/d5c750f74cd4cdbc4746da8bf32d42fc37032b78

On 2017-10-14 06:33:04, c...@zoffix.com wrote:
>  m: use nqp; say nqp::getlexdyn('')
>  rakudo-moar 0d217357a: OUTPUT: «(signal SEGV)»


[perl #132316] [Double Free] Crash while running program

2017-10-17 Thread via RT
# New Ticket Created by  mt1957 
# Please include the string:  [perl #132316]
# in the subject line of all future correspondence about this issue. 
# https://rt.perl.org/Ticket/Display.html?id=132316 >


Hi,

I am experiencing crashes only ending in a message like 'Segmentation 
fault' sometimes also a stack dump. I will try to keep sending these 
messages although there are other tickets with same text like #131780, 
#128172, #131780 etcetera, because it might contain new information to 
fix it.

This particular program will always crash unless the work it needs to do 
isn't much. Is there any advice to follow to get you better info than 
the stack dump? Cleaning up the .precomp didn't help.

Marcel


Perl6 version: 2017.09-452-g8aa76ac50 built on MoarVM version 
2017.09.1-594-gb9d3f6da3 implementing Perl 6.c

Linux: uname -a: Linux h03-fedora 4.13.5-200.fc26.x86_64 #1 SMP Thu Oct 
5 16:53:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux


Message;

*** Error in `/home/marcel/Software/perl6/rakudo/install/bin/moar': 
double free or corruption (fasttop): 0x7fee2011f890 ***
=== Backtrace: =
/lib64/libc.so.6(+0x7c8dc)[0x7fee4417e8dc]
/lib64/libc.so.6(+0x87789)[0x7fee44189789]
/lib64/libc.so.6(+0x8abd0)[0x7fee4418cbd0]
/lib64/libc.so.6(realloc+0x17b)[0x7fee4418f7eb]
//home/marcel/Software/perl6/rakudo/install/lib/libmoar.so(+0x20d987)[0x7fee446e0987]
//home/marcel/Software/perl6/rakudo/install/lib/libmoar.so(MVM_repr_bind_pos_o+0x25)[0x7fee446d9465]
[0x7fee381408ed]
=== Memory map: 
0040-00402000 r-xp  08:09 41291345 
/home/marcel/Software/perl6/rakudo/install/bin/moar
00601000-00602000 r--p 1000 08:09 41291345 
/home/marcel/Software/perl6/rakudo/install/bin/moar
00602000-00603000 rw-p 2000 08:09 41291345 
/home/marcel/Software/perl6/rakudo/install/bin/moar
00fff000-12ebe000 rw-p  00:00 0  
[heap]
7fee-7fee00081000 rw-p  00:00 0
7fee00081000-7fee0400 ---p  00:00 0
7fee0800-7fee08081000 rw-p  00:00 0
7fee08081000-7fee0c00 ---p  00:00 0
7fee0c00-7fee0c081000 rw-p  00:00 0
7fee0c081000-7fee1000 ---p  00:00 0
7fee1000-7fee10c72000 rw-p  00:00 0
7fee10c72000-7fee1400 ---p  00:00 0
7fee1400-7fee14021000 rw-p  00:00 0
7fee14021000-7fee1800 ---p  00:00 0
7fee1800-7fee18c74000 rw-p  00:00 0
7fee18c74000-7fee1c00 ---p  00:00 0
7fee1cdd-7fee1cdd1000 ---p  00:00 0
7fee1cdd1000-7fee1d5d1000 rwxp  00:00 0
7fee1d5d1000-7fee1d5d2000 ---p  00:00 0
7fee1d5d2000-7fee1ddd2000 rwxp  00:00 0
7fee1ddd2000-7fee1ddd3000 ---p  00:00 0
7fee1ddd3000-7fee1e5d3000 rwxp  00:00 0
7fee1e5d3000-7fee1e5e9000 r-xp  08:08 1314486    
/usr/lib64/libgcc_s-7-20170915.so.1
7fee1e5e9000-7fee1e7e8000 ---p 00016000 08:08 1314486    
/usr/lib64/libgcc_s-7-20170915.so.1
7fee1e7e8000-7fee1e7e9000 r--p 00015000 08:08 1314486    
/usr/lib64/libgcc_s-7-20170915.so.1
7fee1e7e9000-7fee1e7ea000 rw-p 00016000 08:08 1314486    
/usr/lib64/libgcc_s-7-20170915.so.1
7fee1e83d000-7fee1e83e000 rw-p  00:00 0
7fee1e83e000-7fee1ead8000 r-xp  00:00 0
7fee1ead8000-7fee1ead9000 ---p  00:00 0
7fee1ead9000-7fee1f2d9000 rwxp  00:00 0
7fee1f2d9000-7fee1f7ff000 r-xp  00:00 0
7fee1f7ff000-7fee1f80 ---p  00:00 0
7fee1f80-7fee2000 rwxp  00:00 0
7fee2000-7fee20696000 rw-p  00:00 0
7fee20696000-7fee2400 ---p  00:00 0
7fee2400-7fee24e35000 rw-p  00:00 0
7fee24e35000-7fee2800 ---p  00:00 0
7fee2800-7fee2804f000 rw-p  00:00 0
7fee2804f000-7fee2c00 ---p  00:00 0
7fee2c00-7fee2ce64000 rw-p  00:00 0
7fee2ce64000-7fee3000 ---p  00:00 0
7fee3000-7fee3045b000 rw-p  00:00 0
7fee3045b000-7fee3400 ---p  00:00 0
7fee3400-7fee344b1000 rw-p  00:00 0
7fee344b1000-7fee3800 ---p  00:00 0
7fee3800-7fee3818b000 r-xp  00:00 0
7fee3818b000-7fee381a1000 r-xp  08:08 1314962    
/usr/lib64/libz.so.1.2.11
7fee381a1000-7fee383a ---p 00016000 08:08 1314962    
/usr/lib64/libz.so.1.2.11
7fee383a-7fee383a1000 r--p 00015000 08:08 1314962    
/usr/lib64/libz.so.1.2.11
7fee383a1000-7fee383a2000 rw-p  00:00 0
7fee383a2000-7fee38601000 r-xp  08:08 1430556    
/usr/lib64/libcrypto.so.1.1.0f
7fee38601000-7fee38801000 ---p 0025f000 08:08 1430556    
/usr/lib64/libcrypto.so.1.1.0f
7fee38801000-7fee3881e000 r--p 0025f000 08:08 1430556    
/usr/lib64/libcrypto.so.1.1.0f
7fee3881e000-7fee3882a000 rw-p 0027c000 08:08 1430556    
/usr/lib64/libcrypto.so.1.1.0f
7fee3882a000-7fee3882d000 rw-p  00:00 0

Re: [perl #132300] [SEGV] say nqp::getlexdyn('')

2017-10-17 Thread Timo Paulssen via RT
fixed in moarvm commits a9267cb, 650e797, and 676723d.

Needs a bump, as well as tests.


On 17/10/17 19:22, Aleks-Daniel Jakimenko-Aleksejev via RT wrote:
> Bisected: (2016-06-29)
> https://github.com/rakudo/rakudo/commit/d5c750f74cd4cdbc4746da8bf32d42fc37032b78
>
> On 2017-10-14 06:33:04, c...@zoffix.com wrote:
>>  m: use nqp; say nqp::getlexdyn('')
>>  rakudo-moar 0d217357a: OUTPUT: «(signal SEGV)»


Re: [perl #132284] [REGRESSION] .gist of a Map was arguably better in the past (say Map.new(‘a’ => ‘b’))

2017-10-17 Thread Timo Paulssen
fixed in moarvm commits a9267cb, 650e797, and 676723d.

Needs a bump, as well as tests.


On 17/10/17 19:28, Zoffix Znet via RT wrote:
> On Thu, 12 Oct 2017 22:59:36 -0700, alex.jakime...@gmail.com wrote:
>> Code:
>> my @a = [1,2,3,4]; my %h = 'a'=>'b','c'=>'d','101'=>'102'; my $c =
>> \(|@a, |%h); say $c.list; say $c.hash;
>>
>> ¦«2015.12»:
>> (1 2 3 4)
>> Map.new(("101" => "102",:a("b"),:c("d")))
>>
>> ¦«2016.06»:
>> (1 2 3 4)
>> Map.new(("101" => "102",:a("b"),:c("d")))
>>
>> ¦«2016.12»:
>> (1 2 3 4)
>> Map.new(("101" => "102",:a("b"),:c("d")))
>>
>> ¦«2017.06»:
>> (1 2 3 4)
>> Map.new(("101" => "102",:a("b"),:c("d")))
>>
>> ¦«HEAD»:
>> (1 2 3 4)
>> Map.new((101 => 102, a => b, c => d))
>>
>>
>> Possible IRC discussion: https://irclog.perlgeek.de/perl6/2017-10-
>> 09#i_15275925
>>
>> Bisectable: (2017-10-07)
>> https://github.com/rakudo/rakudo/commit/9247045962ab8d41f7b74603cb2ae0c2d073
>>
>>
>> I think the previous output was better because (accidentally or not)
>> it was giving executable code. Not that it has to be executable, but
>> :a("b") makes a bit more sense than a => b for those who are familiar
>> with perl 6. Maybe not, feel free to argue otherwise, I'm just the
>> messenger.
>
> This was done on purpose. `Map.gist` used to call `.perl` on the pairs in the 
> past instead of `.gist`, which both is different from what `Hash.gist` does 
> and is not correct. Certain things cannot be .perled while they can be gisted 
> and also for some things (like List and Blob) .perl gives All The Things™ for 
> some things while .gist gives just the gist.
>
> c: 2017.07,HEAD Map.new((:42a, b => (1...2000))).gist.say
> https://gist.github.com/c9f8e43d227626d5c7b1f45d6397aaae
>
> c: 2017.07,HEAD Map.new((:42a, b => (1...*))).gist.say
> ¦2017.07: «Cannot .elems a lazy list␤  in block  at /tmp/78NrayS5Sy 
> line 1␤ «exit code = 1»» ¦HEAD(8a88d14): «Map.new((a => 42, b => (...)))»


Re: [perl #132300] [SEGV] say nqp::getlexdyn('')

2017-10-17 Thread Timo Paulssen
fixed in moarvm commits a9267cb, 650e797, and 676723d.

Needs a bump, as well as tests.


On 17/10/17 19:22, Aleks-Daniel Jakimenko-Aleksejev via RT wrote:
> Bisected: (2016-06-29)
> https://github.com/rakudo/rakudo/commit/d5c750f74cd4cdbc4746da8bf32d42fc37032b78
>
> On 2017-10-14 06:33:04, c...@zoffix.com wrote:
>>  m: use nqp; say nqp::getlexdyn('')
>>  rakudo-moar 0d217357a: OUTPUT: «(signal SEGV)»


[perl #132316] [Double Free] Crash while running program

2017-10-17 Thread Aleks-Daniel Jakimenko-Aleksejev via RT
How can I reproduce this issue? What code did you use?


Re: [perl #132316] [Double Free] Crash while running program

2017-10-17 Thread Timo Paulssen via RT
if you can, please re-compile MoarVM passing the same options that were
used before (you can find them on the first screenfuls of the Makefile
inside moarvm's source folder) to Configure.pl but also include
--debug=3 and --optimize=0. This is an optional step. After that, please
run perl6-valgrind-m instead of perl6 or perl6-m to execute your script,
that should give more helpful data.

Later on, to run stuff regularly again, turn optimize back up to 3,
otherwise things will be noticeably slower.


Re: [perl #132316] [Double Free] Crash while running program

2017-10-17 Thread Timo Paulssen
if you can, please re-compile MoarVM passing the same options that were
used before (you can find them on the first screenfuls of the Makefile
inside moarvm's source folder) to Configure.pl but also include
--debug=3 and --optimize=0. This is an optional step. After that, please
run perl6-valgrind-m instead of perl6 or perl6-m to execute your script,
that should give more helpful data.

Later on, to run stuff regularly again, turn optimize back up to 3,
otherwise things will be noticeably slower.