Image resizing producing an NPE in ICC_Profile
Description
Attachments
- 05 Jun 2021, 09:06 AM
Activity
Andrea Schmidt June 13, 2021 at 5:01 PM
No stack trace, but same behavior:
20x: https://qa20-mysql.nightly.sakaiproject.org/, build: 43d64e89
19x: https://qa19-mysql.nightly.sakaiproject.org/, build: 8e5d9849
Andrea Schmidt June 13, 2021 at 4:55 PM
Verified the behavior is the same as for 22x on 21x: https://qa21-mysql.nightly.sakaiproject.org/, build: a97ad56f
All images display except the 16mb image. There is no stacktrace and the 16mb image can be inserted using the ckeditor
Andrea Schmidt June 5, 2021 at 9:48 AM
Same behavior for 20x: https://qa20-mysql.nightly.sakaiproject.org/, build: 43d64e89 and 19x: https://qa19-mysql.nightly.sakaiproject.org/, build: 8e5d9849, but 19x has extra issues and the elfinder window does not close: 19x Uncaught TypeError (CK Editor): https://sakaiproject.atlassian.net/browse/SAK-45581#icft=SAK-45581
19x Cannot read property 'data' of undefined (elfinder): https://sakaiproject.atlassian.net/browse/SAK-45582#icft=SAK-45582
Andrea Schmidt June 5, 2021 at 9:05 AM
Tested on 22x: https://trunk-mysql.nightly.sakaiproject.org/, build: 9b1613a1 and 21x: https://qa21-mysql.nightly.sakaiproject.org/, build: 3d5c5767
Images up to 20MB are allowed in resources and the "chair" picture I've been using for testing shows up as 16.5MB in resources when uploading. The thumbnails for the smaller pictures display, but the chair thumbnail never does, no matter how many times you access the images in resources using the elfinder. Behavior is the same on 22x and 21x.
There are no stacktraces on the server, though, and I am able to insert the chair image into announcements and syllabus.
Images and sizes as listed in resources:
1-2000x2000.jpg 186.2
289-5000x5000.jpg 2.3 MB
842-5000x5000.jpg 0.8 MB
ACM-1995_5009_0003-r1-000001.jpg 2.8 MB
ACM-acmobj-201100040013.jpg 1 MB
CHSDM-F5A32E04B80D2-000001.jpg 15.8 MB
IMG_2291.JPG 3.5 MB
IMG_2737_med.JPG 302.6 KB
NPG-A1000026A_5.jpg 1.6 MB
pinecone.jpg 448.9 KB
SAAM-1986.79_2.jpg 1.8 MB
Brian J. June 4, 2021 at 9:35 AM
Great, thanks for clarifying!
NPE
java.awt.color.ICC_Profile.intFromBigEndian(ICC_Profile.java:1767)
that is related to
https://bugs.openjdk.java.net/browse/JDK-6986863
https://stackoverflow.com/questions/50461289/imageio-read-diferent-files-concurrency-issue
02-Jun-2021 17:31:06.835 ERROR [http-nio-20020-exec-12] org.sakaiproject.util.RequestFilter.doFilter cn.bluejoe.elfinder.controller.FsException: unknown error at cn.bluejoe.elfinder.controller.ConnectorController.connector(ConnectorController.java:96) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:181) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:440) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:428) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:475) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:747) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NullPointerException at java.awt.color.ICC_Profile.intFromBigEndian(ICC_Profile.java:1767) at java.awt.color.ICC_Profile.getNumComponents(ICC_Profile.java:1459) at sun.java2d.cmm.lcms.LCMSTransform.<init>(LCMSTransform.java:98) at sun.java2d.cmm.lcms.LCMS.createTransform(LCMS.java:173) at java.awt.color.ICC_ColorSpace.fromRGB(ICC_ColorSpace.java:230) at com.sun.imageio.plugins.jpeg.JPEGImageReader.setImageData(JPEGImageReader.java:713) at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImageHeader(Native Method) at com.sun.imageio.plugins.jpeg.JPEGImageReader.readNativeHeader(JPEGImageReader.java:628) at com.sun.imageio.plugins.jpeg.JPEGImageReader.checkTablesOnly(JPEGImageReader.java:347) at com.sun.imageio.plugins.jpeg.JPEGImageReader.gotoImage(JPEGImageReader.java:495) at com.sun.imageio.plugins.jpeg.JPEGImageReader.readHeader(JPEGImageReader.java:621) at com.sun.imageio.plugins.jpeg.JPEGImageReader.getWidth(JPEGImageReader.java:735) at org.sakaiproject.elfinder.controller.executors.SakaiTmbCommandExecutor.resize(SakaiTmbCommandExecutor.java:60) at org.sakaiproject.elfinder.controller.executors.SakaiTmbCommandExecutor.execute(SakaiTmbCommandExecutor.java:44) at cn.bluejoe.elfinder.controller.executor.AbstractCommandExecutor.execute(AbstractCommandExecutor.java:102) at cn.bluejoe.elfinder.controller.ConnectorController.connector(ConnectorController.java:67) ... 39 more