Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/src/core/fixedsizealloc.c b/src/core/fixedsizealloc.c
- index 21f89a4..78a0ff0 100644
- --- a/src/core/fixedsizealloc.c
- +++ b/src/core/fixedsizealloc.c
- @@ -10,7 +10,7 @@
- * behavior. */
- /* Turn this on to switch to a mode where we debug by size. */
- -#define FSA_SIZE_DEBUG 0
- +#define FSA_SIZE_DEBUG 1
- #if FSA_SIZE_DEBUG
- typedef struct {
- MVMuint64 alloc_size;
- @@ -231,7 +231,7 @@ void * MVM_fixed_size_realloc(MVMThreadContext *tc, MVMFixedSizeAlloc *al, void
- void * MVM_fixed_size_realloc_at_safepoint(MVMThreadContext *tc, MVMFixedSizeAlloc *al, void * p, size_t old_bytes, size_t new_bytes) {
- #if FSA_SIZE_DEBUG
- MVMFixedSizeAllocDebug *dbg = MVM_fixed_size_alloc(tc, al, new_bytes);
- - memcpy(dbg->memory, (char *)p + sizeof(MVMuint64), new_bytes > old_bytes ? old_bytes : new_bytes);
- + memcpy(dbg->memory, (char *)p, new_bytes > old_bytes ? old_bytes : new_bytes);
- MVM_fixed_size_free_at_safepoint(tc, al, old_bytes, p);
- dbg->alloc_size = new_bytes;
- return &(dbg->memory);
- dogbert@dogbert-VirtualBox ~/repos/rakudo/nqp $ valgrind /home/dogbert/repos/rakudo/install/bin/moar nqp.moarvm t/p5regex/01-p5regex.t
- ==20003== Memcheck, a memory error detector
- ==20003== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
- ==20003== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
- ==20003== Command: /home/dogbert/repos/rakudo/install/bin/moar nqp.moarvm t/p5regex/01-p5regex.t
- ==20003==
- # file: rx_basic
- ok 1 - basic literal
- ok 2 - basic multichar literal
- ok 3 - basic dot
- ok 4 - basic multidot
- ok 5 - dot in mid pattern
- ok 6 - failed literal match
- ok 7 - failed literal match
- ok 8 - failed dot match
- ok 9 - scanning match
- # done with file rx_basic
- # file: rx_quantifiers
- ok 10 - star 2+
- ok 11 - star 1
- ok 12 - star 0
- ok 13 - star 2+
- ok 14 - star 1
- ok 15 - star 0
- ok 16 - plus 2+
- ok 17 - plus 1
- ==20003== Conditional jump or move depends on uninitialised value(s)
- ==20003== at 0x4C324BD: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==20003== by 0x50340CD: memcpy (string3.h:53)
- ==20003== by 0x50340CD: MVM_fixed_size_realloc_at_safepoint (fixedsizealloc.c:234)
- ==20003== by 0x50866E9: MVM_sc_add_all_scs_entry (sc.c:71)
- ==20003== by 0x5086B0F: MVM_sc_create (sc.c:11)
- ==20003== by 0x50051FC: MVM_interp_run (interp.c:3023)
- ==20003== by 0x50F8553: MVM_vm_run_file (moar.c:407)
- ==20003== by 0x40121A: main (main.c:299)
- ==20003==
- ==20003== Conditional jump or move depends on uninitialised value(s)
- ==20003== at 0x4C3277C: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==20003== by 0x50340CD: memcpy (string3.h:53)
- ==20003== by 0x50340CD: MVM_fixed_size_realloc_at_safepoint (fixedsizealloc.c:234)
- ==20003== by 0x50866E9: MVM_sc_add_all_scs_entry (sc.c:71)
- ==20003== by 0x5086B0F: MVM_sc_create (sc.c:11)
- ==20003== by 0x50051FC: MVM_interp_run (interp.c:3023)
- ==20003== by 0x50F8553: MVM_vm_run_file (moar.c:407)
- ==20003== by 0x40121A: main (main.c:299)
- ==20003==
- ==20003== Conditional jump or move depends on uninitialised value(s)
- ==20003== at 0x4C3251E: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==20003== by 0x50340CD: memcpy (string3.h:53)
- ==20003== by 0x50340CD: MVM_fixed_size_realloc_at_safepoint (fixedsizealloc.c:234)
- ==20003== by 0x50866E9: MVM_sc_add_all_scs_entry (sc.c:71)
- ==20003== by 0x5086B0F: MVM_sc_create (sc.c:11)
- ==20003== by 0x50051FC: MVM_interp_run (interp.c:3023)
- ==20003== by 0x50F8553: MVM_vm_run_file (moar.c:407)
- ==20003== by 0x40121A: main (main.c:299)
- ==20003==
- ==20003== Conditional jump or move depends on uninitialised value(s)
- ==20003== at 0x4C3252F: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==20003== by 0x50340CD: memcpy (string3.h:53)
- ==20003== by 0x50340CD: MVM_fixed_size_realloc_at_safepoint (fixedsizealloc.c:234)
- ==20003== by 0x50866E9: MVM_sc_add_all_scs_entry (sc.c:71)
- ==20003== by 0x5086B0F: MVM_sc_create (sc.c:11)
- ==20003== by 0x50051FC: MVM_interp_run (interp.c:3023)
- ==20003== by 0x50F8553: MVM_vm_run_file (moar.c:407)
- ==20003== by 0x40121A: main (main.c:299)
- ==20003==
- ==20003== Conditional jump or move depends on uninitialised value(s)
- ==20003== at 0x4C32545: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==20003== by 0x50340CD: memcpy (string3.h:53)
- ==20003== by 0x50340CD: MVM_fixed_size_realloc_at_safepoint (fixedsizealloc.c:234)
- ==20003== by 0x50866E9: MVM_sc_add_all_scs_entry (sc.c:71)
- ==20003== by 0x5086B0F: MVM_sc_create (sc.c:11)
- ==20003== by 0x50051FC: MVM_interp_run (interp.c:3023)
- ==20003== by 0x50F8553: MVM_vm_run_file (moar.c:407)
- ==20003== by 0x40121A: main (main.c:299)
- ==20003==
- ==20003== Conditional jump or move depends on uninitialised value(s)
- ==20003== at 0x4C32678: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==20003== by 0x50340CD: memcpy (string3.h:53)
- ==20003== by 0x50340CD: MVM_fixed_size_realloc_at_safepoint (fixedsizealloc.c:234)
- ==20003== by 0x50866E9: MVM_sc_add_all_scs_entry (sc.c:71)
- ==20003== by 0x5086B0F: MVM_sc_create (sc.c:11)
- ==20003== by 0x50051FC: MVM_interp_run (interp.c:3023)
- ==20003== by 0x50F8553: MVM_vm_run_file (moar.c:407)
- ==20003== by 0x40121A: main (main.c:299)
- ==20003==
- ==20003== Use of uninitialised value of size 8
- ==20003== at 0x4C326CB: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==20003== by 0x50340CD: memcpy (string3.h:53)
- ==20003== by 0x50340CD: MVM_fixed_size_realloc_at_safepoint (fixedsizealloc.c:234)
- ==20003== by 0x50866E9: MVM_sc_add_all_scs_entry (sc.c:71)
- ==20003== by 0x5086B0F: MVM_sc_create (sc.c:11)
- ==20003== by 0x50051FC: MVM_interp_run (interp.c:3023)
- ==20003== by 0x50F8553: MVM_vm_run_file (moar.c:407)
- ==20003== by 0x40121A: main (main.c:299)
- ==20003==
- ==20003== Invalid write of size 8
- ==20003== at 0x4C326CB: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==20003== by 0x50340CD: memcpy (string3.h:53)
- ==20003== by 0x50340CD: MVM_fixed_size_realloc_at_safepoint (fixedsizealloc.c:234)
- ==20003== by 0x50866E9: MVM_sc_add_all_scs_entry (sc.c:71)
- ==20003== by 0x5086B0F: MVM_sc_create (sc.c:11)
- ==20003== by 0x50051FC: MVM_interp_run (interp.c:3023)
- ==20003== by 0x50F8553: MVM_vm_run_file (moar.c:407)
- ==20003== by 0x40121A: main (main.c:299)
- ==20003== Address 0x8895d90 is 0 bytes after a block of size 48 alloc'd
- ==20003== at 0x4C2FB55: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==20003== by 0x50AB6B6: MVM_calloc (alloc.h:11)
- ==20003== by 0x50AB6B6: sim_stack_push (stats.c:250)
- ==20003== by 0x50AC0A0: MVM_spesh_stats_update (stats.c:535)
- ==20003== by 0x50AA838: worker (worker.c:16)
- ==20003== by 0x50276E0: thread_initial_invoke (threads.c:59)
- ==20003== by 0x5003A1D: MVM_interp_run (interp.c:93)
- ==20003== by 0x5027765: start_thread (threads.c:87)
- ==20003== by 0x5E756B9: start_thread (pthread_create.c:333)
- ==20003==
- ==20003== Use of uninitialised value of size 8
- ==20003== at 0x50181DF: MVM_interp_run (interp.c:3035)
- ==20003== by 0x50F8553: MVM_vm_run_file (moar.c:407)
- ==20003== by 0x40121A: main (main.c:299)
- ==20003==
- ==20003== Invalid read of size 8
- ==20003== at 0x50181DF: MVM_interp_run (interp.c:3035)
- ==20003== by 0x50F8553: MVM_vm_run_file (moar.c:407)
- ==20003== by 0x40121A: main (main.c:299)
- ==20003== Address 0x8888bf0 is 16 bytes before a block of size 32 alloc'd
- ==20003== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==20003== by 0x4C2FDEF: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==20003== by 0x50AB07E: MVM_realloc (alloc.h:20)
- ==20003== by 0x50AB07E: by_type (stats.c:107)
- ==20003== by 0x50ABA74: incorporate_stats (stats.c:301)
- ==20003== by 0x50AC0E5: MVM_spesh_stats_update (stats.c:602)
- ==20003== by 0x50AA838: worker (worker.c:16)
- ==20003== by 0x50276E0: thread_initial_invoke (threads.c:59)
- ==20003== by 0x5003A1D: MVM_interp_run (interp.c:93)
- ==20003== by 0x5027765: start_thread (threads.c:87)
- ==20003== by 0x5E756B9: start_thread (pthread_create.c:333)
- ==20003==
- ==20003== Use of uninitialised value of size 8
- ==20003== at 0x5004E05: MVM_sc_get_collectable_sc (sc.h:78)
- ==20003== by 0x5004E05: MVM_sc_get_obj_sc (sc.h:83)
- ==20003== by 0x5004E05: MVM_interp_run (interp.c:3117)
- ==20003== by 0x50F8553: MVM_vm_run_file (moar.c:407)
- ==20003== by 0x40121A: main (main.c:299)
- ==20003==
- ==20003== Invalid read of size 8
- ==20003== at 0x5004E05: MVM_sc_get_collectable_sc (sc.h:78)
- ==20003== by 0x5004E05: MVM_sc_get_obj_sc (sc.h:83)
- ==20003== by 0x5004E05: MVM_interp_run (interp.c:3117)
- ==20003== by 0x50F8553: MVM_vm_run_file (moar.c:407)
- ==20003== by 0x40121A: main (main.c:299)
- ==20003== Address 0x8888bf0 is 16 bytes before a block of size 32 alloc'd
- ==20003== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==20003== by 0x4C2FDEF: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==20003== by 0x50AB07E: MVM_realloc (alloc.h:20)
- ==20003== by 0x50AB07E: by_type (stats.c:107)
- ==20003== by 0x50ABA74: incorporate_stats (stats.c:301)
- ==20003== by 0x50AC0E5: MVM_spesh_stats_update (stats.c:602)
- ==20003== by 0x50AA838: worker (worker.c:16)
- ==20003== by 0x50276E0: thread_initial_invoke (threads.c:59)
- ==20003== by 0x5003A1D: MVM_interp_run (interp.c:93)
- ==20003== by 0x5027765: start_thread (threads.c:87)
- ==20003== by 0x5E756B9: start_thread (pthread_create.c:333)
- ==20003==
- not ok 18 - plus 0
- # ERROR: Object of type NQPRegex in QAST::WVal, but not in SC
- not ok 19 - plus 2+
- MoarVM panic: Spesh arg guard: unimplemented sparse guard case
- ==20003==
- ==20003== HEAP SUMMARY:
- ==20003== in use at exit: 24,601,456 bytes in 75,518 blocks
- ==20003== total heap usage: 296,031 allocs, 220,513 frees, 92,300,717 bytes allocated
- ==20003==
- ==20003== LEAK SUMMARY:
- ==20003== definitely lost: 0 bytes in 0 blocks
- ==20003== indirectly lost: 0 bytes in 0 blocks
- ==20003== possibly lost: 808,000 bytes in 14,413 blocks
- ==20003== still reachable: 23,793,456 bytes in 61,105 blocks
- ==20003== of which reachable via heuristic:
- ==20003== length64 : 512,720 bytes in 7,591 blocks
- ==20003== suppressed: 0 bytes in 0 blocks
- ==20003== Rerun with --leak-check=full to see details of leaked memory
- ==20003==
- ==20003== For counts of detected and suppressed errors, rerun with: -v
- ==20003== Use --track-origins=yes to see where uninitialised values come from
- ==20003== ERROR SUMMARY: 49 errors from 12 contexts (suppressed: 0 from 0)
Add Comment
Please, Sign In to add comment