Skip to content
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

Crash while running program (MongoDB module) #6620

Closed
p6rt opened this issue Oct 17, 2017 · 13 comments
Closed

Crash while running program (MongoDB module) #6620

p6rt opened this issue Oct 17, 2017 · 13 comments
Labels
SEGV Segmentation fault, bus error, etc.

Comments

@p6rt
Copy link

p6rt commented Oct 17, 2017

Migrated from rt.perl.org#132316 (status was 'resolved')

Searchable as RT132316$

@p6rt
Copy link
Author

p6rt commented Oct 17, 2017

From @MARTIMM

Hi,

I am experiencing crashes only ending in a message like 'Segmentation
fault' sometimes also a stack dump. I will try to keep sending these
messages although there are other tickets with same text like #​131780,
#​128172, #​131780 etcetera, because it might contain new information to
fix it.

This particular program will always crash unless the work it needs to do
isn't much. Is there any advice to follow to get you better info than
the stack dump? Cleaning up the .precomp didn't help.

Marcel

Perl6 version​: 2017.09-452-g8aa76ac50 built on MoarVM version
2017.09.1-594-gb9d3f6da3 implementing Perl 6.c

Linux​: uname -a​: Linux h03-fedora 4.13.5-200.fc26.x86_64 #​1 SMP Thu Oct
5 16​:53​:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Message;

*** Error in `/home/marcel/Software/perl6/rakudo/install/bin/moar'​:
double free or corruption (fasttop)​: 0x00007fee2011f890 ***
======= Backtrace​: =========
/lib64/libc.so.6(+0x7c8dc)[0x7fee4417e8dc]
/lib64/libc.so.6(+0x87789)[0x7fee44189789]
/lib64/libc.so.6(+0x8abd0)[0x7fee4418cbd0]
/lib64/libc.so.6(realloc+0x17b)[0x7fee4418f7eb]
//home/marcel/Software/perl6/rakudo/install/lib/libmoar.so(+0x20d987)[0x7fee446e0987]
//home/marcel/Software/perl6/rakudo/install/lib/libmoar.so(MVM_repr_bind_pos_o+0x25)[0x7fee446d9465]
[0x7fee381408ed]
======= Memory map​: ========
00400000-00402000 r-xp 00000000 08​:09 41291345
/home/marcel/Software/perl6/rakudo/install/bin/moar
00601000-00602000 r--p 00001000 08​:09 41291345
/home/marcel/Software/perl6/rakudo/install/bin/moar
00602000-00603000 rw-p 00002000 08​:09 41291345
/home/marcel/Software/perl6/rakudo/install/bin/moar
00fff000-12ebe000 rw-p 00000000 00​:00 0                                 
[heap]
7fee00000000-7fee00081000 rw-p 00000000 00​:00 0
7fee00081000-7fee04000000 ---p 00000000 00​:00 0
7fee08000000-7fee08081000 rw-p 00000000 00​:00 0
7fee08081000-7fee0c000000 ---p 00000000 00​:00 0
7fee0c000000-7fee0c081000 rw-p 00000000 00​:00 0
7fee0c081000-7fee10000000 ---p 00000000 00​:00 0
7fee10000000-7fee10c72000 rw-p 00000000 00​:00 0
7fee10c72000-7fee14000000 ---p 00000000 00​:00 0
7fee14000000-7fee14021000 rw-p 00000000 00​:00 0
7fee14021000-7fee18000000 ---p 00000000 00​:00 0
7fee18000000-7fee18c74000 rw-p 00000000 00​:00 0
7fee18c74000-7fee1c000000 ---p 00000000 00​:00 0
7fee1cdd0000-7fee1cdd1000 ---p 00000000 00​:00 0
7fee1cdd1000-7fee1d5d1000 rwxp 00000000 00​:00 0
7fee1d5d1000-7fee1d5d2000 ---p 00000000 00​:00 0
7fee1d5d2000-7fee1ddd2000 rwxp 00000000 00​:00 0
7fee1ddd2000-7fee1ddd3000 ---p 00000000 00​:00 0
7fee1ddd3000-7fee1e5d3000 rwxp 00000000 00​:00 0
7fee1e5d3000-7fee1e5e9000 r-xp 00000000 08​:08 1314486                   
/usr/lib64/libgcc_s-7-20170915.so.1
7fee1e5e9000-7fee1e7e8000 ---p 00016000 08​:08 1314486                   
/usr/lib64/libgcc_s-7-20170915.so.1
7fee1e7e8000-7fee1e7e9000 r--p 00015000 08​:08 1314486                   
/usr/lib64/libgcc_s-7-20170915.so.1
7fee1e7e9000-7fee1e7ea000 rw-p 00016000 08​:08 1314486                   
/usr/lib64/libgcc_s-7-20170915.so.1
7fee1e83d000-7fee1e83e000 rw-p 00000000 00​:00 0
7fee1e83e000-7fee1ead8000 r-xp 00000000 00​:00 0
7fee1ead8000-7fee1ead9000 ---p 00000000 00​:00 0
7fee1ead9000-7fee1f2d9000 rwxp 00000000 00​:00 0
7fee1f2d9000-7fee1f7ff000 r-xp 00000000 00​:00 0
7fee1f7ff000-7fee1f800000 ---p 00000000 00​:00 0
7fee1f800000-7fee20000000 rwxp 00000000 00​:00 0
7fee20000000-7fee20696000 rw-p 00000000 00​:00 0
7fee20696000-7fee24000000 ---p 00000000 00​:00 0
7fee24000000-7fee24e35000 rw-p 00000000 00​:00 0
7fee24e35000-7fee28000000 ---p 00000000 00​:00 0
7fee28000000-7fee2804f000 rw-p 00000000 00​:00 0
7fee2804f000-7fee2c000000 ---p 00000000 00​:00 0
7fee2c000000-7fee2ce64000 rw-p 00000000 00​:00 0
7fee2ce64000-7fee30000000 ---p 00000000 00​:00 0
7fee30000000-7fee3045b000 rw-p 00000000 00​:00 0
7fee3045b000-7fee34000000 ---p 00000000 00​:00 0
7fee34000000-7fee344b1000 rw-p 00000000 00​:00 0
7fee344b1000-7fee38000000 ---p 00000000 00​:00 0
7fee38000000-7fee3818b000 r-xp 00000000 00​:00 0
7fee3818b000-7fee381a1000 r-xp 00000000 08​:08 1314962                   
/usr/lib64/libz.so.1.2.11
7fee381a1000-7fee383a0000 ---p 00016000 08​:08 1314962                   
/usr/lib64/libz.so.1.2.11
7fee383a0000-7fee383a1000 r--p 00015000 08​:08 1314962                   
/usr/lib64/libz.so.1.2.11
7fee383a1000-7fee383a2000 rw-p 00000000 00​:00 0
7fee383a2000-7fee38601000 r-xp 00000000 08​:08 1430556                   
/usr/lib64/libcrypto.so.1.1.0f
7fee38601000-7fee38801000 ---p 0025f000 08​:08 1430556                   
/usr/lib64/libcrypto.so.1.1.0f
7fee38801000-7fee3881e000 r--p 0025f000 08​:08 1430556                   
/usr/lib64/libcrypto.so.1.1.0f
7fee3881e000-7fee3882a000 rw-p 0027c000 08​:08 1430556                   
/usr/lib64/libcrypto.so.1.1.0f
7fee3882a000-7fee3882d000 rw-p 00000000 00​:00 0
7fee3882d000-7fee3888f000 r-xp 00000000 08​:08 1430577                   
/usr/lib64/libssl.so.1.1.0f
7fee3888f000-7fee38a8f000 ---p 00062000 08​:08 1430577                   
/usr/lib64/libssl.so.1.1.0f
7fee38a8f000-7fee38a93000 r--p 00062000 08​:08 1430577                   
/usr/lib64/libssl.so.1.1.0f
7fee38a93000-7fee38a99000 rw-p 00066000 08​:08 1430577                   
/usr/lib64/libssl.so.1.1.0f
7fee38a99000-7fee38b51000 r-xp 00000000 00​:00 0
7fee38b51000-7fee38b52000 ---p 00000000 00​:00 0
7fee38b52000-7fee39352000 rwxp 00000000 00​:00 0
7fee39352000-7fee39362000 r-xp 00000000 00​:00 0
7fee39362000-7fee39363000 ---p 00000000 00​:00 0
7fee39363000-7fee39b63000 rwxp 00000000 00​:00 0
7fee39b63000-7fee39d3a000 r-xp 00000000 00​:00 0
7fee39d3a000-7fee39d57000 r--p 00000000 08​:09 2362239
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/02/029692AF4C28241A9DE9191EAB21B722DFABB02C
7fee39d57000-7fee39d76000 r-xp 00000000 00​:00 0
7fee39d76000-7fee39d99000 r--p 00000000 08​:09 2362237
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/1B/1B48D6069061B55EBDA117BC656C475836446F3C
7fee39d99000-7fee39d9c000 r-xp 00000000 00​:00 0
7fee39d9c000-7fee39dbd000 r--p 00000000 08​:09 2362235
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/8C/8CDC8983D038B56A9D3A63D31AEA6AF93261EFB1
7fee39dbd000-7fee39dfa000 r-xp 00000000 00​:00 0
7fee39dfa000-7fee3a5fc000 rw-p 00000000 00​:00 0
7fee3a5fc000-7fee3a5fd000 r-xp 00000000 00​:00 0
7fee3a5fd000-7fee3a618000 r--p 00000000 08​:09 2362232
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/47/47299CA2CB0ACBBE5FD69D39BC7C10AA9B327285
7fee3a618000-7fee3a64d000 r-xp 00000000 00​:00 0
7fee3a64d000-7fee3a66a000 r--p 00000000 08​:09 2362229
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/1B/1BFD5D35ADB8CA39D273304E6CACAAAFC72D1CB1
7fee3a66a000-7fee3a682000 r--p 00000000 08​:09 2362227
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/22/22E451124C18BF31E0E2BADFE39AD04BA353E0F4
7fee3a682000-7fee3a6a6000 r-xp 00000000 00​:00 0
7fee3a6a6000-7fee3a6c0000 r--p 00000000 08​:09 2362223
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/02/02E97E8356AA549A5735C0B334209B61EAB1F3CE
7fee3a6c0000-7fee3a6da000 r--p 00000000 08​:09 2362221
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/7E/7E3A1F4FDE9BDE94C30C10327634DE0DDEF26500
7fee3a6da000-7fee3a748000 r--p 00000000 08​:09 2362208
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/73/735B026FCD0B30C674D2B9CB2B4E13848327D98B
7fee3a748000-7fee3a7fd000 r--p 00000000 08​:09 2362198
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/65/655BF8F68885A2545C6D6F4A81470EECA10B6AF7
7fee3a7fd000-7fee3a7fe000 ---p 00000000 00​:00 0
7fee3a7fe000-7fee3affe000 rwxp 00000000 00​:00 0
7fee3affe000-7fee3afff000 ---p 00000000 00​:00 0
7fee3afff000-7fee3b7ff000 rwxp 00000000 00​:00 0
7fee3b7ff000-7fee3b800000 ---p 00000000 00​:00 0
7fee3b800000-7fee3c000000 rwxp 00000000 00​:00 0
7fee3c000000-7fee3f044000 rw-p 00000000 00​:00 0
7fee3f044000-7fee40000000 ---p 00000000 00​:00 0
7fee40000000-7fee40023000 r-xp 00000000 00​:00 0
7fee40023000-7fee4003d000 r--p 00000000 08​:09 2362218
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/B8/B8100F5BA8BD048A7CF11D116FBBD73130C3C6F5
7fee4003d000-7fee4003e000 ---p 00000000 00​:00 0
7fee4003e000-7fee4083e000 rwxp 00000000 00​:00 0
7fee4083e000-7fee40c3f000 rw-p 00000000 00​:00 0
7fee40c3f000-7fee40c5f000 r-xp 00000000 00​:00 0
7fee40c5f000-7fee40c69000 r-xp 00000000 00​:00 0
7fee40c69000-7fee40c84000 r--p 00000000 08​:09 2362216
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/E3/E3AC498739C6E9D0204C64E388C1AF2CE8BDBA25
7fee40c84000-7fee40c92000 r--p 00000000 08​:09 2362214
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/9E/9EB55AD6BFC23ABC8FD573106EF2D9A1F6AA4C5E
7fee40c92000-7fee40cc4000 r--p 00000000 08​:09 2362210
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/43/43BCE09FD3F2CBA3DC8FDBC35A88AED124A05BE2
7fee40cc4000-7fee40cea000 r--p 00000000 08​:09 2362206
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/90/907822B86722B8A1D0E8348917FA6B92DA4E88FA
7fee40cea000-7fee40d05000 r--p 00000000 08​:09 2362200
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/B3/B318A84DFDBF60DC2FFC07A12792D301A6B6B822
7fee40d05000-7fee40d20000 r--p 00000000 08​:09 2362196
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/D9/D947AB8E57C02386E710F66C8889095CB20D7A5F
7fee40d20000-7fee40d4c000 r--p 00000000 08​:09 2362186
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/7E/7EF49EA9866A86011FC90D8C8748CD933F44DFD3
7fee40d4c000-7fee40d60000 r--p 00000000 08​:09 2362184
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/A2/A2E191D0732EFC88E74160BF2B251C9917418F18
7fee40d60000-7fee40d69000 r-xp 00000000 00​:00 0
7fee40d69000-7fee40d6e000 r-xp 00000000 00​:00 0
7fee40d6e000-7fee40d7a000 r--p 00000000 08​:09 2362212
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/C8/C8CBBCB776829D428E190689736FD4EB64E03E63
7fee40d7a000-7fee40d90000 r--p 00000000 08​:09 2362182
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/A9/A9A2F3AEE7E91396B118935B2318B5F8F53E6D6A
7fee40d90000-7fee40da4000 r--p 00000000 08​:09 2362180
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/4A/4AAB43E1174B25B724C3649F8C2569B60639364B
7fee40da4000-7fee40e6a000 r--p 00000000 08​:09 2362149
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/E4/E4A3B57DF69338ED90461C62C77AB2C469D2B562
7fee40e6a000-7fee40e6d000 r-xp 00000000 00​:00 0
7fee40e6d000-7fee40e95000 r--p 00000000 08​:09 2362176
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/DB/DB7F6E019735A92A4328C30DC90A61C90143EC6F
7fee40e95000-7fee40eae000 r--p 00000000 08​:09 2362174
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/41/4156F276F989F3D8689595401213EFA51C840380
7fee40eae000-7fee40ecd000 r--p 00000000 08​:09 2362172
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/9A/9AD93103EE3B9E9117628C9D11FD8A319D3EF4AB
7fee40ecd000-7fee40ed4000 r-xp 00000000 00​:00 0
7fee40ed4000-7fee40ede000 r-xp 00000000 00​:00 0
7fee40ede000-7fee40ee1000 r--p 00000000 08​:09 2362190
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/00/00A25E70D5BE88C5BE3F70A3CF5817D513166FD0
7fee40ee1000-7fee40ef5000 r--p 00000000 08​:09 2362169
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/AC/ACE975758C8290088A8791D2A47C34B6233F8F2A
7fee40ef5000-7fee40f00000 r--p 00000000 08​:09 2362166
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/B1/B13842D25A4FBB5D1C3AA26CA1B66EA9696CD425
7fee40f00000-7fee40f0c000 r--p 00000000 08​:09 2362164
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/DF/DFD016CB46E0707C5147A17A965CFB2AC20EE274
7fee40f0c000-7fee40f17000 r--p 00000000 08​:09 2362160
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/7D/7D6FDF123F5D12C65222E5FF2AEC485F6130F0D1
7fee40f17000-7fee40f3a000 r-xp 00000000 00​:00 0
7fee40f3a000-7fee40f3c000 r-xp 00000000 00​:00 0
7fee40f3c000-7fee40f4f000 r--p 00000000 08​:09 2362145
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/E0/E00F267FDD1FF8F43FF2E31CAC7ECF3C583ED542
7fee40f4f000-7fee40f50000 r-xp 00000000 00​:00 0
7fee40f50000-7fee40f53000 r--p 00000000 08​:09 2362141
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/CD/CDEA635EB59912F0FB837D2864169293ED785E5B
7fee40f53000-7fee40f65000 r--p 00000000 08​:09 2362137
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/34/3441E9659F6DD11401D1CD625F5458DF634EBDC5
7fee40f65000-7fee40f73000 r--p 00000000 08​:09 2362135
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/7A/7A84F96310678743CDCCDE54DB4694711DF947E0
7fee40f73000-7fee40f9b000 r--p 00000000 08​:09 2362122
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/09/09EDABA29EC404EECF6F22B9E70F60FB85A981A6
7fee40f9b000-7fee40fa7000 r-xp 00000000 00​:00 0
7fee40fa7000-7fee40fab000 r-xp 00000000 00​:00 0
7fee40fab000-7fee40fc2000 r--p 00000000 08​:09 2362131
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/E0/E0165B7A7144C48C856A4960D7A16F43E8B803C7
7fee40fc2000-7fee40fcd000 r--p 00000000 08​:09 2362129
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/EA/EA391B57D3BE1D3A3759780345F9CDF73B82B3B9
7fee40fcd000-7fee40fce000 r-xp 00000000 00​:00 0
7fee40fce000-7fee41008000 r--p 00000000 08​:09 2361640
/home/marcel/Software/perl6/rakudo/install/share/perl6/site/precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/4C/4CD9D491F8061F616CA2F5E1135CF78DA25A03C1
7fee41008000-7fee41012000 r-xp 00000000 00​:00 0
7fee41012000-7fee41022000 r--p 00000000 08​:09 2362126
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/F6/F6EBCAAABE803C7C8857FE670A8202D073432F16
7fee41022000-7fee41027000 r-xp 00000000 00​:00 0
7fee41027000-7fee41039000 r--p 00000000 08​:09 2362120
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/EB/EBE3D5B8596770D3FAAAC1C702E0876F4CBCB325
7fee41039000-7fee41043000 r--p 00000000 08​:09 41419740
/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/CORE.d.setting.moarvm
7fee41043000-7fee41056000 r--p 00000000 08​:09 2361623
/home/marcel/Software/perl6/rakudo/install/share/perl6/site/precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/FA/FA79499BD2EC8A255DD080DBAF698B6B705C5702
7fee41056000-7fee4106d000 r--p 00000000 08​:09 2361636
/home/marcel/Software/perl6/rakudo/install/share/perl6/site/precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/75/753014F3A969D31056888107771C9EB71C3038D6
7fee4106d000-7fee41072000 r-xp 00000000 00​:00 0
7fee41072000-7fee41080000 r--p 00000000 08​:09 2361629
/home/marcel/Software/perl6/rakudo/install/share/perl6/site/precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/A4/A4B1916E86A326BDD5AD2049EEC06EC8D3626D7E
7fee41080000-7fee41084000 r--p 00000000 08​:09 2361626
/home/marcel/Software/perl6/rakudo/install/share/perl6/site/precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/2D/2D509CA0AE8FAE4BDFDD4CD92CEE227271C86E4D
7fee41084000-7fee410a4000 r--p 00000000 08​:09 2361621
/home/marcel/Software/perl6/rakudo/install/share/perl6/site/precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/23/23355B4D3F7D3579408A1F7D1953A65F4012B089
7fee410a4000-7fee410d3000 r--p 00000000 08​:09 47715426
/home/marcel/Software/perl6/rakudo/install/share/perl6/precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/24/24DD121B5B4774C04A7084827BFAD92199756E03
7fee410d3000-7fee410e7000 r-xp 00000000 00​:00 0
7fee410e7000-7fee41112000 rw-p 00000000 00​:00 0
7fee41112000-7fee4111b000 r-xp 00000000 00​:00 0
7fee4111b000-7fee41130000 r--p 00000000 08​:09 2361638
/home/marcel/Software/perl6/rakudo/install/share/perl6/site/precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/17/17C65A9C51402AC0658449529B4AF49016C0DA35
7fee41130000-7fee41133000 r--p 00000000 08​:09 2361634
/home/marcel/Software/perl6/rakudo/install/share/perl6/site/precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/40/40C4895DAB08F358CE666F55152875606A5FB7A9
7fee41133000-7fee4113c000 r-xp 00000000 00​:00 0
7fee4113c000-7fee4114c000 r--p 00000000 08​:09 47847913
/home/marcel/Software/perl6/rakudo/install/share/perl6/precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/2A/2ACCA56EF5582D3ED623105F00BD76D7449263F7
7fee4114c000-7fee4115b000 r--p 00000000 08​:09 47457534
/home/marcel/Software/perl6/rakudo/install/share/perl6/precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/FE/FE7156F9200E802D3DB8FA628CF91AD6B020539B
7fee4115b000-7fee41173000 r--p 00000000 08​:09 46667921
/home/marcel/Software/perl6/rakudo/install/share/perl6/precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/51/51E302443A2C8FF185ABC10CA1E5520EFEE885A1
7fee41173000-7fee41174000 r-xp 00000000 00​:00 0
7fee41174000-7fee41192000 r--p 00000000 08​:09 2362111
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/67/673F696712F3C09A804B357D3DCA1F42D68E24E1
7fee41192000-7fee411dd000 r-xp 00000000 00​:00 0
7fee411dd000-7fee41358000 rw-p 00000000 00​:00 0
7fee41358000-7fee4139f000 r--p 00000000 08​:09 41419503
/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/Perl6/Metamodel.moarvm
7fee4139f000-7fee413cd000 r--p 00000000 08​:09 41419588
/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/Perl6/BOOTSTRAP.moarvm
7fee413cd000-7fee413ff000 rw-p 00000000 00​:00 0
7fee413ff000-7fee420a8000 r--p 00000000 08​:09 41419739
/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm
7fee420a8000-7fee420bd000 r-xp 00000000 00​:00 0
7fee420bd000-7fee420cc000 r--p 00000000 08​:09 2362109
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/31/3156FDD28D7D33C3C0F1045A8DA55FDAAB10FF69
7fee420cc000-7fee420fe000 r--p 00000000 08​:09 2362107
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/FB/FB4E2A615EE883B86FE47D5D5ADB7A14148BF025
7fee420fe000-7fee4210b000 r--p 00000000 08​:09 2362102
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/A2/A2C3E24A588E26BD20C73E421ACEAC8CD0003B82
7fee4210b000-7fee4211a000 r--p 00000000 08​:09 2362097
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/DE/DE38D10D8D0E25ECFD04D466A71E6AF7321156D2
7fee4211a000-7fee42135000 r--p 00000000 08​:09 2362093
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/C4/C4AA0E0071A284B03B9D161BAFFB11E61F52A4B1
7fee42135000-7fee42140000 r-xp 00000000 00​:00 0
7fee42140000-7fee42161000 r--p 00000000 08​:09 2362091
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/55/55F14872145F08845DE589836F724F3A548CA0F1
7fee42161000-7fee42165000 r-xp 00000000 00​:00 0
7fee42165000-7fee4217e000 r--p 00000000 08​:09 2362089
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/F4/F47D61648E3C787C8105E4A72E146A9C649C27FE
7fee4217e000-7fee4217f000 r-xp 00000000 00​:00 0
7fee4217f000-7fee42184000 r--p 00000000 08​:09 2362087
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/98/98B6AE3245452FE4788A85D49E80E2001C0D78B1
7fee42184000-7fee42191000 r--p 00000000 08​:09 2362084
/home/marcel/Languages/Perl6/Projects/Library/lib/.precomp/9E20B6FD811FE47DED2B8437D1B65A19ACC36D98.1508243720.54514/F4/F4E9ECE4CD7A79CAA06FC8CDC70CEC785B01F6CD
7fee42191000-7fee422aa000 r-xp 00000000 00​:00 0
7fee422aa000-7fee422b2000 r-xp 00000000 08​:09 41419745
/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/dynext/libperl6_ops_moar.so
7fee422b2000-7fee424b1000 ---p 00008000 08​:09 41419745
/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/dynext/libperl6_ops_moar.so
7fee424b1000-7fee424b2000 r--p 00007000 08​:09 41419745
/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/dynext/libperl6_ops_moar.so
7fee424b2000-7fee424b3000 rw-p 00008000 08​:09 41419745
/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/dynext/libperl6_ops_mAbort
(core dumped)

@p6rt
Copy link
Author

p6rt commented Oct 17, 2017

From @AlexDaniel

How can I reproduce this issue? What code did you use?

@p6rt
Copy link
Author

p6rt commented Oct 17, 2017

The RT System itself - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Oct 17, 2017

From @timo

if you can, please re-compile MoarVM passing the same options that were
used before (you can find them on the first screenfuls of the Makefile
inside moarvm's source folder) to Configure.pl but also include
--debug=3 and --optimize=0. This is an optional step. After that, please
run perl6-valgrind-m instead of perl6 or perl6-m to execute your script,
that should give more helpful data.

Later on, to run stuff regularly again, turn optimize back up to 3,
otherwise things will be noticeably slower.

@p6rt
Copy link
Author

p6rt commented Oct 18, 2017

From @MARTIMM

@​Aleks-Daniel Jakimenko-Aleksejev

How can I reproduce this issue? What code did you use?

Well,

1) Install a mongod server and start it up. Its address  might be
127.0.0.1​:27017 which is the default for mongod servers. Servers can be
downloaded using

$ curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.9.tgz

When unpacked, you can find the server in the bin directory.

2) Install MongoDB. it depends on a host of modules.

3) Install the Library project from github;
https://github.com/MARTIMM/Library

4) Setup a config file in $HOME/.library/config.toml

database = "Library"
uri = "mongodb​://127.0.0.1​:27017"
[collection]
meta-config = "Metaconfig"
meta-data = "Metadata"

5) Run the program (take a directory which is not of value for you to be
sure! like /tmp)

$ store-file-metadata.pl6 fs -et -r <directory tree to process>

If the directory is sufficiently large/deep, the program will crash.

I can imagine that this will take too much to do, thanks anyway if you try.

Marcel

@p6rt
Copy link
Author

p6rt commented Oct 18, 2017

From @MARTIMM

On 10/17/2017 09​:27 PM, Timo Paulssen via RT wrote​:

if you can, please re-compile MoarVM passing the same options that were
used before (you can find them on the first screenfuls of the Makefile
inside moarvm's source folder) to Configure.pl but also include
--debug=3 and --optimize=0. This is an optional step. After that, please
run perl6-valgrind-m instead of perl6 or perl6-m to execute your script,
that should give more helpful data.

Later on, to run stuff regularly again, turn optimize back up to 3,
otherwise things will be noticeably slower.

@​timo

The program didn't crash but the system got slower until a point that I
had to stop it. The end result is shown below. (There are 2 more runs
below this one!)

==26702==
==26702== Process terminating with default action of signal 2 (SIGINT)
==26702==    at 0x5DE090B​: pthread_cond_wait@​@​GLIBC_2.3.2 (in
/usr/lib64/libpthread-2.25.so)
==26702==    by 0x51061F8​: uv_cond_wait (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==26702==    by 0x5061E04​: shift (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==26702==    by 0x50419F3​: MVM_repr_shift_o (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==26702==    by 0x5091898​: worker (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==26702==    by 0x5019EF0​: thread_initial_invoke (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==26702==    by 0x4FF84F7​: MVM_interp_run (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==26702==    by 0x5019F6D​: start_thread (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==26702==    by 0x5DDA36C​: start_thread (in /usr/lib64/libpthread-2.25.so)
==26702==
==26702== HEAP SUMMARY​:
==26702==     in use at exit​: 491,357,261 bytes in 1,627,986 blocks
==26702==   total heap usage​: 29,576,790 allocs, 27,948,804 frees,
17,354,627,753 bytes allocated
==26702==
==26702== LEAK SUMMARY​:
==26702==    definitely lost​: 1,213,140 bytes in 37,380 blocks
==26702==    indirectly lost​: 49,224 bytes in 1,709 blocks
==26702==      possibly lost​: 395,844 bytes in 7,003 blocks
==26702==    still reachable​: 489,699,053 bytes in 1,581,894 blocks
==26702==         suppressed​: 0 bytes in 0 blocks
==26702== Rerun with --leak-check=full to see details of leaked memory
==26702==
==26702== For counts of detected and suppressed errors, rerun with​: -v
==26702== ERROR SUMMARY​: 0 errors from 0 contexts (suppressed​: 0 from 0)

A run on a smaller set of files and directories ended like this

==27745==
==27745== HEAP SUMMARY​:
==27745==     in use at exit​: 299,554,654 bytes in 996,179 blocks
==27745==   total heap usage​: 3,885,468 allocs, 2,889,289 frees,
2,080,116,257 bytes allocated
==27745==
==27745== LEAK SUMMARY​:
==27745==    definitely lost​: 632,860 bytes in 19,779 blocks
==27745==    indirectly lost​: 15,392 bytes in 436 blocks
==27745==      possibly lost​: 381,904 bytes in 6,792 blocks
==27745==    still reachable​: 298,524,498 bytes in 969,172 blocks
==27745==         suppressed​: 0 bytes in 0 blocks
==27745== Rerun with --leak-check=full to see details of leaked memory
==27745==
==27745== For counts of detected and suppressed errors, rerun with​: -v
==27745== ERROR SUMMARY​: 0 errors from 0 contexts (suppressed​: 0 from 0)

Then I ran with the option '--leak-check=full' which ended with a much
larger list of data

==27960==
==27960== HEAP SUMMARY​:
==27960==     in use at exit​: 280,544,350 bytes in 992,192 blocks
==27960==   total heap usage​: 3,672,304 allocs, 2,680,112 frees,
1,929,387,061 bytes allocated
==27960==
==27960== 24 bytes in 3 blocks are possibly lost in loss record 820 of 4,825
==27960==    at 0x4C2EB6B​: malloc (vg_replace_malloc.c​:299)
==27960==    by 0x50941CD​: plan_for_cs (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50942FB​: plan_for_sf (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50944CF​: MVM_spesh_plan (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5091A13​: worker (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5019EF0​: thread_initial_invoke (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x4FF84F7​: MVM_interp_run (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5019F6D​: start_thread (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5DDA36C​: start_thread (in /usr/lib64/libpthread-2.25.so)
==27960==
==27960== 81 bytes in 27 blocks are definitely lost in loss record 1,626
of 4,825
==27960==    at 0x4C2EB6B​: malloc (vg_replace_malloc.c​:299)
==27960==    by 0x509779D​: MVM_string_ascii_encode_substr (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5097BF5​: MVM_string_ascii_encode (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50BA5DD​: MVM_unicode_name_to_property_value_code (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x500A458​: MVM_interp_run (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50CEAD9​: MVM_vm_run_file (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x400F27​: main (in
/home/marcel/Software/perl6/rakudo/install/bin/moar)
==27960==
==27960== 192 bytes in 4 blocks are possibly lost in loss record 2,178
of 4,825
==27960==    at 0x4C30A1E​: calloc (vg_replace_malloc.c​:711)
==27960==    by 0x501C351​: MVM_load_bytecode (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x4FF8E22​: MVM_interp_run (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50CEAD9​: MVM_vm_run_file (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x400F27​: main (in
/home/marcel/Software/perl6/rakudo/install/bin/moar)
==27960==
==27960== 272 bytes in 1 blocks are possibly lost in loss record 2,369
of 4,825
==27960==    at 0x4C30A1E​: calloc (vg_replace_malloc.c​:711)
==27960==    by 0x4013EC6​: _dl_allocate_tls (in /usr/lib64/ld-2.25.so)
==27960==    by 0x5DDAEEC​: pthread_create@​@​GLIBC_2.2.5 (in
/usr/lib64/libpthread-2.25.so)
==27960==    by 0x5105DC0​: uv_thread_create (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x501A280​: MVM_thread_run (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50CE5A9​: MVM_vm_create_instance (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x400D26​: main (in
/home/marcel/Software/perl6/rakudo/install/bin/moar)
==27960==
==27960== 272 bytes in 1 blocks are possibly lost in loss record 2,370
of 4,825
==27960==    at 0x4C30A1E​: calloc (vg_replace_malloc.c​:711)
==27960==    by 0x4013EC6​: _dl_allocate_tls (in /usr/lib64/ld-2.25.so)
==27960==    by 0x5DDAEEC​: pthread_create@​@​GLIBC_2.2.5 (in
/usr/lib64/libpthread-2.25.so)
==27960==    by 0x5105DC0​: uv_thread_create (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x501A280​: MVM_thread_run (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50338D9​: MVM_io_eventloop_queue_work (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x503A433​: MVM_proc_spawn_async (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5007BA0​: MVM_interp_run (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50CEAD9​: MVM_vm_run_file (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x400F27​: main (in
/home/marcel/Software/perl6/rakudo/install/bin/moar)
==27960==
==27960== 392 bytes in 7 blocks are possibly lost in loss record 2,549
of 4,825
==27960==    at 0x4C2EB6B​: malloc (vg_replace_malloc.c​:299)
==27960==    by 0x50BAE49​: MVM_unicode_init (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50CDF1C​: MVM_vm_create_instance (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x400D26​: main (in
/home/marcel/Software/perl6/rakudo/install/bin/moar)
==27960==
==27960== 448 bytes in 8 blocks are possibly lost in loss record 2,602
of 4,825
==27960==    at 0x4C2EB6B​: malloc (vg_replace_malloc.c​:299)
==27960==    by 0x50BB149​: MVM_unicode_init (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50CDF1C​: MVM_vm_create_instance (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x400D26​: main (in
/home/marcel/Software/perl6/rakudo/install/bin/moar)
==27960==
==27960== 544 bytes in 2 blocks are possibly lost in loss record 2,717
of 4,825
==27960==    at 0x4C30A1E​: calloc (vg_replace_malloc.c​:711)
==27960==    by 0x4013EC6​: _dl_allocate_tls (in /usr/lib64/ld-2.25.so)
==27960==    by 0x5DDAEEC​: pthread_create@​@​GLIBC_2.2.5 (in
/usr/lib64/libpthread-2.25.so)
==27960==    by 0x5105DC0​: uv_thread_create (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x501A280​: MVM_thread_run (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x4FFDBAB​: MVM_interp_run (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50CEAD9​: MVM_vm_run_file (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x400F27​: main (in
/home/marcel/Software/perl6/rakudo/install/bin/moar)
==27960==
==27960== 576 (360 direct, 216 indirect) bytes in 9 blocks are
definitely lost in loss record 2,745 of 4,825
==27960==    at 0x4C2EB6B​: malloc (vg_replace_malloc.c​:299)
==27960==    by 0x5068C31​: MVM_decoder_configure (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x4FFC660​: MVM_interp_run (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50CEAD9​: MVM_vm_run_file (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x400F27​: main (in
/home/marcel/Software/perl6/rakudo/install/bin/moar)
==27960==
==27960== 864 bytes in 18 blocks are possibly lost in loss record 2,919
of 4,825
==27960==    at 0x4C30A1E​: calloc (vg_replace_malloc.c​:711)
==27960==    by 0x501C351​: MVM_load_bytecode (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x4FF8E22​: MVM_interp_run (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50CEAB2​: MVM_vm_run_file (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x400F27​: main (in
/home/marcel/Software/perl6/rakudo/install/bin/moar)
==27960==
==27960== 1,360 bytes in 34 blocks are possibly lost in loss record
3,142 of 4,825
==27960==    at 0x4C30A1E​: calloc (vg_replace_malloc.c​:711)
==27960==    by 0x5091EDE​: stats_for (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x509320B​: MVM_spesh_stats_update (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50919AA​: worker (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5019EF0​: thread_initial_invoke (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x4FF84F7​: MVM_interp_run (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5019F6D​: start_thread (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5DDA36C​: start_thread (in /usr/lib64/libpthread-2.25.so)
==27960==
==27960== 1,800 bytes in 26 blocks are possibly lost in loss record
3,246 of 4,825
==27960==    at 0x4C2EB6B​: malloc (vg_replace_malloc.c​:299)
==27960==    by 0x509410C​: copy_type_tuple (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50941F2​: plan_for_cs (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50942FB​: plan_for_sf (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50944CF​: MVM_spesh_plan (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5091A13​: worker (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5019EF0​: thread_initial_invoke (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x4FF84F7​: MVM_interp_run (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5019F6D​: start_thread (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5DDA36C​: start_thread (in /usr/lib64/libpthread-2.25.so)
==27960==
==27960== 1,904 bytes in 7 blocks are possibly lost in loss record 3,261
of 4,825
==27960==    at 0x4C30A1E​: calloc (vg_replace_malloc.c​:711)
==27960==    by 0x4013EC6​: _dl_allocate_tls (in /usr/lib64/ld-2.25.so)
==27960==    by 0x5DDAEEC​: pthread_create@​@​GLIBC_2.2.5 (in
/usr/lib64/libpthread-2.25.so)
==27960==    by 0x5105DC0​: uv_thread_create (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x501A280​: MVM_thread_run (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x4FFDBAB​: MVM_interp_run (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5019F6D​: start_thread (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5DDA36C​: start_thread (in /usr/lib64/libpthread-2.25.so)
==27960==
==27960== 53,968 (52,136 direct, 1,832 indirect) bytes in 6,517 blocks
are definitely lost in loss record 4,465 of 4,825
==27960==    at 0x4C2EB6B​: malloc (vg_replace_malloc.c​:299)
==27960==    by 0x50941CD​: plan_for_cs (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50942FB​: plan_for_sf (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50944CF​: MVM_spesh_plan (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5091A13​: worker (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5019EF0​: thread_initial_invoke (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x4FF84F7​: MVM_interp_run (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5019F6D​: start_thread (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5DDA36C​: start_thread (in /usr/lib64/libpthread-2.25.so)
==27960==
==27960== 176,008 bytes in 3,143 blocks are possibly lost in loss record
4,666 of 4,825
==27960==    at 0x4C2EB6B​: malloc (vg_replace_malloc.c​:299)
==27960==    by 0x50B9CF9​: MVM_unicode_name_to_property_code (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x500A4AF​: MVM_interp_run (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50CEAD9​: MVM_vm_run_file (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x400F27​: main (in
/home/marcel/Software/perl6/rakudo/install/bin/moar)
==27960==
==27960== 196,616 bytes in 3,511 blocks are possibly lost in loss record
4,675 of 4,825
==27960==    at 0x4C2EB6B​: malloc (vg_replace_malloc.c​:299)
==27960==    by 0x50BA72D​: MVM_unicode_init (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50CDF1C​: MVM_vm_create_instance (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x400D26​: main (in
/home/marcel/Software/perl6/rakudo/install/bin/moar)
==27960==
==27960== 233,136 bytes in 5,216 blocks are definitely lost in loss
record 4,700 of 4,825
==27960==    at 0x4C2EB6B​: malloc (vg_replace_malloc.c​:299)
==27960==    by 0x509410C​: copy_type_tuple (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50941F2​: plan_for_cs (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50942FB​: plan_for_sf (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50944CF​: MVM_spesh_plan (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5091A13​: worker (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5019EF0​: thread_initial_invoke (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x4FF84F7​: MVM_interp_run (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5019F6D​: start_thread (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5DDA36C​: start_thread (in /usr/lib64/libpthread-2.25.so)
==27960==
==27960== 417,203 (400,200 direct, 17,003 indirect) bytes in 10,005
blocks are definitely lost in loss record 4,748 of 4,825
==27960==    at 0x4C30A1E​: calloc (vg_replace_malloc.c​:711)
==27960==    by 0x5091EDE​: stats_for (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x509320B​: MVM_spesh_stats_update (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x50919AA​: worker (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5019EF0​: thread_initial_invoke (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x4FF84F7​: MVM_interp_run (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5019F6D​: start_thread (in
/home/marcel/Software/perl6/rakudo/install/lib/libmoar.so)
==27960==    by 0x5DDA36C​: start_thread (in /usr/lib64/libpthread-2.25.so)
==27960==
==27960== LEAK SUMMARY​:
==27960==    definitely lost​: 685,913 bytes in 21,774 blocks
==27960==    indirectly lost​: 19,051 bytes in 520 blocks
==27960==      possibly lost​: 380,696 bytes in 6,765 blocks
==27960==    still reachable​: 279,458,690 bytes in 963,133 blocks
==27960==         suppressed​: 0 bytes in 0 blocks
==27960== Reachable blocks (those to which a pointer was found) are not
shown.
==27960== To see them, rerun with​: --leak-check=full --show-leak-kinds=all
==27960==
==27960== For counts of detected and suppressed errors, rerun with​: -v
==27960== ERROR SUMMARY​: 18 errors from 18 contexts (suppressed​: 0 from 0)

Hopefully there is something to work with.
Regards,
Marcel

@p6rt
Copy link
Author

p6rt commented Oct 26, 2017

From @AlexDaniel

FWIW, when toasting I observed double free or corruption when installing both BSON and MongoDB modules. The issue is really there, and should be reproducible by just running the tests. That said, I've been running BSON tests locally in a loop for hours with no luck.

@p6rt
Copy link
Author

p6rt commented Oct 26, 2017

From @zoffixznet

On Thu, 26 Oct 2017 06​:04​:51 -0700, alex.jakimenko@​gmail.com wrote​:

FWIW, when toasting I observed double free or corruption when
installing both
BSON and MongoDB modules. The issue is really there, and should be
reproducible
by just running the tests. That said, I've been running BSON tests
locally in a
loop for hours with no luck.

I can repro it easily on by Ubuntu box. Golfed it down to the attached code running in BSON repo[^1]
checkout with `while perl6 -Ilib t/300-document.t; do true; done`. I get double-free errors as well as
occasional failing tests.

Briefly glancing at the guts of the module and seeing all the Promises created left, right, and center,
it wouldn't surprise me if this issue is due to the BSON module doing thread-unsafe things somewhere and
not an issue in rakudo.

[1] https://github.com/MARTIMM/BSON

@p6rt
Copy link
Author

p6rt commented Oct 26, 2017

From @zoffixznet

use v6;
use Test;
use BSON​::Document;

#-------------------------------------------------------------------------------
subtest "Initialize document", {

  # Init via Seq
  #
  my BSON​::Document $d .= new​: ('a' ... 'z') Z=> 120..145;

  is $d<a>, 120, "\$d<a> = $d<a>";
  is $d<b>, 121, "\$d<b> = $d<b>";
  is $d.elems, 26, "{$d.elems} elements";

  # Add one element, encode and decode using new(Buf)
  #
  $d<aaa> = 11;
  my Buf $b2 = $d.encode;
  my BSON​::Document $d2 .= new($b2);
  is $d2.elems, 27, "{$d.elems} elements in decoded doc";
  is $d2<aaa>, 11, "Item is $d2<aaa>";

  # Init via list
  #
  $d .= new​: (ppp => 100, qqq => ( d => 110, e => 120));
  is $d<ppp>, 100, "\$d<ppp> = $d<ppp>";
  is $d<qqq><d>, 110, "\$d<qqq><d> = $d<qqq><d>";

  # Init via hash inhibited
  throws-like { $d .= new​: ppp => 100, qqq => ( d => 110, e => 120); },
  X​::BSON, 'Cannot use hashes on init',
  :message(/​:s Cannot use hash values on init/);
}

#-------------------------------------------------------------------------------
subtest "Ban the hash", {

  my BSON​::Document $d .= new;
  throws-like {
  $d<q> = {a => 20};
  is $d<q><a>, 20, "Hash value $d<q><a>";
  }, X​::BSON, 'Cannot use hashes when assigning',
  :message(/​:s Cannot use hash values/);

  $d.accept-hash(True);
  $d<q> = {
  a => 120, b => 121, c => 122, d => 123, e => 124, f => 125, g => 126,
  h => 127, i => 128, j => 129, k => 130, l => 131, m => 132, n => 133,
  o => 134, p => 135, q => 136, r => 137, s => 138, t => 139, u => 140,
  v => 141, w => 142, x => 143, y => 144, z => 145
  };
  is $d<q><a>, 120, "Hash value $d<q><a>";
  my $x = $d<q>.keys.sort;
  nok $x eqv $d<q>.keys.List, 'Not same order';

  $d.autovivify(True);

  $d<e><f><g> = {b => 30};
  is $d<e><f><g><b>, 30, "Autovivified hash value $d<e><f><g><b>";
}

#if %*ENV<TRAVIS>​:exists or '/home/marcel/Languages/Perl6'.IO ~~ :d {
  subtest "Big, wide and deep nesting", {

  # Keys must be sufficiently long and value complex enough to keep a
  # thread busy causing the process to runout of available threads
  # which are by default 16.
  my Num $count = 0.1e0;
  my BSON​::Document $d .= new;
  for ('zxnbcvzbnxvc-aa', *.succ ... 'zxnbcvzbnxvc-bz') -> $char {
  $d{$char} = ($count += 2.44e0);
  }

  my BSON​::Document $dsub .= new;
  for ('uqwteuyqwte-aa', *.succ ... 'uqwteuyqwte-bz') -> $char {
  $dsub{$char} = ($count += 2.1e0);
  }

  for ('uqwteuyqwte-da', *.succ ... 'uqwteuyqwte-dz') -> $char {
  $d<x1>{$char} = ($count += 2.1e0);
  $d<x2><x1>{$char} = $dsub.clone;
  $d<x2><x2><x3>{$char} = $dsub.clone;
  }

  for ('jhgsajhgasjdg-ca', *.succ ... 'jhgsajhgasjdg-cz') -> $char {
  $d{$char} = ($count -= 0.02e0);
  }

  for ('uqwteuyqwte-ea', *.succ ... 'uqwteuyqwte-ez') -> $char {
  $d<x3>{$char} = $dsub.clone;
  $d<x4><x1>{$char} = $dsub.clone;
  $d<x4><x2><x3>{$char} = $dsub.clone;
  }

  $dsub .= new($d.encode);
  is-deeply $dsub, $d, 'document the same after encoding/decoding';
  }
#}

done-testing;

@p6rt
Copy link
Author

p6rt commented Oct 28, 2017

From @MARTIMM

Hi @​Zoffix Znet

Do you have any pointers or howto's to write thread-save code? Otherwise
I'd remove all of the promises. It gave some other problems in the past.
Regards
Marcel

On Thu, 26 Oct 2017 06​:04​:51 -0700, alex.jakimenko@​gmail.com wrote​:

FWIW, when toasting I observed double free or corruption when
installing both
BSON and MongoDB modules. The issue is really there, and should be
reproducible
by just running the tests. That said, I've been running BSON tests
locally in a
loop for hours with no luck.
I can repro it easily on by Ubuntu box. Golfed it down to the attached code running in BSON repo[^1]
checkout with `while perl6 -Ilib t/300-document.t; do true; done`. I get double-free errors as well as
occasional failing tests.

Briefly glancing at the guts of the module and seeing all the Promises created left, right, and center,
it wouldn't surprise me if this issue is due to the BSON module doing thread-unsafe things somewhere and
not an issue in rakudo.

[1] https://github.com/MARTIMM/BSON

@p6rt
Copy link
Author

p6rt commented Oct 28, 2017

From @zoffixznet

On Sat, 28 Oct 2017 01​:09​:59 -0700, mt1957@​gmail.com wrote​:

Hi @​Zoffix Znet

Do you have any pointers or howto's to write thread-save code?
Otherwise
I'd remove all of the promises. It gave some other problems in the
past.
Regards
Marcel

On Thu, 26 Oct 2017 06​:04​:51 -0700, alex.jakimenko@​gmail.com wrote​:

FWIW, when toasting I observed double free or corruption when
installing both
BSON and MongoDB modules. The issue is really there, and should be
reproducible
by just running the tests. That said, I've been running BSON tests
locally in a
loop for hours with no luck.
I can repro it easily on by Ubuntu box. Golfed it down to the
attached code running in BSON repo[^1]
checkout with `while perl6 -Ilib t/300-document.t; do true; done`. I
get double-free errors as well as
occasional failing tests.

Briefly glancing at the guts of the module and seeing all the
Promises created left, right, and center,
it wouldn't surprise me if this issue is due to the BSON module doing
thread-unsafe things somewhere and
not an issue in rakudo.

[1] https://github.com/MARTIMM/BSON

I'm the wrong person to ask.

Mutating some object (e.g an array) from multiple threads is one of the things​:

  Crash​:
  $ perl6 -e 'my @​a; await ^10000 .map​: {start @​a.push​: rand}; say @​a.elems'
  *** Error in `/home/zoffix/.rakudobrew/moar-2017.09/install/bin/moar'​: realloc()​: invalid next size​: 0x00007fcb440ca050 ***

  Wrong value​:
  $ perl6 -e 'my $a; await ^10000 .map​: {start $a++}; say $a'
  9956

@p6rt
Copy link
Author

p6rt commented Oct 31, 2017

From @MARTIMM

On 10/17/2017 08​:37 PM, perl6 via RT wrote​:

I've modified the BSON code quite a bit thanks to examples from Zoffix,
crashes are gone! Also I changed the parts encoding the document due to
hangups I still experienced. This was still a problem of which I thought
I had fixed it, issue #​20 threadpool exhaustion
<https://github.com/MARTIMM/BSON/issues/20>*
*
Hangups did still occur after that but it went when I upgraded rakudo.
(version 2017.10-25-gbaed02bf7 built on MoarVM version 2017.10)

I've tested for hours with the

while prove -e perl6 t; do true; done

trick. So I think this ticket can be closed.

Regards,
Marcel

@p6rt
Copy link
Author

p6rt commented Oct 31, 2017

@zoffixznet - Status changed from 'open' to 'resolved'

@p6rt p6rt closed this as completed Oct 31, 2017
@p6rt p6rt added the SEGV Segmentation fault, bus error, etc. label Jan 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
SEGV Segmentation fault, bus error, etc.
Projects
None yet
Development

No branches or pull requests

1 participant