<div dir="ltr">Well, the good news is that this should be trivial to reproduce under gdb, are you able to do that?<div><br></div><div>The valgrind command is not reporting line numbers, could you perhaps compile with debug symbols, or skip the part where you strip those symbols out?</div><div><br></div><div>As for the bug, I can not figure what it is, the issue is an allocation of a buffer that is later passed to strlen, and the function at that revision does not have any buffers allocated from dllmap_start that are later passed to strlen.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 23, 2015 at 3:28 AM, Miguel González <span dir="ltr"><<a href="mailto:mgonzalez@codicesoftware.com" target="_blank">mgonzalez@codicesoftware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Hi,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">I’ve run mono inside valgrind. I had already done that when I first bumped on this issue, but I didn’t save the results :-(  This is the summarized output:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">$ valgrind -v --track-origins=yes --leak-check=full /opt/plasticscm5/mono/bin/mono /opt/plasticscm5/mono/lib/mono/4.5/gacutil.exe –l<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421== Memcheck, a memory error detector<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421== Command: /opt/plasticscm5/mono/bin/mono /opt/plasticscm5/mono/lib/mono/4.5/gacutil.exe -l<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">--4421-- Valgrind options:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">--4421--    -v<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">--4421--    --track-origins=yes<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">--4421--    --leak-check=full<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">--4421-- Contents of /proc/version:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">--4421--   Linux version 3.4.33-2.24-desktop (geeko@buildhost) (gcc version 4.7.1 20120723 [gcc-4_7-branch revision 189773] (SUSE Linux) ) #1 SMP PREEMPT Tue Feb 26 03:34:33
 UTC 2013 (5f00a32)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">--4421-- Arch and hwcaps: X86, x86-sse1-sse2<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">--4421-- Page sizes: currently 4096, max supported 4096<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">--4421-- Valgrind library directory: /usr/lib/valgrind<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">### ... more command output (see attached file) ... ###<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421== HEAP SUMMARY:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==     in use at exit: 19,546 bytes in 643 blocks<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==   total heap usage: 81,884 allocs, 81,241 frees, 36,260,501 bytes allocated<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421== Searching for pointers to 643 not-freed blocks<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421== Checked 23,326,752 bytes<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421== ==4421== LEAK SUMMARY:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    definitely lost: 5,175 bytes in 326 blocks<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    indirectly lost: 64 bytes in 8 blocks<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==      possibly lost: 288 bytes in 2 blocks<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    still reachable: 14,019 bytes in 307 blocks<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==         suppressed: 0 bytes in 0 blocks<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421== Reachable blocks (those to which a pointer was found) are not shown.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421== To see them, rerun with: --leak-check=full --show-reachable=yes<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">### ... Detailed info about leaked heap blocks (see attached file) ... ###<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421== ERROR SUMMARY: 130 errors from 130 contexts (suppressed: 0 from 0)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421== 1 errors in context 1 of 130:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421== Conditional jump or move depends on uninitialised value(s)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    at 0x402C2D9: strlen (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    by 0x81B749E: dllmap_start (in /opt/plasticscm5/mono/bin/mono-sgen)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    by 0x8283F41: monoeg_g_markup_parse_context_parse (in /opt/plasticscm5/mono/bin/mono-sgen)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    by 0x81B6E37: mono_config_parse_xml_with_context (in /opt/plasticscm5/mono/bin/mono-sgen)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    by 0x81B6F6C: mono_config_parse_file_with_context (in /opt/plasticscm5/mono/bin/mono-sgen)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    by 0x81B6FD6: mono_config_parse_file (in /opt/plasticscm5/mono/bin/mono-sgen)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    by 0x81B808B: mono_config_parse (in /opt/plasticscm5/mono/bin/mono-sgen)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    by 0x80C1448: mono_main (in /opt/plasticscm5/mono/bin/mono-sgen)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    by 0x8065E51: main (in /opt/plasticscm5/mono/bin/mono-sgen)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==  Uninitialised value was created by a heap allocation<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    at 0x402B9FD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    by 0x827C84F: monoeg_malloc (in /opt/plasticscm5/mono/bin/mono-sgen)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    by 0x81B7476: dllmap_start (in /opt/plasticscm5/mono/bin/mono-sgen)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    by 0x8283F41: monoeg_g_markup_parse_context_parse (in /opt/plasticscm5/mono/bin/mono-sgen)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    by 0x81B6E37: mono_config_parse_xml_with_context (in /opt/plasticscm5/mono/bin/mono-sgen)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    by 0x81B6F6C: mono_config_parse_file_with_context (in /opt/plasticscm5/mono/bin/mono-sgen)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    by 0x81B6FD6: mono_config_parse_file (in /opt/plasticscm5/mono/bin/mono-sgen)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    by 0x81B808B: mono_config_parse (in /opt/plasticscm5/mono/bin/mono-sgen)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    by 0x80C1448: mono_main (in /opt/plasticscm5/mono/bin/mono-sgen)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==    by 0x8065E51: main (in /opt/plasticscm5/mono/bin/mono-sgen)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421==
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">==4421== ERROR SUMMARY: 130 errors from 130 contexts (suppressed: 0 from 0)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">I’ve attached the full report as a text file to this mail.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Thanks!<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Miguel<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Miguel de Icaza [mailto:<a href="mailto:miguel@xamarin.com" target="_blank">miguel@xamarin.com</a>]
<br>
<b>Sent:</b> 22 October 2015 18:09</span></p><div><div class="h5"><br>
<b>To:</b> Miguel González <<a href="mailto:mgonzalez@codicesoftware.com" target="_blank">mgonzalez@codicesoftware.com</a>><br>
<b>Cc:</b> <a href="mailto:mono-devel-list@lists.ximian.com" target="_blank">mono-devel-list@lists.ximian.com</a><br>
<b>Subject:</b> Re: [Mono-dev] malloc error executing OBS-built mono<u></u><u></u></div></div><p></p><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Hello,<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Well, the great news is that this happens without involving the JIT or GC - it happens just at startup, so this is a plain-old C bug.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Your best bet is now to run this with Valgrind and see what it tells you.<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Thu, Oct 22, 2015 at 12:04 PM, Miguel González <<a href="mailto:mgonzalez@codicesoftware.com" target="_blank">mgonzalez@codicesoftware.com</a>> wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">I executed a sample command (gacutils.exe -l) under gdb to see the trace at the time of the crash.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">This is the backtrace as returned by gdb:</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">Program received signal SIGABRT, Aborted.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">0xf7e1b245 in raise () from /lib/libc.so.6</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">#0  0xf7e1b245 in raise () from /lib/libc.so.6</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">#1  0xf7e1cac3 in abort () from /lib/libc.so.6</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">#2  0xf7e635cb in malloc_printerr () from /lib/libc.so.6</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">#3  0xf7e63aec in top_check () from /lib/libc.so.6</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">#4  0xf7e65b13 in malloc_check () from /lib/libc.so.6</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">#5  0xf7e66c45 in malloc () from /lib/libc.so.6</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">#6  0xf7e6b071 in strdup () from /lib/libc.so.6</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">#7  0x0827d54c in monoeg_g_strsplit ()</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">#8  0x081b70a5 in arch_matches ()</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">#9  0x081b70fa in arch_matches ()</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">#10 0x081b7770 in dllmap_start ()</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">#11 0x08283f42 in monoeg_g_markup_parse_context_parse ()</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">#12 0x081b6e38 in mono_config_parse_xml_with_context ()</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">#13 0x081b6f6d in mono_config_parse_file_with_context ()</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">#14 0x081b6fd7 in mono_config_parse_file ()</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">#15 0x081b808c in mono_config_parse ()</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">#16 0x080c1449 in mono_main ()</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">#17 0x08065e52 in main ()</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">It seems to be failing when the /etc/mono/config file is loaded. This is the config file contents.
 The zlib line has been manually added to the code retrieved from GitHub.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d"><configuration></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="i:cygwin1.dll" target="libc.so.6" os="!windows" /></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="libc" target="libc.so.6" os="!windows"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="intl" target="libc.so.6" os="!windows"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="intl" name="bind_textdomain_codeset" target="libc.so.6" os="solaris"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="libintl" name="bind_textdomain_codeset" target="libc.so.6" os="solaris"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="libintl" target="libc.so.6" os="!windows"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="i:libxslt.dll" target="libxslt.so" os="!windows"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="i:odbc32.dll" target="libodbc.so" os="!windows"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="i:odbc32.dll" target="libiodbc.dylib" os="osx"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="oci" target="libclntsh.so" os="!windows"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="db2cli" target="libdb2_36.so" os="!windows"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="MonoPosixHelper" target="$mono_libdir/libMonoPosixHelper.so" os="!windows" /></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="i:msvcrt" target="libc.so.6" os="!windows"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="i:msvcrt.dll" target="libc.so.6" os="!windows"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="sqlite" target="libsqlite.so.0" os="!windows"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="sqlite3" target="libsqlite3.so.0" os="!windows"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="libX11" target="libX11.so.6" os="!windows" /></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="libgdk-x11-2.0" target="libgdk-x11-2.0.so.0" os="!windows"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="libgtk-x11-2.0" target="libgtk-x11-2.0.so.0" os="!windows"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="libXinerama" target="libXinerama.so.1" os="!windows" /></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="libcairo-2.dll" target="libcairo.so.2" os="!windows"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="libcairo-2.dll" target="libcairo.2.dylib" os="osx"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="libcups" target="libcups.so.2" os="!windows"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="libcups" target="libcups.dylib" os="osx"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="i:kernel32.dll"></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">       <dllentry dll="__Internal" name="CopyMemory" target="mono_win32_compat_CopyMemory"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">       <dllentry dll="__Internal" name="FillMemory" target="mono_win32_compat_FillMemory"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">       <dllentry dll="__Internal" name="MoveMemory" target="mono_win32_compat_MoveMemory"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">       <dllentry dll="__Internal" name="ZeroMemory" target="mono_win32_compat_ZeroMemory"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   </dllmap></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="gdiplus" target="libgdiplus.so" os="!windows"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="gdiplus.dll" target="libgdiplus.so"  os="!windows"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="gdi32" target="libgdiplus.so" os="!windows"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="gdi32.dll" target="libgdiplus.so" os="!windows"/></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d">   <dllmap dll="z" target="libz.so.1" os="!windows" /></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:#1f497d"></configuration></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Anyway, as I mentioned, we’re putting the openSUSE 12.3 build aside. We’ve noticed that openSUSE 12.3,
 13.1 and 13.2 can work with our openSUSE 12.2 repository.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Miguel</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p>
<div>
<div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">
</span><a href="mailto:mono-devel-list-bounces@lists.ximian.com" target="_blank"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">mono-devel-list-bounces@lists.ximian.com</span></a><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">
 [mailto:</span><a href="mailto:mono-devel-list-bounces@lists.ximian.com" target="_blank"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">mono-devel-list-bounces@lists.ximian.com</span></a><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">]
<b>On Behalf Of </b>Miguel González<br>
<b>Sent:</b> 22 October 2015 10:49<br>
<b>To:</b> Miguel de Icaza <</span><a href="mailto:miguel@xamarin.com" target="_blank"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">miguel@xamarin.com</span></a><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">></span><u></u><u></u></p>
<div>
<div>
<p class="MsoNormal"><br>
<b>Cc:</b> <a href="mailto:mono-devel-list@lists.ximian.com" target="_blank">mono-devel-list@lists.ximian.com</a><br>
<b>Subject:</b> Re: [Mono-dev] malloc error executing OBS-built mono<u></u><u></u></p>
</div>
</div>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Hi Miguel,</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Thanks for the update :-) I had also an e-mail from Zoltan Varga yesterday telling me that the change
 had been applied. I updated my code accordingly to see if that could be the fix for my issue, too… But it didn’t :-(</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">I’ll try using gdb as you suggested. I hadn’t considered it before since this crash only happens inside
 the automated build of the OBS worker virtual machine and I’ve not been able to reproduce in any other environment. However, any additional info is always appreciated! There are also chances of ditching this build and relying on other distros to build our
 packages, since our OpenSUSE packages seem to be highly compatible between versions.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Thank you,</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Miguel</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Miguel de Icaza [</span><a href="mailto:miguel@xamarin.com" target="_blank"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">mailto:miguel@xamarin.com</span></a><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">]
<br>
<b>Sent:</b> 21 October 2015 20:44<br>
<b>To:</b> Miguel González <</span><a href="mailto:mgonzalez@codicesoftware.com" target="_blank"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">mgonzalez@codicesoftware.com</span></a><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">><br>
<b>Cc:</b> </span><a href="mailto:mono-devel-list@lists.ximian.com" target="_blank"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">mono-devel-list@lists.ximian.com</span></a><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><br>
<b>Subject:</b> Re: [Mono-dev] malloc error executing OBS-built mono</span><u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<p class="MsoNormal">Hello Miguel,<u></u><u></u></p>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span lang="EN-GB">I also had to apply this change in order to avoid an unallowed warning message:</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:black">I: Statement might be overflowing a buffer in strncat. Common mistake:</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:black">   BAD: strncat(buffer,charptr,sizeof(buffer)) is wrong, it takes the</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:black">   left over size as 3rd argument</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;color:black">   GOOD: strncat(buffer,charptr,sizeof(buffer)-strlen(buffer)-1)</span><u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">We replaced that code with the glib string operations just yesterday:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">042ddd504c09977682bb48010c5642390826d1da<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">But thanks for sharing.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span lang="EN-GB">At this point I’m able to build mono RPM packages and they’re working as I install them using a test OpenSUSE 12.3 virtual machine. However, when the GTK# builds
 are started –which use the mono packages as build requirement–, the worker is unable to run the mono executable: apparently, malloc is corrupting the heap or something. This is a sample execution as extracted from the OBS build logs:</span><u></u><u></u></p>
<div style="border:dotted #669900 1.0pt;padding:2.0pt 2.0pt 2.0pt 2.0pt;margin-left:7.5pt;margin-right:7.5pt">
<pre style="line-height:11.7pt;background:#f6f6f6"><span style="font-size:8.0pt;color:#333333">[  101s] + /opt/plasticscm5/mono/bin/mono /opt/plasticscm5/mono/lib/mono/4.5/gacutil.exe -l</span><u></u><u></u></pre>
<pre style="line-height:11.7pt;background:#f6f6f6"><span style="font-size:8.0pt;color:#333333">[  101s] *** Error in `/opt/plasticscm5/mono/bin/mono': malloc: top chunk is corrupt: 0x08ab9230 ***</span><u></u><u></u></pre>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">What you want to do at this point in time is to run the process under gdb, as this will show where malloc detected the error, and then you should get both the unmanaged stack trace,
 and if possible the managed one (with the mono_stack gdb macro)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Miguel.<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div></div></div>
</div>

</blockquote></div><br></div>