amazonica
amazonica copied to clipboard
S3 list-objects throws org.xml.sax.SAXParseException
I'm trying to list the files in an S3 bucket using [amazonica "0.2.24"] and the following code:
(s3/list-objects :bucket-name "mybucket")
I get the exception listed below.
Caused by org.xml.sax.SAXParseException Premature end of file.
ErrorHandlerWrapper.java: 203 com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper/createSAXParseException
ErrorHandlerWrapper.java: 177 com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper/fatalError
XMLErrorReporter.java: 441 com.sun.org.apache.xerces.internal.impl.XMLErrorReporter/reportError
XMLErrorReporter.java: 368 com.sun.org.apache.xerces.internal.impl.XMLErrorReporter/reportError
XMLScanner.java: 1436 com.sun.org.apache.xerces.internal.impl.XMLScanner/reportFatalError
XMLDocumentScannerImpl.java: 1019 com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver/next XMLDocumentScannerImpl.java: 606 com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl/next XMLNSDocumentScannerImpl.java: 117 com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl/next XMLDocumentFragmentScannerImpl.java: 510 com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl/scanDocument XML11Configuration.java: 848 com.sun.org.apache.xerces.internal.parsers.XML11Configuration/parse XML11Configuration.java: 777 com.sun.org.apache.xerces.internal.parsers.XML11Configuration/parse XMLParser.java: 141 com.sun.org.apache.xerces.internal.parsers.XMLParser/parse AbstractSAXParser.java: 1213 com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser/parse XmlResponsesSaxParser.java: 145 com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser/parseXmlInputStream XmlResponsesSaxParser.java: 293 com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser/parseListBucketObjectsResponse Unmarshallers.java: 76 com.amazonaws.services.s3.model.transform.Unmarshallers$ListObjectsUnmarshaller/unmarshall Unmarshallers.java: 73 com.amazonaws.services.s3.model.transform.Unmarshallers$ListObjectsUnmarshaller/unmarshall S3XmlResponseHandler.java: 62 com.amazonaws.services.s3.internal.S3XmlResponseHandler/handle S3XmlResponseHandler.java: 31 com.amazonaws.services.s3.internal.S3XmlResponseHandler/handle AmazonHttpClient.java: 795 com.amazonaws.http.AmazonHttpClient/handleResponse AmazonHttpClient.java: 463 com.amazonaws.http.AmazonHttpClient/executeHelper AmazonHttpClient.java: 257 com.amazonaws.http.AmazonHttpClient/execute AmazonS3Client.java: 3623 com.amazonaws.services.s3.AmazonS3Client/invoke AmazonS3Client.java: 3575 com.amazonaws.services.s3.AmazonS3Client/invoke AmazonS3Client.java: 620 com.amazonaws.services.s3.AmazonS3Client/listObjects NativeMethodAccessorImpl.java: -2 sun.reflect.NativeMethodAccessorImpl/invoke0 NativeMethodAccessorImpl.java: 62 sun.reflect.NativeMethodAccessorImpl/invoke DelegatingMethodAccessorImpl.java: 43 sun.reflect.DelegatingMethodAccessorImpl/invoke Method.java: 483 java.lang.reflect.Method/invoke nil: -1 sun.reflect.GeneratedMethodAccessor54/invoke DelegatingMethodAccessorImpl.java: 43 sun.reflect.DelegatingMethodAccessorImpl/invoke Method.java: 483 java.lang.reflect.Method/invoke Reflector.java: 93 clojure.lang.Reflector/invokeMatchingMethod Reflector.java: 28 clojure.lang.Reflector/invokeInstanceMethod core.clj: 726 amazonica.core/fn-call/fn core.clj: 777 amazonica.core/intern-function/fn RestFn.java: 421 clojure.lang.RestFn/invoke replutils.clj: 74 unpacker.examples.replutils/unparsable-keys REPL: 1 unpacker.examples.replutils/eval15366
Sounds like a Xerces issue. What JDK are you running?
I am running java 1.8 - (build 1.8.0-b132). I am using amazonica successfully to do a number of other things. It's just this one function call that is giving me trouble.
Is that an OpenJDK vm? If so, can you try using an Oracle vm?
I am running with an Oracle vm on a Mac running OSX 10.9.4. Can you think of any other configuration issues that could cause this? thanks.
I'm pretty sure this is because the S3 client is getting GC'd early. I came here to report that issue, and saw this one. See #65 for links to very similar bug reports in other projects.