Uploaded image for project: 'OptaPlanner'
  1. OptaPlanner
  2. PLANNER-2925

Benchmark aggregator uncaught exception when problemStatisticType STEP_SCORE used

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • None
    • 9.38.0.Final
    • optaplanner-benchmark
    • None
    • 3
    • Hide

      1. Run benchmark aggregator GUI with the benchmark report provided

      Show
      1. Run benchmark aggregator GUI with the benchmark report provided
    • NEW
    • NEW

    Description

      Uncaught exception in BenchmarkAggregator when previously generated report was using problem statistic of type STEP_SCORE:

      INFO: No default constructor found on class org.optaplanner.benchmark.impl.statistic.stepscore.StepScoreProblemStatistic
      java.lang.NoSuchMethodException: org.optaplanner.benchmark.impl.statistic.stepscore.StepScoreProblemStatistic.<init>()
          at java.base/java.lang.Class.getConstructor0(Class.java:3585)
          at java.base/java.lang.Class.getDeclaredConstructor(Class.java:2754)
          at com.sun.xml.bind.v2.ClassFactory.tryGetDeclaredConstructor(ClassFactory.java:107)
          at com.sun.xml.bind.v2.ClassFactory.create0(ClassFactory.java:76)
          at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.createInstance(ClassBeanInfoImpl.java:254)
          at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.createInstance(UnmarshallingContext.java:671)
          at com.sun.xml.bind.v2.runtime.unmarshaller.StructureLoader.startElement(StructureLoader.java:158)
          at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:546)
          at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:525)
          at com.sun.xml.bind.v2.runtime.unmarshaller.InterningXmlVisitor.startElement(InterningXmlVisitor.java:45)
          at com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:137)
          at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:214)
          at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:251)
          at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:220)
          at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:251)
          at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:220)
          at com.sun.xml.bind.unmarshaller.DOMScanner.scan(DOMScanner.java:97)
          at com.sun.xml.bind.unmarshaller.DOMScanner.scan(DOMScanner.java:80)
          at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:341)
          at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:322)
          at org.optaplanner.core.impl.io.jaxb.GenericJaxbIO.readOverridingNamespace(GenericJaxbIO.java:200)
          at org.optaplanner.core.impl.io.jaxb.GenericJaxbIO.readOverridingNamespace(GenericJaxbIO.java:184)
          at org.optaplanner.benchmark.impl.result.BenchmarkResultIO.read(BenchmarkResultIO.java:93)
          at org.optaplanner.benchmark.impl.result.BenchmarkResultIO.readPlannerBenchmarkResult(BenchmarkResultIO.java:75)
          at org.optaplanner.benchmark.impl.result.BenchmarkResultIO.readPlannerBenchmarkResultList(BenchmarkResultIO.java:61)
          at org.optaplanner.benchmark.impl.aggregator.swingui.BenchmarkAggregatorFrame.initPlannerBenchmarkResultList(BenchmarkAggregatorFrame.java:241)
          at org.optaplanner.benchmark.impl.aggregator.swingui.BenchmarkAggregatorFrame.init(BenchmarkAggregatorFrame.java:140)
          at org.optaplanner.benchmark.impl.aggregator.swingui.BenchmarkAggregatorFrame.createAndDisplay(BenchmarkAggregatorFrame.java:109)
          at org.optaplanner.benchmark.impl.aggregator.swingui.BenchmarkAggregatorFrame.createAndDisplayFromXmlResource(BenchmarkAggregatorFrame.java:74)
          at org.optaplanner.examples.common.app.CommonBenchmarkApp.buildAndBenchmark(CommonBenchmarkApp.java:66)
          at org.optaplanner.examples.app.GeneralOptaPlannerBenchmarkApp.main(GeneralOptaPlannerBenchmarkApp.java:8)

      Default constructor for JAXB is missing for StepScoreProblemStatistic, but also there is something wrong with serialization of FileProblemProvider.problemFile, which is null in this case and the reports cannot be aggregated

      The linked ticket was kinda similar, but it looks like the default constructor fix won't be enough in this case

      Attachments

        Issue Links

          Activity

            People

              lpetrovi@redhat.com Lukáš Petrovický (Inactive)
              michal.dudkiewicz Michał Dudkiewicz (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: