bosatsu
bosatsu copied to clipboard
maximum call stack on JS on some property checks
2020-08-25T02:13:59.3688158Z [info] MatchlessTest:
2020-08-25T02:13:59.3689713Z [info] - matchless.fromLet is pure: f(x) == f(x) *** FAILED *** (44 seconds, 228 milliseconds)
2020-08-25T02:13:59.3690149Z [info] JavaScriptException was thrown during property evaluation.
2020-08-25T02:13:59.3690544Z [info] Message: RangeError: Maximum call stack size exceeded
2020-08-25T02:13:59.3690891Z [info] Occurred when passed generated values (
2020-08-25T02:13:59.3707160Z [info] arg0 = (Name(jh),Recursive,Match(Annotation(Global(PackageName(NonEmptyList(Adfc, Dl7nab, Dnzbhfq, JyuFevcNN)),Constructor(Xwgrok),TyApply(ForAll(NonEmptyList(Bound(g), Bound(bddg6ckz), Bound(y20dcrrEm), Bound(duh4mbdL), Bound(jayauwasnv)),TyVar(Bound(msrvstypodn))),ForAll(NonEmptyList(Bound(ziHc2yrYJ1), Bound(exirp7e)),TyApply(TyVar(Bound(h6hcsas)),TyVar(Bound(i))))),undefined),TyApply(ForAll(NonEmptyList(Bound(fiynixh), Bound(chn6vU7), Bound(neiio8uz), Bound(vmy3xusIwta), Bound(hxwv), Bound(d8iemven5), Bound(hbD), Bound(v)),TyVar(Bound(pxgb6v6l))),TyApply(TyApply(TyConst(Defined(PackageName(NonEmptyList(U, Vcyf, Ikr)),TypeName(Constructor(ElUwqsY)))),TyVar(Bound(ulvscia))),TyApply(TyConst(Defined(PackageName(NonEmptyList(U, Vcyf, Ikr)),TypeName(Constructor(ElUwqsY)))),TyConst(Defined(PackageName(NonEmptyList(U, Vcyf, Ikr)),TypeName(Constructor(ElUwqsY))))))),undefined),NonEmptyList((Literal(Str(c)),Let(Name(fuhxOgjeq),Global(PackageName(NonEmptyList(Tstjicx, XF3h, AF, KapsskfV)),Constructor(Qs),ForAll(NonEmptyList(Bound(dzjtEnm), Bound(isto3gtjd0x)),TyApply(TyConst(Defined(PackageName(NonEmptyList(U, Vcyf, Ikr)),TypeName(Constructor(ElUwqsY)))),TyVar(Bound(hblqa)))),undefined),AnnotatedLambda(Name(tuopqbfx),TyApply(TyApply(TyVar(Bound(vuodsf)),TyConst(Defined(PackageName(NonEmptyList(U, Vcyf, Ikr)),TypeName(Constructor(ElUwqsY))))),TyApply(TyApply(TyVar(Bound(v6u)),TyVar(Bound(o5Pd9h))),TyApply(TyConst(Defined(PackageName(NonEmptyList(U, Vcyf, Ikr)),TypeName(Constructor(ElUwqsY)))),TyVar(Bound(bo))))),Let(Name(mGgpyudjw),Literal(Str(wymkrn),TyVar(Bound(tb3x)),undefined),Literal(Str(a),TyApply(TyVar(Bound(iumxrkh)),TyConst(Defined(PackageName(NonEmptyList(S, Gicc, Pvsows8qqUa, Kfitehg1)),TypeName(Constructor(FpzfYsC))))),undefined),Recursive,undefined),undefined),NonRecursive,undefined)), (Annotation(Annotation(PositionalStruct((PackageName(NonEmptyList(Hnnm4, H, Xmn2W, J2uv9kj)),Constructor(H2)),List(Literal(Integer(-16433362135379818622670899790676864348)), Literal(Str(zme9l)), StrPat(NonEmptyList(WildStr)), PositionalStruct((PackageName(NonEmptyList(GsHxc, NikAntgrrj)),Constructor(Kxrjb)),List(Var(Name(ksm)))), Annotation(Var(Name(oi1naglia)),TyApply(TyConst(Defined(PackageName(NonEmptyList(BtGzm)),TypeName(Constructor(IZ)))),TyVar(Bound(oihhg)))))),TyApply(TyConst(Defined(PackageName(NonEmptyList(UexyXC, TfijYrafcj, XzAn, Tcgfsr3td, ZwyuGzt)),TypeName(Constructor(MtbeiawoZpy)))),TyVar(Bound(xpwmzywxrt)))),TyApply(ForAll(NonEmptyList(Bound(kw8muO), Bound(nxm), Bound(nfoah), Bound(q)),TyConst(Defined(PackageName(NonEmptyList(Nnkczypmil, Fncg, HjqnzEznze, Eqin)),TypeName(Constructor(Mf))))),ForAll(NonEmptyList(Bound(vykshf), Bound(ocyckjr5je), Bound(lDjr3dxvnw), Bound(jjwsojmhfK)),TyVar(Bound(l))))),App(Generic(NonEmptyList(Bound(tdjvyp), Bound(ip), Bound(gi), Bound(nn), Bound(siljgxsmdq), Bound(fyfgugbW), Bound(v0olb), Bound(xbikqbekj), Bound(a1yayff), Bound(m), Bound(vhbzvQAp), Bound(aaip2qdix), Bound(ab7gyf), Bound(e), Bound(qw), Bound(gRapjilH2), Bound(iusfk1Pctwr), Bound(duq), Bound(jzvmmk), Bound(qf), Bound(nj3r), Bound(fozm), Bound(jxvpxOebs), Bound(dqxBsFw2O), Bound(niv), Bound(yijeorvQhKe), Bound(smrujojn), Bound(pohat), Bound(g0wp), Bound(v), Bound(lxrkw), Bound(zYg94), Bound(negsoXzrl), Bound(o0yixsjmu), Bound(b8rtpfcsr), Bound(sxj), Bound(ugLylt), Bound(c), Bound(gt24c), Bound(h9l9dqxhoe), Bound(zl06skbhm), Bound(xb), Bound(wboaduzp), Bound(kbem0), Bound(usB7r)),AnnotatedLambda(Name(z1Rokgd8),ForAll(NonEmptyList(Bound(sv), Bound(cfbkkjwVjdp), Bound(nvg), Bound(lz3k), Bound(cSzOuk), Bound(hxveq)),TyApply(TyVar(Bound(vskvs1wEo)),TyVar(Bound(vW)))),Literal(Str(yotjqv),ForAll(NonEmptyList(Bound(i3th1xeq0p), Bound(xj), Bound(oxdwt0t)),TyVar(Bound(ytjoa))),undefined),undefined),undefined),Match(Local(Name(mvjmdjudgf),ForAll(NonEmptyList(Bound(ql5jchu3vfq), Bound(fpkf), Bound(yv), Bound(zih), Bound(o7wJevvhanF)),TyApply(TyVar(Bound(oqxjbLm4bI)),TyApply(TyConst(Defined(PackageName(NonEmptyList(U, Vcyf, Ikr)),TypeName(Constructor(ElUwqsY)))),TyConst(Defined(PackageName(NonEmptyList(U, Vcyf, Ikr)),TypeName(Constructor(ElUwqsY))))))),undefined),NonEmptyList((Union(WildCard,NonEmptyList(Literal(Str(yH5ij)))),Literal(Integer(-339146250725457360547216820601433766149808742050433233723836608901373006208),TyVar(Bound(giHl3Q9)),undefined)), (ListPat(List()),Literal(Str(gdgEosd),ForAll(NonEmptyList(Bound(sdYzrhlO), Bound(wgyomyfho)),TyVar(Bound(rhb2Ad6sb))),undefined))),undefined),TyApply(ForAll(NonEmptyList(Bound(vc)),TyApply(TyConst(Defined(PackageName(NonEmptyList(U, Vcyf, Ikr)),TypeName(Constructor(ElUwqsY)))),TyConst(Defined(PackageName(NonEmptyList(U, Vcyf, Ikr)),TypeName(Constructor(ElUwqsY)))))),TyApply(TyConst(Defined(PackageName(NonEmptyList(U, Vcyf, Ikr)),TypeName(Constructor(ElUwqsY)))),ForAll(NonEmptyList(Bound(qkxs0), Bound(heynpw)),TyVar(Bound(lp2dnfgpq))))),undefined)), (ListPat(List(Item(Var(Name(jnk))), Item(PositionalStruct((PackageName(NonEmptyList(Xbq, EzywmKld)),Constructor(ZgCk)),List(Union(Annotation(WildCard,TyConst(Defined(PackageName(NonEmptyList(El, Kxv, Fbr6, UiK9Rs1, Yxgfqa)),TypeName(Constructor(BQcuhokM9))))),NonEmptyList(PositionalStruct((PackageName(NonEmptyList(Ocke, Jqgt9qaoX, Hrfc)),Constructor(E)),List(WildCard)), Literal(Integer(0)))), Annotation(Annotation(WildCard,TyVar(Bound(qfc))),TyVar(Bound(zhaxnih9y))), Literal(Str(zhc)), Literal(Str(w)), StrPat(NonEmptyList(LitStr(udxz23wgNa8erazeuhk), NamedStr(Name(zxz6)))), StrPat(NonEmptyList(NamedStr(Name(txtjpaljch)), LitStr(glrzqs4z), NamedStr(Name(mrezhmi))))))), Item(PositionalStruct((PackageName(NonEmptyList(Othq5tF, F, Vbbm, Ir, BvsnNd)),Constructor(Uggsj)),List(PositionalStruct((PackageName(NonEmptyList(Vy72, Ge, Q)),Constructor(Dskzs1qr)),List(Union(Literal(Str(mlxob)),NonEmptyList(Literal(Integer(-9223372036854775809)), WildCard, Literal(Integer(4202092927659162128)))), Named(Name(xnam),Var(Name(dangu9))), WildCard, Union(Literal(Str(sdsg)),NonEmptyList(WildCard, Literal(Str(nlpo)), Literal(Integer(-7762529292474077760)))), Union(Literal(Integer(307677740271852205121281330165390020066632903891984592)),NonEmptyList(Literal(Str(l)), WildCard)), Union(Literal(Str(k)),NonEmptyList(Var(Name(d)))))), ListPat(List(Item(WildCard), Item(Literal(Str(shia))), Item(Literal(Integer(282879571493585542104628031827891132908165061011729928560))), Item(Named(Name(wbe0m2qqYiv),WildCard)))), ListPat(List(Item(ListPat(List())), Item(Union(Var(Name(ydT4pyxee7j)),NonEmptyList(Literal(Integer(-34617194928125749318761208049211224460)), Literal(Str(jxlxf))))))), Var(Name(mjo))))), Item(Union(StrPat(NonEmptyList(LitStr(egjvimb), NamedStr(Backticked(빾䲎₋闈볹됑ﰔ䰐溯鰒遵酷Ɣ䆀屓髮רּ鹚밀)))),NonEmptyList(Named(Name(ulx),Named(Name(pyo),WildCard))))), Item(Union(StrPat(NonEmptyList(NamedStr(Name(are2bsxHx2)))),NonEmptyList(Literal(Integer(52822663730187586822196543321328955947904172866446128301121357297106614996)), WildCard, StrPat(NonEmptyList(NamedStr(Operator($)), LitStr(dedsmc), WildStr)), Literal(Integer(8209510045279977607)), Var(Name(gvephcqrxq))))))),Let(Name(glp),Local(Name(vwqyo),TyApply(ForAll(NonEmptyList(Bound(yy)),TyVar(Bound(elfvp2))),ForAll(NonEmptyList(Bound(jnqjc), Bound(hoxz2eoiucm), Bound(izkecqisejh), Bound(ohXJ4l6lt), Bound(palptldAqQ)),TyVar(Bound(fZpyr)))),undefined),AnnotatedLambda(Name(mggf9IcHZf),TyApply(TyApply(TyApply(TyVar(Bound(qjbt)),TyVar(Bound(kpfq))),TyApply(TyVar(Bound(lghmJc)),TyVar(Bound(wWqu3rchki1)))),TyApply(TyApply(ForAll(NonEmptyList(Bound(sInwref9vlm), Bound(kgskp)),TyConst(Defined(PackageName(NonEmptyList(U, Vcyf, Ikr)),TypeName(Constructor(ElUwqsY))))),ForAll(NonEmptyList(Bound(fzd8jvkDg)),TyConst(Defined(PackageName(NonEmptyList(U, Vcyf, Ikr)),TypeName(Constructor(ElUwqsY)))))),ForAll(NonEmptyList(Bound(yncjxe), Bound(cSre9h)),TyConst(Defined(PackageName(NonEmptyList(U, Vcyf, Ikr)),TypeName(Constructor(ElUwqsY))))))),Global(PackageName(NonEmptyList(Zmnexhrq)),Constructor(Fetf),ForAll(NonEmptyList(Bound(dz), Bound(tllnR9gzg), Bound(p7fmacdppxe), Bound(up2xQyU)),TyConst(Defined(PackageName(NonEmptyList(U, Vcyf, Ikr)),TypeName(Constructor(ElUwqsY))))),undefined),undefined),NonRecursive,undefined))),undefined),<function2>)
2020-08-25T02:13:59.3710177Z [info] )
It seems to overflow on doing the equals.
I don't know if this is really too deep, or if there is a bug, of if compiling the matchless greatly increases the size of the call graph.