Ah, I figured out at least part of what was happening. I have a web app,
with Ring and Jetty and Compojure, and I have a form where people can
upload images. The Ring has middleware that lets the uploaded images appear
as a map with a pointer to a File:
{:size 3874, :tempfile #<File
/var/folders/kr/pgx6tzks6kg48hgdnj1f7dt80000gn/T/ring-multipart-6398198897870847417.tmp>,
:content-type "image/png", :filename "sponsored_by_pink.png"}{:size 0,
:tempfile #<File
/var/folders/kr/pgx6tzks6kg48hgdnj1f7dt80000gn/T/ring-multipart-1255729774892979983.tmp>,
:content-type "application/octet-stream", :filename ""}
The map is then stored in a var called "interactions". I had another page
where I took everything in "interactions" and gave it to cli-yaml and
dumped that to the screen. Up till now I've been dealing with plain text
that gets input via HTML forms, and there were no problems. But now, when I
upload a file, and cli-yaml tries to serialize that, it runs into some
understandable problems.
On Monday, March 18, 2013 3:03:32 PM UTC-4, larry google groups wrote:
>
>
> > Default stack size is 512kB for 32bit JVMs on Solaris, 320kB for 32bit
> JVMs on
> > Linux (and Windows), and 1024kB for 64bit JVMs.
>
> Thank you for that. So I guess I could double those numbers and see if
> that helps? -ss: 2048kb ?
>
>
>
>
>
>
> On Monday, March 18, 2013 3:02:22 PM UTC-4, larry google groups wrote:
>>
>> > However, stack overflows are usually a good indication of problematic /
>> faulty
>> > recursive algorithms. Increasing the stacksize usually only alleviates
>> some symptoms for
>> > a bit. Increasing the stacksize is something that only rarely needs to
>> be done, usually
>> > when relying on an external library that has problems with stacksize.
>> Always try
>> > to troubleshoot code you can alter first.
>>
>>
>> I appreciate that. Nothing change in my code except the amount of data in
>> the var that was being given to clj-yaml. Possibly clj-yaml recurses too
>> much.
>>
>>
>>
>>
>>
>> On Monday, March 18, 2013 1:05:00 PM UTC-4, Niels van Klaveren wrote:
>>>
>>> Default stack size is 512kB for 32bit JVMs on Solaris, 320kB for 32bit
>>> JVMs on Linux (and Windows), and 1024kB for 64bit JVMs.
>>>
>>> However, stack overflows are usually a good indication of problematic /
>>> faulty recursive algorithms. Increasing the stacksize usually only
>>> alleviates some symptoms for a bit. Increasing the stacksize is something
>>> that only rarely needs to be done, usually when relying on an external
>>> library that has problems with stacksize. Always try to troubleshoot code
>>> you can alter first.
>>>
>>> On Monday, March 18, 2013 4:15:00 PM UTC+1, larry google groups wrote:
>>>>
>>>>
>>>> I am a noob when it comes to the JVM, and actually I find the JVM to be
>>>> the hardest thing to learn about Clojure.
>>>>
>>>> Problem: I was trying to serialize some data to YAML. I had this
>>>> working for awhile, but then I added more data and I started getting
>>>> StackOverflow as an error. I then decided to just take a subset of my
>>>> data,
>>>> but even the subset will some day grow too large. I did some searches on
>>>> Google and apparently I need to increase the stack size of my JVM.
>>>> However,
>>>> I have no idea what values are considered large or too-large.
>>>>
>>>> I have a project built with Leiningen. I have been reading up on jvm
>>>> options, and so far, in my project.clj file, I have:
>>>>
>>>> :jvm-opts ["-Xms256m" "-Xmx1000m" "-XX:-UseCompressedOops"])
>>>>
>>>> The stack size option is "-ss"? A large value would be... uh, what?
>>>> 2000? 5000? 10000? Should I do:
>>>>
>>>> :jvm-opts ["-Xms256m" "-Xmx1000m" "-XX:-UseCompressedOops" "-ss:
>>>> 5000"])
>>>>
>>>> ?
>>>>
>>>>
>>>>
>>>>
>>>>
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" 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/groups/opt_out.