On Sat, Jul 23, 2016 at 10:48:40AM -0700, Aaron Sherman wrote:

> $ perl6 -e 'for 0..0xffff -> $i { say $i if $i %% 100; my $c = try {
> :16(uniprop($i.chr, "Bidi_Mirroring_Glyph")).chr }; say "{$i.fmt("%04x")}:
> {$i.chr} ~ $c" if $c.defined}'
> 0
> 100
> 200
> 300
> 400
> 500
> 600
> 700
> 800
> 900
> 1000
> 1100
> Segmentation fault (core dumped)

I get the SEGV earlier:

$ ./perl6-m -Ilib -e 'for 0..0xffff -> $i { say $i if $i %% 100; my $c = try { 
:16(uniprop($i.chr, "Bidi_Mirroring_Glyph")).chr }; say "{$i.fmt("%04x")}: 
{$i.chr} ~ $c" if $c.defined}'
0
100
200
ASAN:SIGSEGV
=================================================================
==20272==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 
0x7fa2e639f022 sp 0x7fff92696ac0 bp 0x7fff92698660 T0)
    #0 0x7fa2e639f021 in MVM_interp_run src/core/interp.c:2859
    #1 0x7fa2e666f7c4 in MVM_vm_run_file src/moar.c:304
    #2 0x401a4f in main src/main.c:191
    #3 0x7fa2e5bb0d5c in __libc_start_main (/lib64/libc.so.6+0x1ed5c)
    #4 0x401058 (/home/nicholas/Sandpit/moar-san/bin/moar+0x401058)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV src/core/interp.c:2859 MVM_interp_run
==20272==ABORTING


Looks like "just" a direct NULL pointer dereference, not the fallout from
earlier more subtle undefined behaviour.

Nicholas Clark

Reply via email to