Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internal Server Error when deleting repository with user assigned to issue #3266

Closed
ms502040 opened this issue Apr 1, 2023 · 0 comments · Fixed by #3276
Closed

Internal Server Error when deleting repository with user assigned to issue #3266

ms502040 opened this issue Apr 1, 2023 · 0 comments · Fixed by #3276
Assignees
Labels
Milestone

Comments

@ms502040
Copy link
Contributor

ms502040 commented Apr 1, 2023

OS: Linux
DB: Mysql
GITBUCKET_VERSION: 4.38.4
Container: Apache Tomcat/9.0.39
JVM: OpenJDK Runtime Environment 15+36-1562 OpenJDK 64-Bit Server VM)

if the issue has an assigned user, the repo cannot be deleted - we get the following error message. After removing the user assignment, the repo can be deleted normally.

Internal Server Error
      
java.sql.SQLIntegrityConstraintViolationException: 
(conn=3765237) Cannot delete or update a parent row: a foreign key 
constraint fails (`gitbucket`.`ISSUE_ASSIGNEE`, CONSTRAINT 
`IDX_ISSUE_ASSIGNEE_FK0` FOREIGN KEY (`USER_NAME`, `REPOSITORY_NAME`, 
`ISSUE_ID`) REFERENCES `ISSUE` (`USER_NAME`, `REPOSITORY_NAME`, 
`ISSUE_ID`))
         
org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:70)
--
org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:158)
org.mariadb.jdbc.MariaDbStatement.executeExceptionEpilogue(MariaDbStatement.java:266)
org.mariadb.jdbc.ClientSidePreparedStatement.executeInternal(ClientSidePreparedStatement.java:229)
org.mariadb.jdbc.ClientSidePreparedStatement.execute(ClientSidePreparedStatement.java:149)
org.mariadb.jdbc.ClientSidePreparedStatement.executeUpdate(ClientSidePreparedStatement.java:181)
com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61)
com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java)
slick.jdbc.JdbcActionComponent$DeleteActionExtensionMethodsImpl$anon$4.$anonfun$run$3(JdbcActionComponent.scala:269)
slick.jdbc.JdbcActionComponent$DeleteActionExtensionMethodsImpl$anon$4.$anonfun$run$3$adapted(JdbcActionComponent.scala:267)
slick.jdbc.JdbcBackend$SessionDef.withPreparedStatement(JdbcBackend.scala:425)
slick.jdbc.JdbcBackend$SessionDef.withPreparedStatement$(JdbcBackend.scala:420)
slick.jdbc.JdbcBackend$BaseSession.withPreparedStatement(JdbcBackend.scala:489)
slick.jdbc.JdbcActionComponent$DeleteActionExtensionMethodsImpl$anon$4.run(JdbcActionComponent.scala:267)
slick.jdbc.JdbcActionComponent$DeleteActionExtensionMethodsImpl$anon$4.run(JdbcActionComponent.scala:266)
slick.jdbc.JdbcActionComponent$SimpleJdbcProfileAction.run(JdbcActionComponent.scala:28)
slick.jdbc.JdbcActionComponent$SimpleJdbcProfileAction.run(JdbcActionComponent.scala:25)
com.github.takezoe.slick.blocking.BlockingJdbcProfile$BlockingAPI$BlockingDeleteInvoker.delete(BlockingProfile.scala:98)
gitbucket.core.service.RepositoryService.deleteRepositoryOnModel(RepositoryService.scala:257)
gitbucket.core.service.RepositoryService.$anonfun$deleteRepository$1(RepositoryService.scala:236)
scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
gitbucket.core.util.LockUtil$.lock(LockUtil.scala:30)
gitbucket.core.service.RepositoryService.deleteRepository(RepositoryService.scala:235)
gitbucket.core.service.RepositoryService.deleteRepository$(RepositoryService.scala:234)
gitbucket.core.controller.RepositorySettingsController.deleteRepository(RepositorySettingsController.scala:25)
gitbucket.core.controller.RepositorySettingsControllerBase.$anonfun$init$54(RepositorySettingsController.scala:459)
gitbucket.core.controller.Context.withLoginAccount(ControllerBase.scala:305)
gitbucket.core.controller.RepositorySettingsControllerBase.$anonfun$init$53(RepositorySettingsController.scala:456)
gitbucket.core.util.OwnerAuthenticator.$anonfun$authenticate$1(Authenticator.scala:37)
scala.Option.map(Option.scala:242)
gitbucket.core.util.OwnerAuthenticator.authenticate(Authenticator.scala:35)
gitbucket.core.util.OwnerAuthenticator.ownerOnly(Authenticator.scala:29)
gitbucket.core.util.OwnerAuthenticator.ownerOnly$(Authenticator.scala:29)
gitbucket.core.controller.RepositorySettingsController.ownerOnly(RepositorySettingsController.scala:25)
gitbucket.core.controller.RepositorySettingsControllerBase.$anonfun$init$52(RepositorySettingsController.scala:455)
org.scalatra.ScalatraBase.liftAction(ScalatraBase.scala:282)
org.scalatra.ScalatraBase.$anonfun$invoke$1(ScalatraBase.scala:276)
org.scalatra.ApiFormats.withRouteMultiParams(ApiFormats.scala:180)
org.scalatra.ApiFormats.withRouteMultiParams$(ApiFormats.scala:171)
gitbucket.core.controller.ControllerBase.withRouteMultiParams(ControllerBase.scala:36)
org.scalatra.ScalatraBase.invoke(ScalatraBase.scala:275)
org.scalatra.ScalatraBase.invoke$(ScalatraBase.scala:274)
gitbucket.core.controller.ControllerBase.invoke(ControllerBase.scala:36)
org.scalatra.ScalatraBase.$anonfun$runRoutes$3(ScalatraBase.scala:250)
scala.Option.flatMap(Option.scala:283)
org.scalatra.ScalatraBase.$anonfun$runRoutes$1(ScalatraBase.scala:248)
scala.collection.immutable.Stream.flatMap(Stream.scala:204)
org.scalatra.ScalatraBase.runRoutes(ScalatraBase.scala:247)
org.scalatra.ScalatraBase.runRoutes$(ScalatraBase.scala:245)
gitbucket.core.controller.ControllerBase.runRoutes(ControllerBase.scala:36)
org.scalatra.ScalatraBase.runActions$1(ScalatraBase.scala:169)
org.scalatra.ScalatraBase.$anonfun$executeRoutes$6(ScalatraBase.scala:181)
scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
org.scalatra.ScalatraBase.cradleHalt(ScalatraBase.scala:201)
org.scalatra.ScalatraBase.executeRoutes(ScalatraBase.scala:181)
org.scalatra.ScalatraBase.executeRoutes$(ScalatraBase.scala:150)
gitbucket.core.controller.ControllerBase.executeRoutes(ControllerBase.scala:36)
org.scalatra.ScalatraBase.$anonfun$handle$1(ScalatraBase.scala:123)
scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
org.scalatra.DynamicScope.withResponse(DynamicScope.scala:75)
org.scalatra.DynamicScope.withResponse$(DynamicScope.scala:73)
gitbucket.core.controller.ControllerBase.withResponse(ControllerBase.scala:36)
org.scalatra.DynamicScope.$anonfun$withRequestResponse$1(DynamicScope.scala:55)
scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
org.scalatra.DynamicScope.withRequest(DynamicScope.scala:66)
org.scalatra.DynamicScope.withRequest$(DynamicScope.scala:64)
gitbucket.core.controller.ControllerBase.withRequest(ControllerBase.scala:36)
org.scalatra.DynamicScope.withRequestResponse(DynamicScope.scala:54)
org.scalatra.DynamicScope.withRequestResponse$(DynamicScope.scala:52)
gitbucket.core.controller.ControllerBase.withRequestResponse(ControllerBase.scala:36)
org.scalatra.ScalatraBase.handle(ScalatraBase.scala:123)
org.scalatra.ScalatraBase.handle$(ScalatraBase.scala:119)
gitbucket.core.controller.ControllerBase.org$scalatra$servlet$ServletBase$super$handle(ControllerBase.scala:36)
org.scalatra.servlet.ServletBase.handle(ServletBase.scala:43)
org.scalatra.servlet.ServletBase.handle$(ServletBase.scala:36)
gitbucket.core.controller.ControllerBase.org$scalatra$FlashMapSupport$super$handle(ControllerBase.scala:36)
org.scalatra.FlashMapSupport.$anonfun$handle$1(FlashMap.scala:177)
scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
org.scalatra.DynamicScope.withRequest(DynamicScope.scala:66)
org.scalatra.DynamicScope.withRequest$(DynamicScope.scala:64)
gitbucket.core.controller.ControllerBase.withRequest(ControllerBase.scala:36)
org.scalatra.FlashMapSupport.handle(FlashMap.scala:152)
org.scalatra.FlashMapSupport.handle$(FlashMap.scala:151)
gitbucket.core.controller.ControllerBase.handle(ControllerBase.scala:36)
org.scalatra.ScalatraFilter.$anonfun$doFilter$1(ScalatraFilter.scala:41)
scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
org.scalatra.ScalatraFilter.doFilter(ScalatraFilter.scala:41)
org.scalatra.ScalatraFilter.doFilter$(ScalatraFilter.scala:36)
gitbucket.core.controller.ControllerBase.doFilter(ControllerBase.scala:74)
gitbucket.core.servlet.CompositeScalatraFilter.$anonfun$process$2(CompositeScalatraFilter.scala:67)
gitbucket.core.servlet.CompositeScalatraFilter.$anonfun$process$2$adapted(CompositeScalatraFilter.scala:64)
scala.collection.IterableOnceOps.foreach(IterableOnce.scala:575)
scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:573)
scala.collection.AbstractIterable.foreach(Iterable.scala:933)
gitbucket.core.servlet.CompositeScalatraFilter.process(CompositeScalatraFilter.scala:64)
gitbucket.core.servlet.ControllerFilter.doFilter(CompositeScalatraFilter.scala:25)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
gitbucket.core.servlet.ControllerFilter.doFilter(CompositeScalatraFilter.scala:31)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
org.scalatra.ScalatraFilter.$anonfun$doNotFound$1(ScalatraFilter.scala:80)
scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
org.scalatra.ScalatraBase.$anonfun$executeRoutes$5(ScalatraBase.scala:172)
scala.Option.getOrElse(Option.scala:201)
org.scalatra.ScalatraBase.$anonfun$executeRoutes$3(ScalatraBase.scala:172)
scala.Option.getOrElse(Option.scala:201)
org.scalatra.ScalatraBase.runActions$1(ScalatraBase.scala:172)
org.scalatra.ScalatraBase.$anonfun$executeRoutes$6(ScalatraBase.scala:181)
scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
org.scalatra.ScalatraBase.cradleHalt(ScalatraBase.scala:201)
org.scalatra.ScalatraBase.executeRoutes(ScalatraBase.scala:181)
org.scalatra.ScalatraBase.executeRoutes$(ScalatraBase.scala:150)
gitbucket.core.controller.ControllerBase.executeRoutes(ControllerBase.scala:36)
org.scalatra.ScalatraBase.$anonfun$handle$1(ScalatraBase.scala:123)
scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
org.scalatra.DynamicScope.withResponse(DynamicScope.scala:75)
org.scalatra.DynamicScope.withResponse$(DynamicScope.scala:73)
gitbucket.core.controller.ControllerBase.withResponse(ControllerBase.scala:36)
org.scalatra.DynamicScope.$anonfun$withRequestResponse$1(DynamicScope.scala:55)
scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
org.scalatra.DynamicScope.withRequest(DynamicScope.scala:66)
org.scalatra.DynamicScope.withRequest$(DynamicScope.scala:64)
gitbucket.core.controller.ControllerBase.withRequest(ControllerBase.scala:36)
org.scalatra.DynamicScope.withRequestResponse(DynamicScope.scala:54)
org.scalatra.DynamicScope.withRequestResponse$(DynamicScope.scala:52)
gitbucket.core.controller.ControllerBase.withRequestResponse(ControllerBase.scala:36)
org.scalatra.ScalatraBase.handle(ScalatraBase.scala:123)
org.scalatra.ScalatraBase.handle$(ScalatraBase.scala:119)
gitbucket.core.controller.ControllerBase.org$scalatra$servlet$ServletBase$super$handle(ControllerBase.scala:36)
org.scalatra.servlet.ServletBase.handle(ServletBase.scala:43)
org.scalatra.servlet.ServletBase.handle$(ServletBase.scala:36)
gitbucket.core.controller.ControllerBase.org$scalatra$FlashMapSupport$super$handle(ControllerBase.scala:36)
org.scalatra.FlashMapSupport.$anonfun$handle$1(FlashMap.scala:177)
scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
org.scalatra.DynamicScope.withRequest(DynamicScope.scala:66)
org.scalatra.DynamicScope.withRequest$(DynamicScope.scala:64)
gitbucket.core.controller.ControllerBase.withRequest(ControllerBase.scala:36)
org.scalatra.FlashMapSupport.handle(FlashMap.scala:152)
org.scalatra.FlashMapSupport.handle$(FlashMap.scala:151)
gitbucket.core.controller.ControllerBase.handle(ControllerBase.scala:36)
org.scalatra.ScalatraFilter.$anonfun$doFilter$1(ScalatraFilter.scala:41)
scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
org.scalatra.ScalatraFilter.doFilter(ScalatraFilter.scala:41)
org.scalatra.ScalatraFilter.doFilter$(ScalatraFilter.scala:36)
gitbucket.core.controller.ControllerBase.doFilter(ControllerBase.scala:74)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
gitbucket.core.servlet.TransactionFilter.$anonfun$doFilter$1(TransactionFilter.scala:39)
gitbucket.core.servlet.TransactionFilter.$anonfun$doFilter$1$adapted(TransactionFilter.scala:30)
com.github.takezoe.slick.blocking.BlockingJdbcProfile$BlockingAPI$BlockingDatabase.$anonfun$withTransaction$2(BlockingProfile.scala:207)
slick.JdbcProfileBlockingSession$BlockingSession.withTransaction(TransactionalJdbcBackend.scala:26)
com.github.takezoe.slick.blocking.BlockingJdbcProfile$BlockingAPI$BlockingDatabase.$anonfun$withTransaction$1(BlockingProfile.scala:207)
com.github.takezoe.slick.blocking.BlockingJdbcProfile$BlockingAPI$BlockingDatabase.withSession(BlockingProfile.scala:200)
com.github.takezoe.slick.blocking.BlockingJdbcProfile$BlockingAPI$BlockingDatabase.withTransaction(BlockingProfile.scala:207)
gitbucket.core.servlet.TransactionFilter.doFilter(TransactionFilter.scala:30)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
psiprobe.Tomcat90AgentValve.invoke(Tomcat90AgentValve.java:35)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:432)
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.base/java.lang.Thread.run(Thread.java:832)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging a pull request may close this issue.

2 participants