Issue in DSpace 9 UI – Internal Server Error in Production

85 views
Skip to first unread message

Vikas Pal

unread,
Oct 10, 2025, 7:00:29 AMOct 10
to DSpace Technical Support

Hello Team,

I have installed the DSpace 9 User Interface and REST API locally. Both Solr and Tomcat services are running, and the UI loads successfully in Development mode.

However, in Production mode, the User Interface at http://localhost:4000 displays an Internal Server Error.
Kindly assist in resolving this issue.

Regards

Vikas Pal


AFA

unread,
Oct 15, 2025, 4:44:19 AMOct 15
to DSpace Technical Support
Hi Vikas,

Can you share you log ?


Vikas Pal

unread,
Oct 24, 2025, 5:47:24 AM (13 days ago) Oct 24
to DSpace Technical Support
Please find PM2 logs:

root@DSpace9:/home/dspace/dspace-angular-dspace-9.1# pm2 log
[TAILING] Tailing last 15 lines for [all] processes (change the value with --lines option)
/root/.pm2/pm2.log last 15 lines:
PM2        | 2025-10-24T09:34:46: PM2 log: pid=17095 msg=failed to kill - retrying in 100ms
PM2        | 2025-10-24T09:34:47: PM2 log: pid=17088 msg=failed to kill - retrying in 100ms
PM2        | 2025-10-24T09:34:47: PM2 log: pid=17095 msg=failed to kill - retrying in 100ms
PM2        | 2025-10-24T09:34:47: PM2 log: Process with pid 17088 still alive after 1600ms, sending it SIGKILL now...
PM2        | 2025-10-24T09:34:47: PM2 log: Process with pid 17095 still alive after 1600ms, sending it SIGKILL now...
PM2        | 2025-10-24T09:34:47: PM2 log: App name:dspace-ui id:2 disconnected
PM2        | 2025-10-24T09:34:47: PM2 log: App [dspace-ui:2] exited with code [0] via signal [SIGKILL]
PM2        | 2025-10-24T09:34:47: PM2 log: App name:dspace-ui id:3 disconnected
PM2        | 2025-10-24T09:34:47: PM2 log: App [dspace-ui:3] exited with code [0] via signal [SIGKILL]
PM2        | 2025-10-24T09:34:47: PM2 log: pid=17088 msg=process killed
PM2        | 2025-10-24T09:34:47: PM2 log: App [dspace-ui:2] starting in -cluster mode-
PM2        | 2025-10-24T09:34:47: PM2 log: pid=17095 msg=process killed
PM2        | 2025-10-24T09:34:47: PM2 log: App [dspace-ui:3] starting in -cluster mode-
PM2        | 2025-10-24T09:34:47: PM2 log: App [dspace-ui:3] online
PM2        | 2025-10-24T09:34:47: PM2 log: App [dspace-ui:2] online

/root/.pm2/logs/dspace-ui-error-2.log last 15 lines:
/root/.pm2/logs/dspace-ui-error-3.log last 15 lines:
/root/.pm2/logs/dspace-ui-out-3.log last 15 lines:
3|dspace-u | HTTP server closed.
3|dspace-u | Building production app config
3|dspace-u | Overriding app config with /home/dspace/dspace-angular-dspace-9.1/config/config.yml
3|dspace-u | Overriding app config with /home/dspace/dspace-angular-dspace-9.1/config/config.prod.yml
3|dspace-u | Angular config.json file generated correctly at /home/dspace/dspace-angular-dspace-9.1/dist/browser/assets/config.json
3|dspace-u |
3|dspace-u | Environment extended with app config
3|dspace-u |
3|dspace-u | dspace-angular
3|dspace-u | Version: 9.1.0
3|dspace-u | Environment: Production
3|dspace-u |
3|dspace-u | [HPM] Proxy created: /  -> http://localhost:8080/server/sitemaps
3|dspace-u | [HPM] Proxy created: /  -> http://localhost:8080/server
3|dspace-u | [09:34:47 GMT+0000 (Coordinated Universal Time)] Listening at http://localhost:4000/

/root/.pm2/logs/dspace-ui-out-2.log last 15 lines:
2|dspace-u | HTTP server closed.
2|dspace-u | Building production app config
2|dspace-u | Overriding app config with /home/dspace/dspace-angular-dspace-9.1/config/config.yml
2|dspace-u | Overriding app config with /home/dspace/dspace-angular-dspace-9.1/config/config.prod.yml
2|dspace-u | Angular config.json file generated correctly at /home/dspace/dspace-angular-dspace-9.1/dist/browser/assets/config.json
2|dspace-u |
2|dspace-u | Environment extended with app config
2|dspace-u |
2|dspace-u | dspace-angular
2|dspace-u | Version: 9.1.0
2|dspace-u | Environment: Production
2|dspace-u |
2|dspace-u | [HPM] Proxy created: /  -> http://localhost:8080/server/sitemaps
2|dspace-u | [HPM] Proxy created: /  -> http://localhost:8080/server
2|dspace-u | [09:34:47 GMT+0000 (Coordinated Universal Time)] Listening at http://localhost:4000/

/root/.pm2/logs/dspace-ui-out-0.log last 15 lines:
0|dspace-u | Overriding app config with /home/dspace/dspace-angular-dspace-9.1/config/config.yml
0|dspace-u | Overriding app config with /home/dspace/dspace-angular-dspace-9.1/config/config.prod.yml
0|dspace-u | Angular config.json file generated correctly at /home/dspace/dspace-angular-dspace-9.1/dist/browser/assets/config.json
0|dspace-u |
0|dspace-u | Environment extended with app config
0|dspace-u |
0|dspace-u | dspace-angular
0|dspace-u | Version: 9.1.0
0|dspace-u | Environment: Production
0|dspace-u |
0|dspace-u | [HPM] Proxy created: /  -> http://localhost:8080/server/sitemaps
0|dspace-u | [HPM] Proxy created: /  -> http://localhost:8080/server
0|dspace-u | [09:34:46 GMT+0000 (Coordinated Universal Time)] Listening at http://localhost:4000/
0|dspace-u | GET /home 500 44.639 ms - 148
0|dspace-u | GET /home 500 8.402 ms - 148

/root/.pm2/logs/dspace-ui-error-0.log last 15 lines:
0|dspace-u |     at ɵɵinject (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4366022)
0|dspace-u |     at injectArgs (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4366749)
0|dspace-u |     at Object.factory (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4391012)
0|dspace-u |     at R3Injector.hydrate (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4389241)
0|dspace-u |     at R3Injector.get (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4386487)
0|dspace-u | Error: Can't set headers after they are sent.
0|dspace-u |     at SendStream.headersAlreadySent (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:3710096)
0|dspace-u |     at SendStream.send (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:3713093)
0|dspace-u |     at /home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:3714807
0|dspace-u |     at _ZoneDelegate.invokeTask (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:3843097)
0|dspace-u |     at ZoneImpl2.runTask (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:3835897)
0|dspace-u |     at invokeTask (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:3844510)
0|dspace-u |     at ZoneTask.invoke (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:3844355)
0|dspace-u |     at data.args.<computed> (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:3810820)
0|dspace-u |     at FSReqCallback.oncomplete (node:fs:199:5)

/root/.pm2/logs/dspace-ui-out-1.log last 15 lines:
1|dspace-u | Overriding app config with /home/dspace/dspace-angular-dspace-9.1/config/config.prod.yml
1|dspace-u | Angular config.json file generated correctly at /home/dspace/dspace-angular-dspace-9.1/dist/browser/assets/config.json
1|dspace-u |
1|dspace-u | Environment extended with app config
1|dspace-u |
1|dspace-u | dspace-angular
1|dspace-u | Version: 9.1.0
1|dspace-u | Environment: Production
1|dspace-u |
1|dspace-u | [HPM] Proxy created: /  -> http://localhost:8080/server/sitemaps
1|dspace-u | [HPM] Proxy created: /  -> http://localhost:8080/server
1|dspace-u | [09:34:46 GMT+0000 (Coordinated Universal Time)] Listening at http://localhost:4000/
1|dspace-u | GET /home 500 49.468 ms - 148
1|dspace-u | GET /home 500 8.727 ms - 148
1|dspace-u | GET /home 500 8.761 ms - 148

/root/.pm2/logs/dspace-ui-error-1.log last 15 lines:
1|dspace-u |     at R3Injector.get (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4386487) {
1|dspace-u |   code: 210
1|dspace-u | }
1|dspace-u | Falling back to serving direct client-side rendering (CSR).
1|dspace-u | Error: NG0210
1|dspace-u |     at getDocument (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4432172)
1|dspace-u |     at Object.initTransferState [as factory] (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4433041)
1|dspace-u |     at R3Injector.hydrate (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4389241)
1|dspace-u |     at R3Injector.get (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4386487)
1|dspace-u |     at injectInjectorOnly (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4365852)
1|dspace-u |     at ɵɵinject (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4366022)
1|dspace-u |     at injectArgs (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4366749)
1|dspace-u |     at Object.factory (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4391012)
1|dspace-u |     at R3Injector.hydrate (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4389241)
1|dspace-u |     at R3Injector.get (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4386487)

3|dspace-ui  | ERROR ReferenceError: document is not defined
3|dspace-ui  |     at Object._document [as useFactory] (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4805686)
3|dspace-ui  |     at Object.factory (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4390998)
3|dspace-ui  |     at R3Injector.hydrate (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4389241)
3|dspace-ui  |     at R3Injector.get (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4386487)
3|dspace-ui  |     at R3Injector.get (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4386570)
3|dspace-ui  |     at injectInjectorOnly (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4365852)
3|dspace-ui  |     at ɵɵinject (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4366022)
3|dspace-ui  |     at injectArgs (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4366749)
3|dspace-ui  |     at Object.factory (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4391454)
3|dspace-ui  |     at R3Injector.hydrate (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4389241)
3|dspace-ui  | Error in server-side rendering (SSR)
3|dspace-ui  | Error details :  RuntimeError: NG0210
3|dspace-ui  |     at getDocument (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4432172)
3|dspace-ui  |     at Object.initTransferState [as factory] (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4433041)
3|dspace-ui  |     at R3Injector.hydrate (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4389241)
3|dspace-ui  |     at R3Injector.get (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4386487)
3|dspace-ui  |     at injectInjectorOnly (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4365852)
3|dspace-ui  |     at ɵɵinject (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4366022)
3|dspace-ui  |     at injectArgs (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4366749)
3|dspace-ui  |     at Object.factory (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4391012)
3|dspace-ui  |     at R3Injector.hydrate (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4389241)
3|dspace-ui  |     at R3Injector.get (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4386487) {
3|dspace-ui  |   code: 210
3|dspace-ui  | }
3|dspace-ui  | Falling back to serving direct client-side rendering (CSR).
3|dspace-ui  | GET / 500 42.022 ms - 148
3|dspace-ui  | Error: NG0210
3|dspace-ui  |     at getDocument (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4432172)
3|dspace-ui  |     at Object.initTransferState [as factory] (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4433041)
3|dspace-ui  |     at R3Injector.hydrate (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4389241)
3|dspace-ui  |     at R3Injector.get (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4386487)
3|dspace-ui  |     at injectInjectorOnly (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4365852)
3|dspace-ui  |     at ɵɵinject (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4366022)
3|dspace-ui  |     at injectArgs (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4366749)
3|dspace-ui  |     at Object.factory (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4391012)
3|dspace-ui  |     at R3Injector.hydrate (/home/dspace/dspace-angular-dspace-9.1/dist/server/main.js:1:4389241)
3|dspace-ui  |     at R3Injector.get (/home/dspace/dspace-angular-dspace-9.1/dist/server/main

Abid Fakhre Alam

unread,
Oct 24, 2025, 6:06:20 AM (13 days ago) Oct 24
to Vikas Pal, DSpace Technical Support
recommend to re-run the build command instead of using using CSR it is using SSR. It is better to run the build process again and also check the minimum requirement before installing the Angular and REST API interface:

ComponentMinimum VersionRecommended Version
JavaJDK 17OpenJDK 17
Maven3.8.x3.9.x
Ant1.10.x1.10.x
PostgreSQL14.x16.x or 17.x
Solr9.x9.5.x
Tomcat10.1.x10.1.x
Node.js18.19+20.x
PM2LatestLatest

or you can refer this : 
https://librarytrendsinsights.blogspot.com/2025/08/how-to-install-dspace-9-on-ubuntu-2405.html
https://librarytrendsinsights.blogspot.com/2025/08/how-to-install-dspace-9-backend-server.html
https://librarytrendsinsights.blogspot.com/2025/08/how-to-install-dspace-91-angular-frontend-ui-on-ubuntu-2404-lts.html

Thanks and Best Regards,
Abid Fakhre Alam


--
All messages to this mailing list should adhere to the Code of Conduct: https://www.lyrasis.org/about/Pages/Code-of-Conduct.aspx
---
You received this message because you are subscribed to a topic in the Google Groups "DSpace Technical Support" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dspace-tech/Zc-IZ_utoxo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dspace-tech...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/dspace-tech/4073043e-19f2-441c-9e59-ce58c39cc498n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages