Skip to content

Instantly share code, notes, and snippets.

@dogbert17
Last active February 28, 2019 14:42
Show Gist options
  • Save dogbert17/0427f05e1df095965afb5f30878e7091 to your computer and use it in GitHub Desktop.
Save dogbert17/0427f05e1df095965afb5f30878e7091 to your computer and use it in GitHub Desktop.
asan barfs at t/04-nativecall/06-struct.t
dogbert@dogbert:~/repos/rakudo$ ./perl6 -v
This is Rakudo version 2018.12-321-g845433b47 built on MoarVM version 2018.12-117-gdcafbc4c7
implementing Perl 6.d.
dogbert@dogbert:~/repos/rakudo$ ./perl6 t/04-nativecall/06-struct.t
1..34
ok 1 - getting long
ok 2 - getting num
ok 3 - getting int8
ok 4 - getting num32
ok 5 - getting CArray and element
ok 6 - getting long from C-created struct
ok 7 - getting num from C-created struct
ok 8 - getting int8 from C-created struct
ok 9 - getting num32 from C-created struct
ok 10 - C-created array member, elem 1
ok 11 - C-created array member, elem 2
ok 12 - C-created array member, elem 3
ok 13 - field 1 from struct 1 in struct
ok 14 - field 2 from struct 1 in struct
ok 15 - field 1 from struct 2 in struct
ok 16 - field 2 from struct 2 in struct
ok 17 - CPointer object in struct
ok 18 - first string in struct
ok 19 - second string in struct
ok 20 - C-side values in struct
ok 21 - Setting a CArray struct element to type object passes a NULL to C
ok 22 - C-side values in struct struct
ok 23 - C-side strict values in struct
ok 24 - and the int after is 42
ok 25 - nested first is 101
ok 26 - nested second is 77
ok 27 - struct with inlined structs has correct size
1..3
ok 1 - 'class EmptyCStructTest is repr<CStruct> { };' died
ok 2 - right exception type (Exception)
ok 3 - .message matches -> ;; $_? is raw { \#`(Block|108370626703464) ... }
ok 28 - did we throws-like Exception?
ok 29 - Can inline fixed sizes array (1)
=================================================================
==18672==ERROR: AddressSanitizer: attempting free on address which was not malloc()-ed: 0x6030003cd2d4 in thread T0
#0 0x7f31fd2ce7b8 in __interceptor_free (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xde7b8)
#1 0x7f31fc1a5516 in MVM_free src/core/alloc.h:40
#2 0x7f31fc1a5516 in gc_cleanup src/6model/reprs/CArray.c:140
#3 0x7f31fc1a5516 in gc_free src/6model/reprs/CArray.c:147
#4 0x7f31fc0e6f1d in MVM_gc_collect_free_nursery_uncopied src/gc/collect.c:620
#5 0x7f31fc0d654d in finish_gc src/gc/orchestrate.c:241
#6 0x7f31fc0d654d in run_gc src/gc/orchestrate.c:413
#7 0x7f31fc0d8732 in MVM_gc_enter_from_allocator src/gc/orchestrate.c:526
#8 0x7f31fc0d98d4 in MVM_gc_allocate_nursery src/gc/allocation.c:35
#9 0x7f31fc0da1d5 in MVM_gc_allocate_frame src/gc/allocation.c:102
#10 0x7f31fc056687 in MVM_frame_move_to_heap src/core/frame.c:631
#11 0x7f31fc05db51 in MVM_frame_force_to_heap src/core/frame.h:208
#12 0x7f31fc05db51 in MVM_frame_takeclosure src/core/frame.c:1185
#13 0x7f31fc014169 in MVM_interp_run src/core/interp.c:1216
#14 0x7f31fc359478 in MVM_vm_run_file src/moar.c:444
#15 0x555db58d8154 in main src/main.c:302
#16 0x7f31fb5aab96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
#17 0x555db58d8399 in _start (/home/dogbert/repos/rakudo/install/bin/moar+0x2399)
0x6030003cd2d4 is located 4 bytes inside of 20-byte region [0x6030003cd2d0,0x6030003cd2e4)
allocated by thread T0 here:
#0 0x7f31fd2ced38 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xded38)
#1 0x7f31fc1a8f22 in MVM_calloc src/core/alloc.h:11
#2 0x7f31fc1a8f22 in initialize src/6model/reprs/CStruct.c:393
#3 0x7f31fc02dbdb in MVM_interp_run src/core/interp.c:1848
#4 0x7f31fc359478 in MVM_vm_run_file src/moar.c:444
#5 0x555db58d8154 in main src/main.c:302
#6 0x7f31fb5aab96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
SUMMARY: AddressSanitizer: bad-free (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xde7b8) in __interceptor_free
==18672==ABORTING
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment