Uploaded image for project: 'Red Hat Decision Manager'
  1. Red Hat Decision Manager
  2. RHDM-2028

Deadlock between KieRepositoryImpl.kieModuleRepo and KieScannerHolder.kieScanner

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 7.11.1.GA, 7.13.5.GA
    • BRE
    • None
    • 3
    • False
    • None
    • False

      Upstream GH issue: https://github.com/apache/incubator-kie-drools/issues/5974

      With multithread builds, there is a risk of deadlock between KieRepositoryImpl.kieModuleRepo and KieScannerHolder.kieScanner:

      "Thread-A":
              at org.kie.scanner.KieRepositoryScannerImpl.getArtifactVersion(KieRepositoryScannerImpl.java:121)
              - waiting to lock <0x0000000711e6db08> (a org.kie.scanner.KieRepositoryScannerImpl)
              at org.drools.compiler.kie.builder.impl.KieRepositoryImpl$KieModuleRepo.load(KieRepositoryImpl.java:442)
              - locked <0x000000070287ac40> (a org.drools.compiler.kie.builder.impl.KieRepositoryImpl$KieModuleRepo)
              at org.drools.compiler.kie.builder.impl.KieRepositoryImpl$KieModuleRepo.load(KieRepositoryImpl.java:426)
              - locked <0x000000070287ac40> (a org.drools.compiler.kie.builder.impl.KieRepositoryImpl$KieModuleRepo)
              at org.drools.compiler.kie.builder.impl.KieRepositoryImpl.getKieModule(KieRepositoryImpl.java:128) // KieScannerHolder.kieScanner is used
      
              at org.drools.compiler.kie.builder.impl.KieBuilderImpl.init(KieBuilderImpl.java:170)
              at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:218)
              at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:214)
              at org.kie.workbench.common.services.backend.builder.core.Builder.build(Builder.java:213)
              ...
      
      "Thread-B":
              at org.drools.compiler.kie.builder.impl.KieRepositoryImpl$KieModuleRepo.load(KieRepositoryImpl.java:426)
              - waiting to lock <0x000000070287ac40> (a org.drools.compiler.kie.builder.impl.KieRepositoryImpl$KieModuleRepo)
              at org.drools.compiler.kie.builder.impl.KieRepositoryImpl.getKieModule(KieRepositoryImpl.java:128)
              at org.drools.compiler.kie.builder.impl.KieRepositoryImpl.getKieModule(KieRepositoryImpl.java:115)
              at org.kie.scanner.KieRepositoryScannerImpl.addDependencies(KieRepositoryScannerImpl.java:151)
              at org.kie.scanner.KieRepositoryScannerImpl.buildArtifact(KieRepositoryScannerImpl.java:144)
              at org.kie.scanner.KieRepositoryScannerImpl.loadArtifact(KieRepositoryScannerImpl.java:117)
              at org.kie.scanner.KieRepositoryScannerImpl.loadArtifact(KieRepositoryScannerImpl.java:112)
              - locked <0x0000000711e6db08> (a org.kie.scanner.KieRepositoryScannerImpl)
              at org.drools.compiler.kie.builder.impl.KieRepositoryImpl.loadKieModuleFromMavenRepo(KieRepositoryImpl.java:192) // KieScannerHolder.kieScanner is used
              at org.drools.compiler.kie.builder.impl.KieRepositoryImpl.getKieModule(KieRepositoryImpl.java:138)
      
              at org.drools.compiler.kie.builder.impl.KieBuilderImpl.init(KieBuilderImpl.java:170)
              at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:218)
              at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:214)
      

              rhn-support-tkobayas Toshiya Kobayashi
              rhn-support-tkobayas Toshiya Kobayashi
              Daniel Rosa Daniel Rosa
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: