[jboss-jira] [JBoss JIRA] (DROOLS-673) NPE because ConsequenceMetaData.toString is not null-safe

george thomas (JIRA) issues at jboss.org
Mon Dec 29 14:52:30 EST 2014


     [ https://issues.jboss.org/browse/DROOLS-673?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

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/main/java/org/drools/core/rule/ConsequenceMetaData.java#L34].

  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/main/java/org/drools/core/rule/ConsequenceMetaData.java#L34].



> 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/main/java/org/drools/core/rule/ConsequenceMetaData.java#L34].



--
This message was sent by Atlassian JIRA
(v6.3.11#6341)


More information about the jboss-jira mailing list