I encountered the same issue and here is my proposed fix:

--- WalrusManager.java  2009-11-05 08:15:54.000000000 +0800
+++ WalrusManager.java.new      2009-11-13 20:57:48.936302000 +0800
@@ -1521,8 +1521,10 @@ public class WalrusManager {
                                                                byte[] bytes = 
new byte[102400/*TODO: NEIL WalrusQueryDispatcher.DATA_MESSAGE_SIZE*/];
                                                                int bytesRead = 
0;
                                                                String 
base64Data = "";
-                                                               
while((bytesRead = storageManager.readObject(bucketName, objectName, bytes, 
bytesRead)) > 0) {
+                                                               int offset = 0; 
+                                                               
while((bytesRead = storageManager.readObject(bucketName, objectName, bytes, 
offset)) > 0) {
                                                                        
base64Data += new String(bytes, 0, bytesRead);
+                                                                       offset 
+= bytesRead;
                                                                }
                                                                
reply.setBase64Data(base64Data);
                                                        } catch (IOException 
ex) {

The issue results in "out of memory" crash when the manifest file is
bigger than 100kb. The paramter "bytesread" in storageManager.readObject
should be the offset, not the number of read bytes.

-- 
ec2-bundle-vol and ec2-upload-bundle result in non accepted manifest
https://bugs.launchpad.net/bugs/470355
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to