Error when deleting a user (OD-2543)
Lukas opened 4 months ago

Hello, when I try to delete a user (both over the API and through the UI) I get a 500 error.

  • Robin Shen commented 4 months ago

    I tried without any issues. Please check the server log and paste the stack trace.

  • Lukas commented 4 months ago

    Here is the stack trace:

    06:08:13 ERROR o.h.e.jdbc.spi.SqlExceptionHelper - ERROR: update or delete on table "o_user" violates foreign key constraint "fks5bt3lav7cf1ysct28gcxlvt0" on table "o_issuecommentrevision"
      Detail: Key (o_id)=(26) is still referenced from table "o_issuecommentrevision".
    06:08:13 ERROR i.o.s.w.p.s.error.GeneralErrorPage - Error processing wicket request
    org.apache.wicket.WicketRuntimeException: Method onRequest of interface org.apache.wicket.behavior.IBehaviorListener targeted at org.apache.wicket.ajax.markup.html.AjaxLink$1@5fd83caf on component [PreventDefaultAjaxLink [Component id = ok]] threw an exception
    	at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:281)
    	at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:250)
    	at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:248)
    	at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:234)
    	at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:892)
    	at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
    	at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
    	at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
    	at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
    	at org.apache.wicket.protocol.ws.AbstractUpgradeFilter.processRequestCycle(AbstractUpgradeFilter.java:70)
    	at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)
    	at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:137)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    	at io.onedev.server.web.DefaultWicketServlet.lambda$service$0(DefaultWicketServlet.java:48)
    	at io.onedev.server.persistence.DefaultSessionManager.lambda$run$0(DefaultSessionManager.java:108)
    	at io.onedev.server.persistence.DefaultSessionManager.call(DefaultSessionManager.java:90)
    	at io.onedev.server.persistence.DefaultSessionManager.run(DefaultSessionManager.java:107)
    	at io.onedev.server.web.DefaultWicketServlet.service(DefaultWicketServlet.java:42)
    	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
    	at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656)
    	at com.google.inject.servlet.DefaultFilterPipeline.dispatch(DefaultFilterPipeline.java:47)
    	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:133)
    	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
    	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
    	at io.onedev.server.git.GoGetFilter.doFilter(GoGetFilter.java:90)
    	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
    	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
    	at io.onedev.server.git.GitLfsFilter.doFilter(GitLfsFilter.java:502)
    	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
    	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
    	at io.onedev.server.git.GitFilter.doFilter(GitFilter.java:395)
    	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
    	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
    	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
    	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
    	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
    	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:154)
    	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
    	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
    	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
    	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:154)
    	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
    	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
    	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
    	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:154)
    	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
    	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:458)
    	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:373)
    	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
    	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
    	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
    	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:370)
    	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:154)
    	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
    	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
    	at io.onedev.server.security.CorsFilter.doFilter(CorsFilter.java:47)
    	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
    	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
    	at io.onedev.server.jetty.DisableTraceFilter.doFilter(DisableTraceFilter.java:28)
    	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
    	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
    	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552)
    	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
    	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
    	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
    	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
    	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
    	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)
    	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
    	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
    	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    	at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:772)
    	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
    	at org.eclipse.jetty.server.Server.handle(Server.java:516)
    	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
    	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
    	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
    	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
    	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
    	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
    	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
    	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
    	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
    	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
    	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
    	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
    	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
    	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
    	at java.base/java.lang.Thread.run(Thread.java:829)
    Caused by: java.lang.reflect.InvocationTargetException: null
    	at jdk.internal.reflect.GeneratedMethodAccessor328.invoke(Unknown Source)
    	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    	at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:270)
    	... 90 common frames omitted
    Caused by: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement
    	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154)
    	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181)
    	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:188)
    	at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1366)
    	at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:453)
    	at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:3212)
    	at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2380)
    	at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:447)
    	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:183)
    	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$300(JdbcResourceLocalTransactionCoordinatorImpl.java:40)
    	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:281)
    	at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:101)
    	at io.onedev.server.persistence.DefaultTransactionManager.lambda$call$0(DefaultTransactionManager.java:67)
    	at io.onedev.server.persistence.DefaultSessionManager.call(DefaultSessionManager.java:90)
    	at io.onedev.server.persistence.DefaultTransactionManager.call(DefaultTransactionManager.java:57)
    
  • OneDev commented 4 months ago

    State changed as code fixing the issue is committed (9c137344)

  • OneDev changed state to 'Closed' 4 months ago
    Previous Value Current Value
    Open
    Closed
  • Lukas commented 4 months ago

    OneDev Version 12.0.9 is apparently not realeased - could you publish the build?

  • Lukas changed state to 'Open' 4 months ago
    Previous Value Current Value
    Closed
    Open
  • Robin Shen commented 4 months ago

    Issue will be marked as closed on this site as soon as the code fixing the issue is committed to main branch. When the build is released, the issue will be transited to state Released.

    The build will be released in one or two weeks together with other fixes and improvements.

  • Robin Shen changed state to 'Closed' 4 months ago
    Previous Value Current Value
    Open
    Closed
  • OneDev commented 4 months ago

    State changed as build OD-6619 is successful

  • OneDev changed state to 'Released' 4 months ago
    Previous Value Current Value
    Closed
    Released
  • Lukas commented 4 months ago

    Hello,

    there is still an issue when deleting users after updating to 12.0.9.

    o.h.e.jdbc.spi.SqlExceptionHelper - ERROR: update or delete on table "o_user" violates foreign key constraint "fkbwc0hech4vace79h0bhma4ujb" on table "o_revieweddiff"
      Detail: Key (o_id)=(26) is still referenced from table "o_revieweddiff".
    
  • Robin Shen commented 4 months ago

    This issue has been fixed in build OD-6624

issue 1/1
Type
Bug
Priority
Normal
Assignee
Affected Versions
12.0.8
Labels
No labels
Issue Votes (0)
Watchers (3)
Reference
OD-2543
Please wait...
Connection lost or session expired, reload to recover
Page is in error, reload to recover