Apparently, ImageIO.read() only supports six image formats and if it does not recognize the image format, it returns null instead of an error. That must be why the thumbnail creation fails. Roller is able to upload the image and save it as a file, but then when it tries to read the image so that it can scale it down to thumbnail size ImageIO.read() returns null and we get that NPE.
There maybe a way to work around this problem by falling back to the full-sized image and scale it down in the Media File View. I'm going to look into that option. I think that is how the Media File View page was intended to work anyway but I may have broken that logic during the Bootstrap rewrite. Dave On Mon, Mar 30, 2020 at 2:30 PM Tommy Pham <[email protected]> wrote: > Hi Dave, > > I've cloned the code from github and checked out roller-6.0.x 7d11070. I > then modified the JPAMedifaFileManagerImpl to have some trace logging > hoping to find the root cause. For some reason, ImageIO.read() fails for > that particular JPEG image even though other JPEG images upload OK. > > Thanks, > Tommy > > On Tue, Mar 24, 2020 at 8:35 PM Tommy Pham <[email protected]> wrote: > > > I guess I was wrong. Putting in jaxb-runtime-2.3.3-b02.jar didn't > resolve > > the NPE for creating thumbnail. > > > > On Tue, Mar 24, 2020 at 8:28 PM Tommy Pham <[email protected]> wrote: > > > >> Hi Dave, > >> > >> I apologize for unable to submit the JIRA. Something came up after > >> typing that email and have been preoccupied since. I'm using (native) > >> OpenJDK 11on FreeBSD 12.1. I just made some updates to the logging > >> configurations since I saw log4j (v1) and that it's broken on Java 9+. > >> Here's the recent snippet: > >> > >> 24-Mar-2020 20:01:58.056 DEBUG [http-nio-8080-exec-1] > >> > org.apache.roller.weblogger.business.jpa.JPAMediaFileManagerImpl.getMediaFile:361 > >> - Cannot load thumbnail for image 7c8b9f04-8cbc-4172-b3d0-ef601d040d00 > >> org.apache.roller.weblogger.business.FileNotFoundException: Invalid path > >> > [/usr/local/www/_apps_/java/roller6_data/mediafiles/Tommy/7c8b9f04-8cbc-4172-b3d0-ef601d040d00_sm], > >> file does not exist. > >> > >> That file does not exists. Only the main original image (?). It seems > >> the thumbnails didn't generate. > >> > >> 24-Mar-2020 20:12:07.120 DEBUG [http-nio-8080-exec-6] > >> > org.apache.roller.weblogger.business.jpa.JPAMediaFileManagerImpl.updateThumbnail:283 > >> - ERROR creating thumbnail > >> java.lang.NullPointerException: null > >> at > >> > org.apache.roller.weblogger.business.jpa.JPAMediaFileManagerImpl.updateThumbnail(JPAMediaFileManagerImpl.java:256) > >> [classes/:?] > >> at > >> > org.apache.roller.weblogger.business.jpa.JPAMediaFileManagerImpl.createMediaFile(JPAMediaFileManagerImpl.java:220) > >> [classes/:?] > >> at > >> > org.apache.roller.weblogger.ui.struts2.editor.MediaFileAdd.save(MediaFileAdd.java:195) > >> [classes/:?] > >> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > >> Method) ~[?:?] > >> at > >> > jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > >> ~[?:?] > >> at > >> > jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > >> ~[?:?] > >> > >> Full stack trace: https://pastebin.com/W8dgE22M > >> > >> From the NPE and seeing jaxb-api in lib, I think I'm missing > >> implementation jar(s) for javax.xml.bind because I'm using JDK 11. > >> > >> I saw mixed logging mechanisms due various frameworks used. What would > >> be the main? What does Roller uses to image modification / generation? > >> > >> Thanks, > >> Tommy > >> > >> > >> On Sat, Mar 21, 2020 at 2:03 PM Dave <[email protected]> wrote: > >> > >>> Hi Tommy, > >>> > >>> I created a JIRA for you Media Files bug, but I cannot reproduce the > >>> problem. Please see my comment here: > >>> https://issues.apache.org/jira/browse/ROL-2163 > >>> > >>> Thanks, > >>> Dave > >>> > >>> > >>> On Fri, Mar 6, 2020 at 1:25 AM Swapnil M Mane <[email protected] > > > >>> wrote: > >>> > >>> > Hi Tommy, > >>> > Yes, you can keep it Improvement with minor priority. > >>> > Although this also falls under UI Bug, but anyways since it is not > >>> > breaking anything, I consider it as UI improvement. > >>> > > >>> > So, let's have it as Improvement with minor priority. > >>> > > >>> > Best regards, > >>> > Swapnil M Mane, > >>> > www.apache.org > >>> > > >>> > On Fri, Mar 6, 2020 at 11:31 AM Tommy Pham <[email protected]> > wrote: > >>> > > > >>> > > Hi Dave, > >>> > > > >>> > > What type should I file it under? Improvement? And minor priority > (or > >>> > > trivial) ? > >>> > > > >>> > > Thanks, > >>> > > Tommy > >>> > > > >>> > > On Thu, Mar 5, 2020 at 4:00 PM Dave <[email protected]> wrote: > >>> > > > >>> > > > That's not by design or really a bug, it's just poorly done :-) > >>> > > > > >>> > > > Please file a JIRA bug for it if you have time, otherwise I'll do > >>> that > >>> > this > >>> > > > weekend. > >>> > > > > >>> > > > Thanks, > >>> > > > Dave > >>> > > > > >>> > > > > >>> > > > On Thu, Mar 5, 2020 at 4:45 PM Tommy Pham <[email protected]> > >>> wrote: > >>> > > > > >>> > > > > Hello everyone, > >>> > > > > > >>> > > > > I'm having an issue with the media files panel display. I've > >>> tried > >>> > in > >>> > > > both > >>> > > > > Firefox and Chrome without success. > >>> > > > > > >>> > > > > https://imgur.com/a/zHXnmXV > >>> > > > > > >>> > > > > Basically I have to scroll to view a big image while I have > >>> plenty of > >>> > > > > screen real estate at the bottom as you can see. The only way > I > >>> can > >>> > get > >>> > > > > that window to resize so I could see the image entirely without > >>> > scrolling > >>> > > > > is edit either: > >>> > > > > > >>> > > > > <div id="imageGrid" style="1000px"> > >>> > > > > > >>> > > > > or it's child div > >>> > > > > > >>> > > > > <div class="panel-body" style="1000px"> > >>> > > > > > >>> > > > > Neither seems like a good solution since it's not sized > >>> accordingly > >>> > nor > >>> > > > > scale dynamically to browser window size. Is this by design or > >>> bug? > >>> > > > > Please advise. > >>> > > > > > >>> > > > > If you're wondering what monitor I'm using, it's 40" 4k TV for > >>> about > >>> > $300 > >>> > > > > USD which is cheaper than getting 4 x 27" (2560x1440) for about > >>> the > >>> > same > >>> > > > > screen real estate (slightly better PPI 110 vs 108) w/o the > split > >>> > screen > >>> > > > > bezels :) > >>> > > > > > >>> > > > > Thanks, > >>> > > > > Tommy > >>> > > > > > >>> > > > > >>> > > >>> > >> >
