Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fits build 2ee80c7 throws: java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal #203

Closed
jefferya opened this issue Mar 24, 2022 · 5 comments
Assignees
Labels
bug Something isn't working

Comments

@jefferya
Copy link
Contributor

When using the isle-buildkit tag 2ee80c7 in conjunction with Islandora-Devops/isle-dc#222, ingestion of a video causes the fits microservice to throw: java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal.

fits_1        | 2022-03-24 20:41:57 - ERROR - FitsServlet:382 - Unexpected exception: Unexpected Throwable:
fits_1        | javax.servlet.ServletException: Unexpected Throwable:
fits_1        |         at edu.harvard.hul.ois.fits.service.pool.FitsWrapper.<init>(FitsWrapper.java:51)
fits_1        |         at edu.harvard.hul.ois.fits.service.pool.FitsWrapperFactory.create(FitsWrapperFactory.java:25)
fits_1        |         at edu.harvard.hul.ois.fits.service.pool.FitsWrapperFactory.create(FitsWrapperFactory.java:18)
fits_1        |         at org.apache.commons.pool2.BasePooledObjectFactory.makeObject(BasePooledObjectFactory.java:60)
fits_1        |         at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:868)
fits_1        |         at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:435)
fits_1        |         at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363)
fits_1        |         at edu.harvard.hul.ois.fits.service.servlets.FitsServlet.sendFitsExamineResponse(FitsServlet.java:364)
fits_1        |         at edu.harvard.hul.ois.fits.service.servlets.FitsServlet.doPost(FitsServlet.java:298)
fits_1        |         at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
fits_1        |         at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
fits_1        |         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
fits_1        |         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
fits_1        |         at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
fits_1        |         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
fits_1        |         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
fits_1        |         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
fits_1        |         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
fits_1        |         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
fits_1        |         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
fits_1        |         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
fits_1        |         at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
fits_1        |         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
fits_1        |         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:359)
fits_1        |         at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
fits_1        |         at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
fits_1        |         at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889)
fits_1        |         at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1735)
fits_1        |         at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
fits_1        |         at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
fits_1        |         at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
fits_1        |         at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
fits_1        |         at java.lang.Thread.run(Thread.java:748)
fits_1        | Caused by: java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
fits_1        |         at java.lang.ClassLoader.defineClass1(Native Method)
fits_1        |         at java.lang.ClassLoader.defineClass(ClassLoader.java:757)
fits_1        |         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
fits_1        |         at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
fits_1        |         at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
fits_1        |         at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
fits_1        |         at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
fits_1        |         at java.security.AccessController.doPrivileged(Native Method)
fits_1        |         at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
fits_1        |         at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
fits_1        |         at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
fits_1        |         at org.apache.xerces.parsers.AbstractDOMParser.startDocument(Unknown Source)
fits_1        |         at org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(Unknown Source)
fits_1        |         at org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(Unknown Source)
fits_1        |         at org.apache.xerces.impl.XMLVersionDetector.startDocumentParsing(Unknown Source)
fits_1        |         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
fits_1        |         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
fits_1        |         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)

fits_1        |         at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
fits_1        |         at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
fits_1        |         at org.apache.commons.configuration.XMLConfiguration.load(XMLConfiguration.java:942)
fits_1        |         at org.apache.commons.configuration.XMLConfiguration.load(XMLConfiguration.java:908)
fits_1        |         at org.apache.commons.configuration.XMLConfiguration$XMLFileConfigurationDelegate.load(XMLConfiguration.java:1584)
fits_1        |         at org.apache.commons.configuration.AbstractFileConfiguration.load(AbstractFileConfiguration.java:324)
fits_1        |         at org.apache.commons.configuration.AbstractFileConfiguration.load(AbstractFileConfiguration.java:261)
fits_1        |         at org.apache.commons.configuration.AbstractFileConfiguration.load(AbstractFileConfiguration.java:238)
fits_1        |         at org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.load(AbstractHierarchicalFileConfiguration.java:184)
fits_1        |         at org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.<init>(AbstractHierarchicalFileConfiguration.java:95)
fits_1        |         at org.apache.commons.configuration.XMLConfiguration.<init>(XMLConfiguration.java:259)
fits_1        |         at edu.harvard.hul.ois.fits.Fits.<init>(Fits.java:199)
fits_1        |         at edu.harvard.hul.ois.fits.Fits.<init>(Fits.java:124)
fits_1        |         at edu.harvard.hul.ois.fits.service.pool.FitsWrapper.<init>(FitsWrapper.java:45)
fits_1        |         ... 32 more
fits_1        | Caused by: java.lang.ClassNotFoundException: org.w3c.dom.ElementTraversal
fits_1        |         at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
fits_1        |         at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
fits_1        |         at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
fits_1        |         ... 64 more

To test:

git clone  https://github.com/Islandora-Devops/isle-dc.git && cd $_
git checkout  issue-186-remove-unnecessary-reverse-proxy
alter sample.env: TAG=2ee80c71cc5689a11316610e32b49fe5fc73bc15
make demo
Then add a resource of type `moving image` and model  `video` with and attached media of type `video`
expect to be error free: `docker-compose logs --tail 100 fits` 
@jefferya jefferya changed the title fits build 2ee80c71cc5689a11316610e32b49fe5fc73bc15 throws: java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal fits build 2ee80c7 throws: java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal Mar 24, 2022
@nigelgbanks nigelgbanks self-assigned this Mar 27, 2022
@nigelgbanks
Copy link
Contributor

I can confirm I'm seeing this as well, likely caused by the upgrade of fits from 1.5.0 to 1.5.1

@nigelgbanks
Copy link
Contributor

There is a new release of the servlet as well I'll try to integrate that to see if it resolves the issue.

@nigelgbanks
Copy link
Contributor

They are aware of the issue and have a fix for the next release: harvard-lts/fits#256

@nigelgbanks
Copy link
Contributor

Raised a pull request to roll it back to the previous version until they release a patched version. #208

@nigelgbanks nigelgbanks added the bug Something isn't working label Apr 11, 2022
@nigelgbanks
Copy link
Contributor

This was merged and is resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants