New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
valgrind reports invalid frees on 32 bit systems when MoarVM is built with --valgrind #5830
Comments
From @dogbert17# The system # build moar with # the perl6 program # the problem ============================================================================This is Rakudo Perl 6 running in valgrind, a tool for debugging and Running a program in valgrind usually takes *a lot* more time than running so please be patient. This Rakudo version is 2016.11.76.g.8774.f.24 built on MoarVM version running on ubuntu (14.04.3.LTS.Trusty.Tahr) / linux (3.19.0.32.generic) ==6431== Memcheck, a memory error detector ==6431== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. ==6431== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info ==6431== Command: /home/dogbert/repos/rakudo/install/bin/moar --full-cleanup ==6431== ==6431== Invalid free() / delete / delete[] / realloc() ==6431== at 0x41060AD: MVM_fixed_size_free_at_safepoint ==6431== by 0x41983DE: twiddle_trie_node (nfg.c:132) ==6431== by 0x4198427: add_synthetic_to_trie (nfg.c:138) ==6431== by 0x4198604: add_synthetic (nfg.c:188) ==6431== by 0x419869A: lookup_or_add_synthetic (nfg.c:202) ==6431== by 0x41986F1: MVM_nfg_codes_to_grapheme (nfg.c:217) ==6431== by 0x41AD211: grapheme_composition (normalize.c:558) ==6431== by 0x41AD5B9: MVM_unicode_normalizer_process_codepoint_full ==6431== by 0x41952A4: MVM_unicode_normalizer_process_codepoint ==6431== by 0x41952D0: MVM_unicode_normalizer_process_codepoint_to_grapheme ==6431== by 0x4195BAF: MVM_string_utf8_decode (utf8.c:200) ==6431== by 0x40E891A: MVM_cu_obtain_string (compunit.c:227) ==6431== Address 0x46890c4 is 0 bytes inside a block of size 16 ==6431== at 0x4105C0D: alloc_slow_path (fixedsizealloc.c:131) ==6431== by 0x4105D98: MVM_fixed_size_alloc (fixedsizealloc.c:181) ==6431== by 0x41980D0: twiddle_trie_node (nfg.c:46) ==6431== by 0x4198427: add_synthetic_to_trie (nfg.c:138) ==6431== by 0x4198604: add_synthetic (nfg.c:188) ==6431== by 0x419869A: lookup_or_add_synthetic (nfg.c:202) ==6431== by 0x419875F: MVM_nfg_crlf_grapheme (nfg.c:232) ==6431== by 0x419414F: MVM_string_decode_stream_sep_default ==6431== by 0x411A614: MVM_io_syncstream_from_uvstream (syncstream.c:347) ==6431== by 0x411C9BD: MVM_file_get_stdstream (fileops.c:357) ==6431== by 0x41BC68F: setup_std_handles (moar.c:270) ==6431== by 0x41BC644: MVM_vm_create_instance (moar.c:260) ==6431== ==6431== Invalid free() / delete / delete[] / realloc() ==6431== at 0x41060AD: MVM_fixed_size_free_at_safepoint ==6431== by 0x41983DE: twiddle_trie_node (nfg.c:132) ==6431== by 0x4198142: twiddle_trie_node (nfg.c:52) ==6431== by 0x4198427: add_synthetic_to_trie (nfg.c:138) ==6431== by 0x4198604: add_synthetic (nfg.c:188) ==6431== by 0x419869A: lookup_or_add_synthetic (nfg.c:202) ==6431== by 0x41986F1: MVM_nfg_codes_to_grapheme (nfg.c:217) ==6431== by 0x41AD211: grapheme_composition (normalize.c:558) ==6431== by 0x41AD5B9: MVM_unicode_normalizer_process_codepoint_full ==6431== by 0x41952A4: MVM_unicode_normalizer_process_codepoint ==6431== by 0x41952D0: MVM_unicode_normalizer_process_codepoint_to_grapheme ==6431== by 0x4195BAF: MVM_string_utf8_decode (utf8.c:200) ==6431== Address 0x88fff04 is 0 bytes inside a block of size 16 ==6431== at 0x4105C0D: alloc_slow_path (fixedsizealloc.c:131) ==6431== by 0x4105D98: MVM_fixed_size_alloc (fixedsizealloc.c:181) ==6431== by 0x41980D0: twiddle_trie_node (nfg.c:46) ==6431== by 0x4198142: twiddle_trie_node (nfg.c:52) ==6431== by 0x4198427: add_synthetic_to_trie (nfg.c:138) ==6431== by 0x4198604: add_synthetic (nfg.c:188) ==6431== by 0x419869A: lookup_or_add_synthetic (nfg.c:202) ==6431== by 0x41986F1: MVM_nfg_codes_to_grapheme (nfg.c:217) ==6431== by 0x41AD211: grapheme_composition (normalize.c:558) ==6431== by 0x41AD5B9: MVM_unicode_normalizer_process_codepoint_full ==6431== by 0x41952A4: MVM_unicode_normalizer_process_codepoint ==6431== by 0x41952D0: MVM_unicode_normalizer_process_codepoint_to_grapheme ==6431== ==6431== Invalid free() / delete / delete[] / realloc() ==6431== at 0x41060AD: MVM_fixed_size_free_at_safepoint ==6431== by 0x41983DE: twiddle_trie_node (nfg.c:132) ==6431== by 0x4198142: twiddle_trie_node (nfg.c:52) ==6431== by 0x4198142: twiddle_trie_node (nfg.c:52) ==6431== by 0x4198427: add_synthetic_to_trie (nfg.c:138) ==6431== by 0x4198604: add_synthetic (nfg.c:188) ==6431== by 0x419869A: lookup_or_add_synthetic (nfg.c:202) ==6431== by 0x41986F1: MVM_nfg_codes_to_grapheme (nfg.c:217) ==6431== by 0x41AD211: grapheme_composition (normalize.c:558) ==6431== by 0x41AD5B9: MVM_unicode_normalizer_process_codepoint_full ==6431== by 0x41952A4: MVM_unicode_normalizer_process_codepoint ==6431== by 0x41952D0: MVM_unicode_normalizer_process_codepoint_to_grapheme ==6431== Address 0x890006c is 0 bytes inside a block of size 16 ==6431== at 0x4105C0D: alloc_slow_path (fixedsizealloc.c:131) ==6431== by 0x4105D98: MVM_fixed_size_alloc (fixedsizealloc.c:181) ==6431== by 0x41980D0: twiddle_trie_node (nfg.c:46) ==6431== by 0x4198142: twiddle_trie_node (nfg.c:52) ==6431== by 0x4198142: twiddle_trie_node (nfg.c:52) ==6431== by 0x4198427: add_synthetic_to_trie (nfg.c:138) ==6431== by 0x4198604: add_synthetic (nfg.c:188) ==6431== by 0x419869A: lookup_or_add_synthetic (nfg.c:202) ==6431== by 0x41986F1: MVM_nfg_codes_to_grapheme (nfg.c:217) ==6431== by 0x41AD211: grapheme_composition (normalize.c:558) ==6431== by 0x41AD5B9: MVM_unicode_normalizer_process_codepoint_full ==6431== by 0x41952A4: MVM_unicode_normalizer_process_codepoint ==6431== Hello World ==6431== ==6431== HEAP SUMMARY: ==6431== in use at exit: 152,880 bytes in 38,808 blocks ==6431== total heap usage: 321,135 allocs, 221,719 frees, 46,550,757 bytes ==6431== ==6431== LEAK SUMMARY: ==6431== definitely lost: 5,454 bytes in 34,380 blocks ==6431== indirectly lost: 14,040 bytes in 668 blocks ==6431== possibly lost: 120,032 bytes in 3,751 blocks ==6431== still reachable: 13,354 bytes in 9 blocks ==6431== suppressed: 0 bytes in 0 blocks ==6431== Rerun with --leak-check=full to see details of leaked memory ==6431== ==6431== For counts of detected and suppressed errors, rerun with: -v ==6431== ERROR SUMMARY: 8 errors from 3 contexts (suppressed: 0 from 0) |
From @jnthnOn Sun, 27 Nov 2016 11:28:12 -0800, jan-olof.hendig@bredband.net wrote:
This was fixed by dogbert17++ in: MoarVM/MoarVM@bf777f6 Since it was originally golfed from a spectest that was exploding on 32-bit, then we can consider this test-covered and close it. |
The RT System itself - Status changed from 'new' to 'open' |
@jnthn - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#130191 (status was 'resolved')
Searchable as RT130191$
The text was updated successfully, but these errors were encountered: