javax.jdo.JDOUserCallbackException: An exception was thrown from the user callback "jdoPreStore".

GitHub | nlmarco | 7 months ago
tip
Click on the to mark the solution that helps you, Samebug will learn from it.
As a community member, you’ll be rewarded for you help.

Root Cause Analysis

  1. java.lang.IllegalStateException

    Constraint violation: There is already another CryptoRepoFile (id=438) referencing the same RepoFile (id=242)!

    at org.subshare.local.persistence.CryptoRepoFile.assertUniqueRepoFile()
  2. org.subshare.local
    CryptoRepoFile.jdoPreStore
    1. org.subshare.local.persistence.CryptoRepoFile.assertUniqueRepoFile(CryptoRepoFile.java:283)[bin/:na]
    2. org.subshare.local.persistence.CryptoRepoFile.jdoPreStore(CryptoRepoFile.java:265)[bin/:na]
    2 frames
  3. DataNucleus JDO API plugin
    JDOCallbackHandler.preStore
    1. org.datanucleus.api.jdo.JDOCallbackHandler.preStore(JDOCallbackHandler.java:130)[datanucleus-api-jdo-4.0.3.jar:na]
    1 frame
  4. DataNucleus Core
    Query.executeWithArray
    1. org.datanucleus.state.StateManagerImpl.flush(StateManagerImpl.java:4639)[datanucleus-core-4.0.3.jar:na]
    2. org.datanucleus.flush.FlushOrdered.execute(FlushOrdered.java:107)[datanucleus-core-4.0.3.jar:na]
    3. org.datanucleus.ExecutionContextImpl.flushInternal(ExecutionContextImpl.java:3978)[datanucleus-core-4.0.3.jar:na]
    4. org.datanucleus.store.query.Query.prepareDatastore(Query.java:1632)[datanucleus-core-4.0.3.jar:na]
    5. org.datanucleus.store.query.Query.executeQuery(Query.java:1817)[datanucleus-core-4.0.3.jar:na]
    6. org.datanucleus.store.query.Query.executeWithArray(Query.java:1729)[datanucleus-core-4.0.3.jar:na]
    6 frames
  5. DataNucleus JDO API plugin
    JDOQuery.execute
    1. org.datanucleus.api.jdo.JDOQuery.execute(JDOQuery.java:268)[datanucleus-api-jdo-4.0.3.jar:na]
    1 frame
  6. co.codewizards.cloudstore
    RepoFileDao.getChildRepoFile
    1. co.codewizards.cloudstore.local.persistence.RepoFileDao.getChildRepoFile(RepoFileDao.java:70)[co.codewizards.cloudstore.local-0.9.11-SNAPSHOT.jar:na]
    1 frame
  7. org.subshare.local
    CryptreeImpl.putCryptoChangeSetDto
    1. org.subshare.local.CryptreeImpl.putDecryptedRepoFile(CryptreeImpl.java:688)[bin/:na]
    2. org.subshare.local.CryptreeImpl.putDecryptedRepoFile(CryptreeImpl.java:669)[bin/:na]
    3. org.subshare.local.CryptreeImpl.putDecryptedRepoFiles(CryptreeImpl.java:646)[bin/:na]
    4. org.subshare.local.CryptreeImpl.putCryptoChangeSetDto(CryptreeImpl.java:503)[bin/:na]
    4 frames
  8. org.subshare.rest
    CryptreeRestRepoTransportImpl.getChangeSetDto
    1. org.subshare.rest.client.transport.CryptreeRestRepoTransportImpl.syncCryptoKeysFromRemoteRepo(CryptreeRestRepoTransportImpl.java:209)[bin/:na]
    2. org.subshare.rest.client.transport.CryptreeRestRepoTransportImpl.getChangeSetDto(CryptreeRestRepoTransportImpl.java:160)[bin/:na]
    2 frames
  9. co.codewizards.cloudstore
    RepoToRepoSync.sync
    1. co.codewizards.cloudstore.core.repo.sync.RepoToRepoSync.sync(RepoToRepoSync.java:217)[co.codewizards.cloudstore.core-0.9.11-SNAPSHOT.jar:na]
    2. co.codewizards.cloudstore.core.repo.sync.RepoToRepoSync.syncDown(RepoToRepoSync.java:168)[co.codewizards.cloudstore.core-0.9.11-SNAPSHOT.jar:na]
    3. co.codewizards.cloudstore.core.repo.sync.RepoToRepoSync.sync(RepoToRepoSync.java:131)[co.codewizards.cloudstore.core-0.9.11-SNAPSHOT.jar:na]
    3 frames
  10. org.subshare.core
    MetaOnlyRepoSyncDaemonImpl.sync
    1. org.subshare.core.repo.sync.SsRepoToRepoSync.sync(SsRepoToRepoSync.java:65)[bin/:na]
    2. org.subshare.core.repo.metaonly.MetaOnlyRepoManagerImpl.sync(MetaOnlyRepoManagerImpl.java:116)[bin/:na]
    3. org.subshare.core.repo.metaonly.MetaOnlyRepoManagerImpl.sync(MetaOnlyRepoManagerImpl.java:75)[bin/:na]
    4. org.subshare.core.repo.metaonly.MetaOnlyRepoSyncDaemonImpl._sync(MetaOnlyRepoSyncDaemonImpl.java:100)[bin/:na]
    5. org.subshare.core.repo.metaonly.MetaOnlyRepoSyncDaemonImpl.sync(MetaOnlyRepoSyncDaemonImpl.java:91)[bin/:na]
    5 frames
  11. org.subshare.ls
    LocalServerInit$1.run
    1. org.subshare.ls.server.cproc.LocalServerInit$1.run(LocalServerInit.java:63)[bin/:na]
    1 frame