I hit the same problem after updating my project from 0.17 to 0.18. Breaks in Chromium (with or without debug mode), works in Firefox.
My list has 650 items. I wouldn't expect to be hitting any upper limits with a list of that size. Breaking it up into smaller lists seems like more of a workaround than a long term solution. Does anyone know what the underlying issue is and why it seems to be more prevalent in 0.18? On Monday, December 5, 2016 at 1:57:08 PM UTC-6, Nick H wrote: > > Glad you found a solution! > > On Sun, Dec 4, 2016 at 8:43 PM, Iain Gray <[email protected] > <javascript:>> wrote: > >> It turned out to be an instance of this >> <https://github.com/elm-lang/elm-compiler/issues/1521>. I have a list of >> time-zones that I use for a drop-down list, which was big enough to cause >> the stack overflow. As the issue-poster mentioned, I was able to fix it by >> splitting my list into multiple pieces and List.concat'ing them together. >> >> Thanks for the suggestions everyone! >> >> >> On Saturday, December 3, 2016 at 7:40:41 PM UTC-6, Iain Gray wrote: >>> >>> I'm having a strange problem and was wondering if anyone had any >>> suggestions on how to pinpoint what is causing it. >>> >>> I have an Elm app that compiles in 0.18, but the generated javascript >>> code is throwing a "RangeError: Maximum call stack size exceeded" as soon >>> as the javascript file is loaded into Chrome. I do not have this problem in >>> Firefox, but I can reproduce it in nodejs/esprima as follows: >>> >>> var esprima = require('esprima'); >>> var fs = require('fs'); >>> var filePath = path.join('.', 'elm.js'); >>> >>> fs.readFile(filePath, 'utf8', function(err, data) { >>> console.log(esprima.parse(data)); >>> }); >>> >>> RangeError: Maximum call stack size exceeded >>> at isKeyword (.../node_modules/esprima/esprima.js:359:23) >>> at scanIdentifier (.../node_modules/esprima/esprima.js:729:20) >>> at advance (.../node_modules/esprima/esprima.js:1573:21) >>> at lex (.../node_modules/esprima/esprima.js:1691:78) >>> at expect (.../node_modules/esprima/esprima.js:2521:21) >>> at parseObjectInitializer (.../node_modules/esprima/esprima.js:3047: >>> 9) >>> at inheritCoverGrammar (.../node_modules/esprima/esprima.js:2681:18) >>> at parsePrimaryExpression (.../node_modules/esprima/esprima.js:3247: >>> 20) >>> at inheritCoverGrammar (.../node_modules/esprima/esprima.js:2681:18) >>> at parseLeftHandSideExpressionAllowCall (.../node_modules/esprima/ >>> esprima.js:3414:20) >>> >>> If I start node with --stack-size=1200, I no longer get the error and >>> esprima can successfully parse the code. Unfortunately, I can't seem to do >>> this with Chrome. I tried: >>> >>> <script type="text/javascript"> >>> Error.stackTraceLimit = 1200; >>> var js = document.createElement("script"); >>> js.type = "text/javascript"; >>> js.src = './elm.js'; >>> document.body.appendChild(js); >>> </script> >>> >>> ... which doesn't seem to change anything. >>> >>> I've been commenting out different sections of my code in an attempt to >>> see what part is ultimately causing this, but that has been pretty painful. >>> If anyone has any suggestions, I'd love some advice. >>> >>> Thanks, >>> Iain >>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "Elm Discuss" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "Elm Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
