Optaplanner核心转储@ ConditionEvaluator504f0cef2aeb46d49c660e07bfa907fd.evaluate

问题描述

我正在使用Spring Boot从Optaplanner Web应用程序获取核心转储,并显示以下消息:

============== DEBUG MESSAGE: illegal bytecode sequence - method not verified ================

#
# A Fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_PRIV_INSTRUCTION (0xc0000096) at pc=0x00000251502459dd,pid=15424,tid=0x0000000000004250
#
# JRE version: Java(TM) SE Runtime Environment (8.0_261-b12) (build 1.8.0_261-b12)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.261-b12 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# j  ConditionEvaluator504f0cef2aeb46d49c660e07bfa907fd.evaluate(Lorg/drools/core/common/InternalFactHandle;Lorg/drools/core/common/InternalWorkingMemory;Lorg/drools/core/spi/Tuple;)Z+9
#

It looks like something to do with class loading,but I tried removing spring-boot-devtools from the pom file and it didn't help.

我正在使用: Optaplanner版本:7.40.0.Final

Spring Boot:2.2.7.RELEASE

解决方法

尝试做mvn dependency:tree或找到另一种方法来列出类路径中的所有jar。

所有以optaplanner,drools和kie开头的依赖项/罐都应为同一版本(7.40.0。以您的情况为最终版本)。

,

仅当我在drl中使用某些规则解决NurseRostering类型的计划问题时,才发生崩溃。

此规则版本会导致崩溃:

rule "selfScheduleOnly"
    when
        $assignment : ShiftAssignmentO(                                     
            employee != null,$employee : employee,employee.isSelfScheduled(),$shift : shift)
        not $shiftOnRequest : ShiftRequestO(employee == $employee,shift == $shift )
    then
         scoreHolder.addHardConstraintMatch(kcontext,-1);                  
end

此版本不:

rule "selfScheduleOnly"
    when
        $employee : EmployeeO(isSelfScheduled())
        $assignment : ShiftAssignmentO(                                      
            $employee == employee,-1);                  
end

我回想起曾经读过,分数损坏可能是由于引用指向事实的属性而不是直接引用事实引起的,因此这是有道理的。我并没有尝试所有的组合,但是似乎只有在检查的属性是布尔值时才会发生。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...