My initial guess is that the array serialization during RPC is packing each
byte into its own element in a JSON array.  So your 400kB byte array turns
into a 409,600 element integer array, which is probably using at least 16
bytes per entry, resulting in a fairly large (several megabyte) footprint in
Firefox.  Doesn't explain why FF grabs several GB for this, but I think you
are using a lot more memory than you expect.

On Sun, Nov 16, 2008 at 04:21, Axel <[EMAIL PROTECTED]> wrote:

>
> Hi,
>
> I've been trying to handle binary data with one or more MB in size,
> passing it through RPC. In Firefox (tested with 3.0.4) I can reproduce
> what to me seems like a memory leak. No matter how I assemble the byte
> [] contents: as soon as the size approaches or exceeds ~500kB, Firefox
> allocates >1GB of memory, bringing my 2GB client machine to swap so
> heavily I have to kill FF.
>
> I tested with different byte[] sizes. 400kB seems to be ok, regardless
> the contents. 500kB rarely works and 600kB I never managed to get
> through. Assembling the byte[] before actually calling the RPC works
> fine. It is the RPC call itself where memory consumption in FF goes up
> so drastically.
>
> My workaround for now is to Base64-encode the byte[] into a String and
> send that along, decoding it on the server again. This lets me suspect
> that something may be wrong with the byte[] serialization code.
>
> In the hosted Java environment this problem does not occur at all, and
> I can flawlessly send byte[]s with several MB in size no problem.
>
> Best,
> -- Axel
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to