<div dir="ltr">Jan,<div><br></div><div>Thank-you, that does explain things.</div><div><br></div><div>Martin</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 14 November 2017 at 07:30, Jan Chochol <span dir="ltr"><<a href="mailto:jan.chochol@gooddata.com" target="_blank">jan.chochol@gooddata.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Martin,<div><br></div><div>This is bug with combination of new zlib and old Erlang - <a href="https://github.com/erlang/otp/commit/e27119948fc6ab28bea81019720bddaac5b655a7" target="_blank">https://github.com/erlang/<wbr>otp/commit/<wbr>e27119948fc6ab28bea81019720bdd<wbr>aac5b655a7</a> .</div><div>It is fixed in OTP-18.3.4.5 and newer.</div><div>"--enable-builtin-zlib" works, because it uses older bundled zlib.<br></div><div><br></div><div>Jan</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Mon, Nov 13, 2017 at 10:01 PM, Martin Sumner <span dir="ltr"><<a href="mailto:martin.sumner@gmail.com" target="_blank">martin.sumner@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">Rather foolishly I accepted the upgrade to High Sierra on my Macbook last night.  This has led to an interesting problem with a binary_to_term line on my project.<div><br></div><div>Following the upgrade, tests have started failing on this line:</div><div><br></div><div><a href="https://github.com/martinsumner/leveled/blob/master/src/leveled_sst.erl#L875" target="_blank">https://github.com/martinsumne<wbr>r/leveled/blob/master/src/<wbr>leveled_sst.erl#L875</a><br></div><div><br></div><div>with error:badarg being thrown.</div><div><br></div><div>However if I copy and paste the binary on which the badarg has been thrown out of the crash report, and into a erlang console - binary_to_term works just fine.</div><div><br></div><div>See this issue for an example - <a href="https://github.com/martinsumner/leveled/issues/106" target="_blank">https://github.com/martinsum<wbr>ner/leveled/issues/106</a></div><div><br></div><div>This failure is intermittent, and indeed wrapping the binary_to_term like this is enough to make the problem seemingly disappear:</div><div><br></div><div>try binary_to_term(Bin) of</div><div>    T -> </div><div>        T</div><div>catch</div><div>    error:badarg -></div><div>        binary_to_term(Bin)</div><div>end.</div><div><br></div><div>Re-running the tests on another OSX device on a release previous to High Sierra shows no issues with/without the wrapper.</div><div><br></div><div>The problem appears to consistently exist in OTP 17.5 and 18.3.  However, running the tests in 19.3 and R16B02-basho10 doesn't show the problem.</div><div><br></div><div>The terms in question have all been compressed using term_to_binary's zlib compression.</div><div><br></div><div>If I build 18.3 on High Sierra with the  "--enable-builtin-zlib" option, the problem does *not* re-occur.  This switch appears to be a reliable delta between having and not having the problem, and I believe may have become the default in OTP 17. </div><div><br></div><div>It appears to be specific to v17/v18 Erlang with compressed terms, on High Sierra where the OS zlib implementation is used, not the inbuilt OTP zlib.</div><div><br></div><div>There appears to be internet chatter of other issues with Mac OSX High Sierra and changes to the zlib implementation - <a href="https://github.com/madler/zlib/issues/305" target="_blank">https://github.com/madler/zl<wbr>ib/issues/305</a>.</div><div><br></div><div>So I think this doesn't look like it is an Erlang issue, but I suspect it may not be resolved in High Sierra any time soon, and may impact other Erlang users using zlib functionality.  Does this it seem reasonable to pass this off as a High Sierra zlib bug, and use the --enable-builtin-zlib workaround?  If this is the case I'm not sure why I don't get the issue on 19.3, any ideas as to why?</div><span class="m_-6167463457587179366HOEnZb"><font color="#888888"><div><br></div><div>Martin </div><div><br></div><div><br></div></font></span></div>
<br></div></div>______________________________<wbr>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/list<wbr>info/erlang-questions</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>