2

dspace filter-media was working perfectly fine on DSpace 5.3. After upgrading do 5.4 every time I run it to index a new PDF (already tested all sorts of PDFs!), it crashes with the following exception stack:

dspace@mylinux:/opt/dspace/deploy/bin> ./dspace filter-media
File: Supercalifragilisticexpialidocious.pdf.txt
Exception: org/apache/fontbox/afm/AFMParser
java.lang.NoClassDefFoundError: org/apache/fontbox/afm/AFMParser
        at org.apache.pdfbox.pdmodel.font.PDFont.addAdobeFontMetric(PDFont.java:165)
        at org.apache.pdfbox.pdmodel.font.PDFont.addAdobeFontMetric(PDFont.java:152)
        at org.apache.pdfbox.pdmodel.font.PDFont.getAdobeFontMetrics(PDFont.java:122)
        at org.apache.pdfbox.pdmodel.font.PDFont.<clinit>(PDFont.java:114)
        at org.apache.pdfbox.pdmodel.font.PDFontFactory.createFont(PDFontFactory.java:100)
        at org.apache.pdfbox.pdmodel.PDResources.getFonts(PDResources.java:213)
        at org.apache.pdfbox.util.PDFStreamEngine.getFonts(PDFStreamEngine.java:607)
        at org.apache.pdfbox.util.operator.SetTextFont.process(SetTextFont.java:59)
        at org.apache.pdfbox.util.PDFStreamEngine.processOperator(PDFStreamEngine.java:557)
        at org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:268)
        at org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:235)
        at org.apache.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:215)
        at org.apache.pdfbox.util.PDFTextStripper.processPage(PDFTextStripper.java:460)
        at org.apache.pdfbox.util.PDFTextStripper.processPages(PDFTextStripper.java:385)
        at org.apache.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:344)
        at org.dspace.app.mediafilter.PDFFilter.getDestinationStream(PDFFilter.java:101)
        at org.dspace.app.mediafilter.MediaFilterManager.processBitstream(MediaFilterManager.java:734)
        at org.dspace.app.mediafilter.MediaFilterManager.filterBitstream(MediaFilterManager.java:550)
        at org.dspace.app.mediafilter.MediaFilterManager.filterItem(MediaFilterManager.java:500)
        at org.dspace.app.mediafilter.MediaFilterManager.applyFiltersItem(MediaFilterManager.java:468)
        at org.dspace.app.mediafilter.MediaFilterManager.applyFiltersAllItems(MediaFilterManager.java:403)
        at org.dspace.app.mediafilter.MediaFilterManager.main(MediaFilterManager.java:340)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.dspace.app.launcher.ScriptLauncher.runOneCommand(ScriptLauncher.java:226)
        at org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:78)
Caused by: java.lang.ClassNotFoundException: org.apache.fontbox.afm.AFMParser
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        ... 28 more
Caused by: java.util.zip.ZipException: error reading zip file
        at java.util.zip.ZipFile.read(Native Method)
        at java.util.zip.ZipFile.access$1400(ZipFile.java:56)
        at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:679)
        at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:415)
        at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
        at sun.misc.IOUtils.readFully(IOUtils.java:65)
        at java.util.jar.JarFile.getBytes(JarFile.java:390)
        at java.util.jar.JarFile.getManifestFromReference(JarFile.java:180)
        at java.util.jar.JarFile.getManifest(JarFile.java:167)
        at sun.misc.URLClassPath$JarLoader$2.getManifest(URLClassPath.java:779)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:416)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        ... 34 more

System information:

  • DSpace 5.4
  • SUSE Linux Enterprise Server 12 (x86_64)
  • OpenJDK Java 1.7.0_85
  • Maven 3.3.3
  • Ant 1.9.4
  • Tomcat 8.0.26
  • Postgres 9.3.8
tdelboni
  • 93
  • 7

1 Answers1

0

I got it running, but can't figure it out WHY. Any thoughts?

What I did was to copy previous DSpace's jars from [dspace]/lib.bak to [dspace]/lib. So, instead of having this set of jars, that doesn't work,

-rw-r--r-- 1 dspace users     4173 Dec 17 09:43 additions-5.4.jar
-rw-r--r-- 1 dspace users  2159510 Dec 17 09:43 dspace-api-5.4.jar
-rw-r--r-- 1 dspace users   849983 Dec 14 12:24 dspace-api-lang-5.0.6.jar
-rw-r--r-- 1 dspace users   129054 Dec 17 09:45 dspace-oai-5.4-classes.jar
-rw-r--r-- 1 dspace users   130628 Dec 17 09:43 dspace-services-5.4.jar

now I have this and it's working just fine:

-rw-r--r-- 1 dspace users     4172 Sep  1 13:40 additions-5.2.jar
-rw-r--r-- 1 dspace users     4170 Sep  2 14:04 additions-5.3.jar
-rw-r--r-- 1 dspace users     4173 Dec 17 09:43 additions-5.4.jar
-rw-r--r-- 1 dspace users  2157296 Sep  1 13:38 dspace-api-5.2.jar
-rw-r--r-- 1 dspace users  2158457 Sep  2 14:04 dspace-api-5.3.jar
-rw-r--r-- 1 dspace users  2159510 Dec 17 09:43 dspace-api-5.4.jar
-rw-r--r-- 1 dspace users   845777 Sep  1 13:39 dspace-api-lang-5.0.5.jar
-rw-r--r-- 1 dspace users   849983 Dec 14 12:24 dspace-api-lang-5.0.6.jar
-rw-r--r-- 1 dspace users   128126 Sep  1 13:51 dspace-oai-5.2-classes.jar
-rw-r--r-- 1 dspace users   128849 Sep  2 14:06 dspace-oai-5.3-classes.jar
-rw-r--r-- 1 dspace users   129054 Dec 17 09:45 dspace-oai-5.4-classes.jar
-rw-r--r-- 1 dspace users   130562 Sep  1 13:38 dspace-services-5.2.jar
-rw-r--r-- 1 dspace users   130557 Sep  2 14:04 dspace-services-5.3.jar
-rw-r--r-- 1 dspace users   130628 Dec 17 09:43 dspace-services-5.4.jar

I'm glad I've fixed the issue, of course, but I would really like to know WHY!

After upgrading from 5.3 to 5.4, by merging git tag dspace-5.4 into my local 5.3 branch, I issued a mvn -U clean package followed by a ant update.

tdelboni
  • 93
  • 7