[
https://issues.jboss.org/browse/DROOLS-673?page=com.atlassian.jira.plugin...
]
george thomas updated DROOLS-673:
---------------------------------
Description:
The {{toString()}} method in {{org.drools.core.rule.ConsequenceMetaData}} is not
null-safe. It assumes that the {{List}} {{statements}} contains at least one element.
This is a problem when the method gets invoked during the serialization-based deep clone
effected during initialization under certain conditions (see the "Reproduce"
section).
With this combination, code in {{java.io.ObjectOutputStream}} ends up invoking the
{{toString()}} method in order to print additional information in the stack trace for
{{java.io.NotSerializableException}}. I have attached a snippet of the stack trace as a
reference.
The code in question is unchanged even in the [latest version in
github|https://github.com/droolsjbpm/drools/blob/master/drools-core/src/m...].
was:
The {{toString()}} method in {{org.drools.core.rule.ConsequenceMetaData}} is not
null-safe. It assumes that the {{List}} {{statements}} contains at least one element.
This is a problem when the method gets invoked during the serialization-based deep clone
effected during initialization under certain conditions (see the "Reproduce"
section).
With this combination, code in {{java.io.ObjectOutputStream}} ends up invoking the
{{toString()}} method in order to print additional information in the stack trace for
{{java.io.NotSerializableException}}. I have attached a snippet of the stack trace as a
reference.
This is a problem even in the [latest version in
github|https://github.com/droolsjbpm/drools/blob/master/drools-core/src/m...].
NPE because ConsequenceMetaData.toString is not null-safe
---------------------------------------------------------
Key: DROOLS-673
URL:
https://issues.jboss.org/browse/DROOLS-673
Project: Drools
Issue Type: Bug
Affects Versions: 6.1.0.Final
Reporter: george thomas
Assignee: Mark Proctor
Priority: Minor
Attachments: ConsequenceMetaData.NPE.log
The {{toString()}} method in {{org.drools.core.rule.ConsequenceMetaData}} is not
null-safe. It assumes that the {{List}} {{statements}} contains at least one element.
This is a problem when the method gets invoked during the serialization-based deep clone
effected during initialization under certain conditions (see the "Reproduce"
section).
With this combination, code in {{java.io.ObjectOutputStream}} ends up invoking the
{{toString()}} method in order to print additional information in the stack trace for
{{java.io.NotSerializableException}}. I have attached a snippet of the stack trace as a
reference.
The code in question is unchanged even in the [latest version in
github|https://github.com/droolsjbpm/drools/blob/master/drools-core/src/m...].
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)