error in base64 for image data
Bugs
Description
Some images will not show up. Error: Invalid base64 data.
https://ahikar-test.sub.uni-goettingen.de/api/images/3r7tw
I expected the following to happen
return image data
On the contrary, I observed
HTTP ERROR 500 javax.servlet.ServletException: javax.servlet.ServletException: An error occurred while processing request to /exist/restxq/images/3r7tw: exerr:ERROR FORG0001: Invalid base64 data [at line 367, column 26, source: /db/apps/ahikar/modules/tapi.xqm] In function: xs:base64Binary(item()) [-1:-1:/db/apps/ahikar/modules/tapi.xqm] tapi:images-rest(xs:string) [-1:-1:/db/apps/ahikar/modules/tapi.xqm]
URI: /exist/restxq/images/3r7tw
STATUS: 500
MESSAGE: javax.servlet.ServletException: javax.servlet.ServletException: An error occurred while processing request to /exist/restxq/images/3r7tw: exerr:ERROR FORG0001: Invalid base64 data [at line 367, column 26, source: /db/apps/ahikar/modules/tapi.xqm] In function: xs:base64Binary(item()) [-1:-1:/db/apps/ahikar/modules/tapi.xqm] tapi:images-rest(xs:string) [-1:-1:/db/apps/ahikar/modules/tapi.xqm]
SERVLET: XQueryURLRewrite
CAUSED BY: javax.servlet.ServletException: javax.servlet.ServletException: An error occurred while processing request to /exist/restxq/images/3r7tw: exerr:ERROR FORG0001: Invalid base64 data [at line 367, column 26, source: /db/apps/ahikar/modules/tapi.xqm] In function: xs:base64Binary(item()) [-1:-1:/db/apps/ahikar/modules/tapi.xqm] tapi:images-rest(xs:string) [-1:-1:/db/apps/ahikar/modules/tapi.xqm]
CAUSED BY: javax.servlet.ServletException: An error occurred while processing request to /exist/restxq/images/3r7tw: exerr:ERROR FORG0001: Invalid base64 data [at line 367, column 26, source: /db/apps/ahikar/modules/tapi.xqm] In function: xs:base64Binary(item()) [-1:-1:/db/apps/ahikar/modules/tapi.xqm] tapi:images-rest(xs:string) [-1:-1:/db/apps/ahikar/modules/tapi.xqm]
CAUSED BY: javax.servlet.ServletException: exerr:ERROR FORG0001: Invalid base64 data [at line 367, column 26, source: /db/apps/ahikar/modules/tapi.xqm] In function: xs:base64Binary(item()) [-1:-1:/db/apps/ahikar/modules/tapi.xqm] tapi:images-rest(xs:string) [-1:-1:/db/apps/ahikar/modules/tapi.xqm]
CAUSED BY: org.exquery.restxq.RestXqServiceException: exerr:ERROR FORG0001: Invalid base64 data [at line 367, column 26, source: /db/apps/ahikar/modules/tapi.xqm] In function: xs:base64Binary(item()) [-1:-1:/db/apps/ahikar/modules/tapi.xqm] tapi:images-rest(xs:string) [-1:-1:/db/apps/ahikar/modules/tapi.xqm]
CAUSED BY: org.exist.xquery.XPathException: exerr:ERROR FORG0001: Invalid base64 data [at line 367, column 26, source: /db/apps/ahikar/modules/tapi.xqm] In function: xs:base64Binary(item()) [-1:-1:/db/apps/ahikar/modules/tapi.xqm] tapi:images-rest(xs:string) [-1:-1:/db/apps/ahikar/modules/tapi.xqm]
Caused by:
javax.servlet.ServletException: javax.servlet.ServletException: An error occurred while processing request to /exist/restxq/images/3r7tw: exerr:ERROR FORG0001: Invalid base64 data [at line 367, column 26, source: /db/apps/ahikar/modules/tapi.xqm]
In function:
xs:base64Binary(item()) [-1:-1:/db/apps/ahikar/modules/tapi.xqm]
tapi:images-rest(xs:string) [-1:-1:/db/apps/ahikar/modules/tapi.xqm]
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:162)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:767)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:500)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:270)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.servlet.ServletException: An error occurred while processing request to /exist/restxq/images/3r7tw: exerr:ERROR FORG0001: Invalid base64 data [at line 367, column 26, source: /db/apps/ahikar/modules/tapi.xqm]
In function:
xs:base64Binary(item()) [-1:-1:/db/apps/ahikar/modules/tapi.xqm]
tapi:images-rest(xs:string) [-1:-1:/db/apps/ahikar/modules/tapi.xqm]
at org.exist.http.urlrewrite.XQueryURLRewrite.service(XQueryURLRewrite.java:370)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1386)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1617)
at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:226)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:545)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:566)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1607)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1297)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1577)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1212)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:221)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
... 18 more
Caused by: javax.servlet.ServletException: exerr:ERROR FORG0001: Invalid base64 data [at line 367, column 26, source: /db/apps/ahikar/modules/tapi.xqm]
In function:
xs:base64Binary(item()) [-1:-1:/db/apps/ahikar/modules/tapi.xqm]
tapi:images-rest(xs:string) [-1:-1:/db/apps/ahikar/modules/tapi.xqm]
at org.exist.extensions.exquery.restxq.impl.RestXqServlet.service(RestXqServlet.java:109)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1395)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:547)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:608)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1607)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1297)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1577)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1212)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:161)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:79)
at org.exist.http.urlrewrite.Forward.doRewrite(Forward.java:51)
at org.exist.http.urlrewrite.XQueryURLRewrite.service(XQueryURLRewrite.java:207)
... 40 more
Caused by: org.exquery.restxq.RestXqServiceException: exerr:ERROR FORG0001: Invalid base64 data [at line 367, column 26, source: /db/apps/ahikar/modules/tapi.xqm]
In function:
xs:base64Binary(item()) [-1:-1:/db/apps/ahikar/modules/tapi.xqm]
tapi:images-rest(xs:string) [-1:-1:/db/apps/ahikar/modules/tapi.xqm]
at org.exist.extensions.exquery.restxq.impl.ResourceFunctionExecutorImpl.execute(ResourceFunctionExecutorImpl.java:197)
at org.exquery.restxq.impl.AbstractRestXqService.service(AbstractRestXqService.java:192)
at org.exist.extensions.exquery.restxq.impl.RestXqServiceImpl.service(RestXqServiceImpl.java:124)
at org.exist.extensions.exquery.restxq.impl.RestXqServlet.service(RestXqServlet.java:87)
... 61 more
Caused by: org.exist.xquery.XPathException: exerr:ERROR FORG0001: Invalid base64 data [at line 367, column 26, source: /db/apps/ahikar/modules/tapi.xqm]
In function:
xs:base64Binary(item()) [-1:-1:/db/apps/ahikar/modules/tapi.xqm]
tapi:images-rest(xs:string) [-1:-1:/db/apps/ahikar/modules/tapi.xqm]
at org.exist.xquery.value.Base64BinaryValueType.verifyString(Base64BinaryValueType.java:31)
at org.exist.xquery.value.BinaryValueType.verifyAndFormatString(BinaryValueType.java:69)
at org.exist.xquery.value.BinaryValueFromBinaryString.<init>(BinaryValueFromBinaryString.java:31)
at org.exist.xquery.value.StringValue.convertTo(StringValue.java:487)
at org.exist.xquery.CastExpression.eval(CastExpression.java:129)
at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
at org.exist.xquery.CastExpression$FunctionWrapper.eval(CastExpression.java:224)
at org.exist.xquery.InternalFunctionCall.eval(InternalFunctionCall.java:41)
at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:162)
at org.exist.xquery.DynamicCardinalityCheck.eval(DynamicCardinalityCheck.java:74)
at org.exist.xquery.Atomize.eval(Atomize.java:67)
at org.exist.xquery.DynamicTypeCheck.eval(DynamicTypeCheck.java:61)
at org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:305)
at org.exist.xquery.FunctionCall.eval(FunctionCall.java:223)
at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
at org.exist.xquery.value.FunctionReference.eval(FunctionReference.java:86)
at org.exist.xquery.ArrowOperator.eval(ArrowOperator.java:122)
at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
at org.exist.xquery.PathExpr.eval(PathExpr.java:280)
at org.exist.xquery.SequenceConstructor.eval(SequenceConstructor.java:81)
at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:162)
at org.exist.xquery.DynamicCardinalityCheck.eval(DynamicCardinalityCheck.java:74)
at org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:305)
at org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:264)
at org.exist.xquery.value.FunctionReference.evalFunction(FunctionReference.java:99)
at org.exist.extensions.exquery.restxq.impl.ResourceFunctionExecutorImpl.execute(ResourceFunctionExecutorImpl.java:169)
... 64 more
Powered by Jetty:// 9.4.26.v20200117
How to reproduce the bug
Steps:
Severity
How much impact does this bug have on the product or further development?
-
Minor -
Major -
Critical -
Blocker
Platform
-
Unix -
Windows -
MacOS
Browser
-
Safari -
Chrome/Chromium -
Firefox -
Other: ?
Program and – if applicable – dependency version
test: 0.5.0
Related Tickets
Add related issues.
Edited by Mathias Goebel