[web-devel] juliusFile in yesod 0.8 eating all memory

Greg Weber greg at gregweber.info
Fri Apr 29 16:44:33 CEST 2011


Nice work! In the switch to aeson, the old types were just removed from
Julius- we should add the aeson types back in now or otherwise make this
easier.

On Fri, Apr 29, 2011 at 7:32 AM, JP Moresmau <jpmoresmau at gmail.com> wrote:

> Right, found it.
>
> >>> instance (ToJSON a)=> ToJavascript a where
> >>>       toJavascript =toJavascript . toJSON
>
> That used to work but now seems to go into an infinite loop. I've
> replaced it by:
>
> instance (ToJSON a)=> ToJavascript a where
>        toJavascript =fromLazyText . decodeUtf8  . encode . toJSON
>
> and everything works again. Not very elegant, have I missed something?
> Shouldn't that instance be part of Yesod somewhere? I mean if we
> standardize on Aeson, and we want variables in Javascript, it makes
> sense to serialize ToJSON instances in a Julius template.
>
> JP
>
> On Fri, Apr 29, 2011 at 4:06 PM, JP Moresmau <jpmoresmau at gmail.com> wrote:
> > juliusFile, I'm not running any scaffolded site, I've built everything
> > with 1s and 0s. (-:
> > Changing to juliusFileDebug results in the same behavior.
> >
> > JP
> >
> > On Fri, Apr 29, 2011 at 3:56 PM, Michael Snoyman <michael at snoyman.com>
> wrote:
> >> Are you running juliusFile or juliusFileDebug? (The scaffolded site
> >> uses the latter by default.)
> >>
> >> Michael
> >>
> >> On Fri, Apr 29, 2011 at 4:52 PM, JP Moresmau <jpmoresmau at gmail.com>
> wrote:
> >>> Hi all,
> >>>
> >>> I've just upgraded to Yesod 0.8. I've changed all my Strings into
> >>> Texts, and all my Data.JSON.Types into Data.Aeson.Types. I use these
> >>> JSON objects in julius templates, by adding the orphan instance:
> >>> instance (ToJSON a)=> ToJavascript a where
> >>>       toJavascript =toJavascript . toJSON
> >>>
> >>> (Removing that instance causes compilation error, and I had it when I
> >>> was using json-types).
> >>> addJulius works fine when it contains Javascript code. However on one
> >>> page I use juliusFile to load an external template. This eats all my
> >>> memory and never returns under Warp when I launch the compiled exe (I
> >>> see "thread killed" messages in the console, though), and in GHCi
> >>> crashes with "out of memory".
> >>> The code hasn't changed and was working fine in yesod 0.7 before the
> >>> upgrade. If I remove juliusFile the page displays instantly.
> >>>
> >>> Any idea? I'm a bit stumped. I suppose I'm going to remove each of my
> >>> variables in the julius file to narrow it down, but if anybody has any
> >>> insight...
> >>>
> >>> Thanks!
> >>>
> >>> --
> >>> JP Moresmau
> >>> http://jpmoresmau.blogspot.com/
> >>>
> >>> _______________________________________________
> >>> web-devel mailing list
> >>> web-devel at haskell.org
> >>> http://www.haskell.org/mailman/listinfo/web-devel
> >>>
> >>
> >
> >
> >
> > --
> > JP Moresmau
> > http://jpmoresmau.blogspot.com/
> >
>
>
>
> --
> JP Moresmau
> http://jpmoresmau.blogspot.com/
>
> _______________________________________________
> web-devel mailing list
> web-devel at haskell.org
> http://www.haskell.org/mailman/listinfo/web-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/web-devel/attachments/20110429/75db77df/attachment-0001.htm>


More information about the web-devel mailing list