IQSS / dataverse-docker

Dataverse 6.2 on Docker with integrated services called "Archive in a box" and could be used both as demo and production system and easily integrated with other services.
57 stars 45 forks source link

Getting error - "Could not create stateless EJB" when running Dataverse #91

Open prsridha opened 1 year ago

prsridha commented 1 year ago

Hello,

I have a Dataverse deployment on a Linux machine running on Docker Containers. All was working fine till my server had to restart for maintenance. Post the restart, I'm unable to publish any Dataverses or Datasets and I found the following error in the logs - "Caused by: javax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB"

After a suggestion from the Dataverse devs, I did a clean install using the same Dockerfile configuration. Now, I am able to login via the dataverseAdmin superuser account and it takes me to the password reset page. Here, nothing happens when I change the password. In the logs, I get the same error again.

I've attached the log file as well as my Dockerfile configuration(using .txt since github doesn't allow .yml) . I'm using docker compose. docker-compose-ssl.txt out.log

Any help on this is much appreciated!

poikilotherm commented 1 year ago

Looking at the logs, I'd look into three things:

  1. You said you have an existing installation. But you are setting up a new one here, without the data from the old one?
  2. I see a lot of errors about ERROR: duplicate key value violates unique constraint "dataverserole_alias_key". Are you trying to setup roles with non-unique aliases?
  3. The deployment did actually succeed. The Exception about the stateless EJB is caused by the mail session not being injected. I see Caused by: java.lang.IllegalStateException: Exception attempting to inject Res-Ref-Env-Property: mail/notifyMailSession@javax.mail.Session@ resolved as: jndi: mail/notifyMailSession@res principal: null@mail: null in the log. Are you sure you set up the mail addresses correctly?
prsridha commented 1 year ago

Thanks for the reply!

  1. Yes, the eventual goal is to link it back to my existing postgresql database, so that I will have all the account information in spite of the container restart. But here, it's a new clean install without data from the old one. Because I wanted to get the clean install to work first...
  2. I'm not too sure where this one is coming from. There's not supposed to be any data from postgresql, since it's a clean install. Do you where I can find this config mentioned?
  3. I re-checked the mail config and it hasn't been setup correctly. I was mistakenly thinking that this error was related to the issue of not being able to login. If it is not related, I feel we can ignore this one for now.

I checked postgresql logs, and found more such errors - file attached. Could this be causing the login issue? postgresql.log

For the current clean install, I'm using a blank directory for the postgresql volume mount, as given in the Dockerfile attached above.