DSpace (5/6?) handle server doesn't start after JDK 8 update
See original GitHub issueDescribe the bug After updating to
openjdk version "1.8.0_352"
OpenJDK Runtime Environment (build 1.8.0_352-b08)
OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode)
or
openjdk version "1.8.0_352"
OpenJDK Runtime Environment Corretto-8.352.08.1 (build 1.8.0_352-b08)
OpenJDK 64-Bit Server VM Corretto-8.352.08.1 (build 25.352-b08, mixed mode)
The handle-server script no longer starts, probably due to JDK-8287132 - Retire Runtime.runFinalizersOnExit so that it always throws UOE
To Reproduce Steps to reproduce the behavior:
- Update the system packaged JDK 8 (Coretto and RHEL-packaged openjdk confirmed)
- Try to start handle-server script
- (Startup error message)
2022/10/26 03:04:46 CEST" 25 Started new run.
java.lang.UnsupportedOperationException
at java.lang.Runtime.runFinalizersOnExit(Runtime.java:287)
at java.lang.System.runFinalizersOnExit(System.java:1059)
at net.handle.server.Main.initialize(Main.java:124)
at net.handle.server.Main.main(Main.java:75)
Shutting down...
The reported errors in the mailing lists looks like DSpace 5 installations, but the handle server dependency looks the same in the DSpace 6 pom.xml, so probably also applies there?
Expected behavior
Normal startup of handle-server
KNOWN WORKAROUNDS Either of these options will work, but neither is ideal:
- Downgrade OpenJDK 8 to a version prior to 1.8.0.352 (which is where this change was made)
- Use OpenJDK 7 (which is no longer supported)
Related work https://bugs.openjdk.org/browse/JDK-8287132 https://groups.google.com/g/dspace-community/c/B-865GtF93A
Issue Analytics
- State:
- Created a year ago
- Comments:16 (7 by maintainers)
Top Results From Across the Web
Fix broken handle server for Java 1.8 (DSpace 6.x version ...
Run the make-handle-config script and insert dummy settings · Start the handle-server script · review the output of handle-server/logs error and access files....
Read more >Known Issues for JDK 8 - Oracle
The workaround is to uninstall the existing 32-bit JRE and install it again. The "Enable Java Access Bridge" check box will appear after...
Read more >Installing DSpace - Confluence Mobile - LYRASIS Wiki
You can install and run DSpace on most modern PC, laptop or server hardware. ... We recommend installing the Java 8 update 20...
Read more >DSpace 6.x Documentation
Fix update-handle-prefix script to no longer update handle ... a DSpace site must also run a 'Handle server' that can accept and resolve....
Read more >Chapter 3. DSpace System Documentation: Installation
Note that DSpace will need to run as the same user as Tomcat, so you might want to install and run Tomcat as...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
The compiled handle.jar file is available at https://release.prosentient.com.au/handle62/handle.jar.gz It can be used to replace the handle-6.2.jar reference in the dspace 6.4 build or copied directly to the target directly to the target directories - particularly of course lib
./lib/handle-6.2.jar ./webapps/jspui/WEB-INF/lib/handle-6.2.jar ./webapps/xmlui/WEB-INF/lib/handle-6.2.jar ./webapps/swordv2/WEB-INF/lib/handle-6.2.jar ./webapps/rdf/WEB-INF/lib/handle-6.2.jar ./webapps/rest/WEB-INF/lib/handle-6.2.jar ./webapps/sword/WEB-INF/lib/handle-6.2.jar ./webapps/oai/WEB-INF/lib/handle-6.2.jar
It was an interesting archeological exercise obtaining the handle v6 source. handle.net do not maintain web references to archived distributions. web.archive.org was helpful in this respect
Edmund
@OyvindLGjesdal : Thanks for your feedback. After digging around a bit, I realized that there was some earlier work also needed to support migrating to Handle Server v9 in #2394 … and those changes involved minor updates to the
make-handle-config
script. Maybe that’s the missing piece here? I’d recommend trying to make those updates tomake-handle-config
and trying again…hopefully it’ll work this time.In terms of testing the handle-server works, you should be able to minimally start the handle-server with some “fake/test” settings, and verify that it starts up on the configured ports (2641 and 8000 by default, IIIRC).
In any case, if you can get
dspace make-handle-config
to no longer throw errors, andstart-handle-server
to spin everything up on the expected ports, then that should mean that everything is “working”. At that point, if you wanted to create a PR, then I’m sure we could find some testers to help verify it works for them.