Last active
November 19, 2017 21:06
-
-
Save dogbert17/cebea4925ff5b5ca6759da1a183813fc to your computer and use it in GitHub Desktop.
Running t/spec/S32-io/IO-Socket-INET.t on a 64 bit VM upsets ASAN
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dilbert@Linux-Mint18 ~/repos/rakudo $ ./perl6 -v | |
This is Rakudo version 2017.10-215-g8510507 built on MoarVM version 2017.10-86-g89fae17 | |
implementing Perl 6.c. | |
dilbert@Linux-Mint18 ~/repos/rakudo $ ASAN_OPTIONS=detect_leaks=0 ./perl6 t/spec/S32-io/IO-Socket-INET.t | |
1..26 | |
ok 1 - echo server and client | |
ok 2 - discard server and client | |
ok 3 - received first 7 characters | |
ok 4 - received next 3 characters | |
ok 5 - remaining 26 were buffered | |
ok 6 - received ꀁ | |
ok 7 - ... which is 1 character | |
ok 8 - received another character | |
ok 9 - combined the bytes form ꀂ | |
ok 10 - get() with default separator | |
ok 11 - default separator | |
ok 12 - \r\n separator | |
ok 13 - \r was not left behind on the string | |
ok 14 - . as a separator | |
ok 15 - ! separator not at end of string | |
ok 16 - Multiple separators not at end of string | |
ok 17 - ! separator at end of string | |
ok 18 - first get after creation came after first set of nl-in | |
ok 19 - another get for good measure. | |
ok 20 - received first character | |
ok 21 - received last character | |
ok 22 - total amount | |
ok 23 - successful read binary data | |
ok 24 - successful received binary data | |
ok 25 - test moar cache by reading per byte | |
================================================================= | |
==19336==ERROR: AddressSanitizer: heap-use-after-free on address 0x617000354820 at pc 0x7f5a9eac124d bp 0x7f5a9af219b0 sp 0x7f5a9af219a0 | |
READ of size 8 at 0x617000354820 thread T1 | |
#0 0x7f5a9eac124c in bind_pos src/6model/reprs/VMArray.c:387 | |
#1 0x7f5a9eaa61d7 in MVM_repr_bind_pos_o src/6model/reprconv.c:232 | |
#2 0x7f5a9ebd4343 in MVM_spesh_stats_cleanup src/spesh/stats.c:645 | |
#3 0x7f5a9ebcc5d6 in worker src/spesh/worker.c:13 | |
#4 0x7f5a9ea1e359 in thread_initial_invoke src/core/threads.c:59 | |
#5 0x7f5a9e9bda74 in MVM_interp_run src/core/interp.c:93 | |
#6 0x7f5a9ea1e4fd in start_thread src/core/threads.c:85 | |
#7 0x7f5a9dda26b9 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76b9) | |
#8 0x7f5a9e0bf3dc in clone (/lib/x86_64-linux-gnu/libc.so.6+0x1073dc) | |
0x617000354820 is located 32 bytes inside of 728-byte region [0x617000354800,0x617000354ad8) | |
freed by thread T0 here: | |
#0 0x7f5a9fa332ca in __interceptor_free (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x982ca) | |
#1 0x7f5a9ea55cd4 in finish_gc src/gc/orchestrate.c:210 | |
#2 0x7f5a9ea55cd4 in run_gc src/gc/orchestrate.c:373 | |
#3 0x7f5a9ea57741 in MVM_gc_enter_from_allocator src/gc/orchestrate.c:486 | |
#4 0x7f5a9ea1f870 in try_join src/core/threads.c:188 | |
#5 0x7f5a9ea1f870 in MVM_thread_join src/core/threads.c:194 | |
#6 0x7f5a9e9e79bb in MVM_interp_run src/core/interp.c:3740 | |
#7 0x7f5a9ec66116 in MVM_vm_run_file src/moar.c:401 | |
#8 0x4016bb in main src/main.c:256 | |
#9 0x7f5a9dfd882f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f) | |
previously allocated by thread T0 here: | |
#0 0x7f5a9fa3379a in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x9879a) | |
#1 0x7f5a9e9f2d65 in MVM_calloc src/core/alloc.h:11 | |
#2 0x7f5a9e9f2d65 in MVM_tc_create src/core/threadcontext.c:8 | |
#3 0x7f5a9ea1ea09 in MVM_thread_new src/core/threads.c:29 | |
#4 0x7f5a9e9e7a7b in MVM_interp_run src/core/interp.c:3735 | |
#5 0x7f5a9ec66116 in MVM_vm_run_file src/moar.c:401 | |
#6 0x4016bb in main src/main.c:256 | |
#7 0x7f5a9dfd882f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f) | |
Thread T1 created by T0 here: | |
#0 0x7f5a9f9d1253 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x36253) | |
#1 0x7f5a9ecf5990 in uv_thread_create (//home/dilbert/repos/rakudo/nqp/MoarVM/../../install/lib/libmoar.so+0x973990) | |
#2 0x7f5a9ec64d0f in MVM_vm_create_instance src/moar.c:346 | |
#3 0x401320 in main src/main.c:239 | |
#4 0x7f5a9dfd882f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f) | |
SUMMARY: AddressSanitizer: heap-use-after-free src/6model/reprs/VMArray.c:387 bind_pos | |
Shadow bytes around the buggy address: | |
0x0c2e800628b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa | |
0x0c2e800628c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa | |
0x0c2e800628d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa | |
0x0c2e800628e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa | |
0x0c2e800628f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa | |
=>0x0c2e80062900: fd fd fd fd[fd]fd fd fd fd fd fd fd fd fd fd fd | |
0x0c2e80062910: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd | |
0x0c2e80062920: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd | |
0x0c2e80062930: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd | |
0x0c2e80062940: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd | |
0x0c2e80062950: fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa | |
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 | |
Heap right redzone: fb | |
Freed heap region: fd | |
Stack left redzone: f1 | |
Stack mid redzone: f2 | |
Stack right redzone: f3 | |
Stack partial redzone: f4 | |
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 | |
==19336==ABORTING | |
dilbert@Linux-Mint18 ~/repos/rakudo $ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment