<div dir="ltr">Woho! Good catch with proper! <div><br></div><div>Have I run proper on Maps? - Nope. Should I have done it - properly. =)<div><br></div><div>I wrote the Maps code for external format encoding/decoding before the big rewrite of trappable binary_to_term - term_to_binary. We had some clashes when merging and it is entirely possible that we messed things up. It is also entirely possible I messed up well before the merge.</div>
<div><br></div><div>I'll have a look at it. Thanks for reporting!</div><div><br></div><div>// Björn-Egil</div><div><br></div><div><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-02-01 Kostis Sagonas <span dir="ltr"><<a href="mailto:kostis@cs.ntua.gr" target="_blank">kostis@cs.ntua.gr</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 02/01/2014 06:41 PM, Gustav Simonsson wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
After the announcement of OTP_17.0-rc1 I compiled the source and started<br>
playing with maps and proper.<br>
<br>
After testing a bunch of stuff like maps:to_list(maps:from_list(<u></u>List)) I<br>
replicated a classic proper example to verify<br>
binary_to_term(term_to_binary(<u></u>T)).<br>
</blockquote></div>
> .... <SNIP><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
2> proper:quickcheck(t:prop_<u></u>maps2(), [{numtests, 10000}]).<br></div>
............ <SNIP> ..............................<u></u>.................<div class="im"><br>
Shrinking .......Segmentation fault (core dumped)<br></div>
.... <SNIP><div class="im"><br>
Please let me know if you need a core and/or more details.<br>
It should be easy to replicate given the above code though on various archs.<br>
</div></blockquote>
<br>
<br>
Indeed, this is very easy to replicate. On my first attempt, I got equally unlucky as Simon and OTP seg faulted when PropEr attempted to shrink the offending test case. On my second attempt, I had better luck and shrinking worked:<div class="im">
<br>
<br>
Eshell V6.0 (abort with ^G)<br></div>
1> proper:quickcheck(t:prop_<u></u>maps2(), 10000).<br>
...... <SNIP> .....<br>
Failed: After 2090 test(s).<br>
{[{{{},'mö\030?Ø',[],[[]],[]},<u></u>{'\031¹DZ',75.25615709172015,<u></u>9}},{{<<47,42,83,2:2>>},[{11.<u></u>611456128457124,{[]},[],-7.<u></u>568651682554733}]},{'þ\204HÅð¾<u></u>óà',[[],[],[],-10,80,{},[]]},{<u></u>{'Ñ\211l\030x\220Â\224é'},[-<u></u>14.081931069838275,1,['\236Jñ'<u></u>,0],3,3.8086424574055755]},{{[<u></u>],[{},[[{}]]],{},{}},{-7.<u></u>668921456100702,-0.<u></u>8537275447686942,0.<u></u>2046413634772726,8.<u></u>71091095449412,'X7¯³\237\030',<u></u>{-11,{{}},-0.95809288292835,[{<u></u>{}},'©uÆ']},-5.<u></u>604771642421137}},{{[{},22.<u></u>021800217282916],-2,7.<u></u>289863377212738,'³]Ã\d',10.<u></u>348710823806195},{{[[{},[5.<u></u>428258856857506],[],'O\030:',-<u></u>2]],22.20548610862955,102}}},{<u></u>[1.730805378918121,'\201\226o\<u></u>032',-5,-4,0.<u></u>21576771814263207],<<145,249,<u></u>4,86,26,4:3>>}]}<br>
<br>
Shrinking ...................(19 time(s))<br>
{[{{{},'mö\030?Ø',[],[[]],[]},<u></u>{'\031¹DZ',75.25615709172015,<u></u>9}},{{<<47,42,83,2:2>>},[{11.<u></u>611456128457124,{[]},[],-7.<u></u>568651682554733}]},{'\037\<u></u>204HÅ>w6²',[[],[],[],-8,80,{},<u></u>[]]},{{'Ñ\211l\030x\220Â\224é'<u></u>},[-14.081931069838275,1,['z\<u></u>003-',0],3,3.8086424574055755]<u></u>},{'\v¹6\002',{-7.<u></u>668921456100702,-0.<u></u>8537275447686942,0.<u></u>2046413634772726,8.<u></u>71091095449412,'X7¯³\237\030',<u></u>{-11,{{}},-0.95809288292835,[{<u></u>{}},'©uÆ']},-5.<u></u>604771642421137}},{{[{},22.<u></u>021800217282916],-2,7.<u></u>289863377212738,'³]Ã\d',10.<u></u>348710823806195},{{[[{},[5.<u></u>428258856857506],[],'O\030:',-<u></u>2]],22.20548610862955,102}}},{<u></u>[1.730805378918121,'\030\023%\<u></u>020',-5,-4,0.<u></u>21576771814263207],<<145,249,<u></u>4,49,26,4:3>>}]}<br>
false<br>
<br>
false<br>
<br>
<br>
PropEr can be obtained from: <a href="http://proper.softlab.ntua.gr/" target="_blank">http://proper.softlab.ntua.gr/</a><br>
<br>
Kostis<br>
______________________________<u></u>_________________<br>
erlang-bugs mailing list<br>
<a href="mailto:erlang-bugs@erlang.org" target="_blank">erlang-bugs@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-bugs" target="_blank">http://erlang.org/mailman/<u></u>listinfo/erlang-bugs</a><br>
</blockquote></div><br></div>