Skip to content

NullPointerException in JmsException [SPR-5402] #10075

Closed
@spring-projects-issues

Description

@spring-projects-issues

Wim Deblauwe opened SPR-5402 and commented

I saw a NullPointerException in the logs of my tomcat (started using maven cargo):

[INFO] [talledLocalContainer] java.lang.NullPointerException
[INFO] [talledLocalContainer] 	at java.lang.String.indexOf(String.java:1734)
[INFO] [talledLocalContainer] 	at java.lang.String.indexOf(String.java:1716)
[INFO] [talledLocalContainer] 	at org.springframework.jms.JmsException.getMessage(JmsException.java:87)
[INFO] [talledLocalContainer] 	at java.lang.Throwable.getLocalizedMessage(Throwable.java:267)
[INFO] [talledLocalContainer] 	at java.lang.Throwable.toString(Throwable.java:343)
[INFO] [talledLocalContainer] 	at java.lang.String.valueOf(String.java:2827)
[INFO] [talledLocalContainer] 	at java.io.PrintWriter.println(PrintWriter.java:710)
[INFO] [talledLocalContainer] 	at java.lang.Throwable.printStackTrace(Throwable.java:509)
[INFO] [talledLocalContainer] 	at org.apache.log4j.spi.ThrowableInformation.getThrowableStrRep(ThrowableInformation.java:76)
[INFO] [talledLocalContainer] 	at org.apache.log4j.spi.LoggingEvent.getThrowableStrRep(LoggingEvent.java:407)
[INFO] [talledLocalContainer] 	at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:305)
[INFO] [talledLocalContainer] 	at org.apache.log4j.WriterAppender.append(WriterAppender.java:160)
[INFO] [talledLocalContainer] 	at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
[INFO] [talledLocalContainer] 	at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
[INFO] [talledLocalContainer] 	at org.apache.log4j.Category.callAppenders(Category.java:206)
[INFO] [talledLocalContainer] 	at org.apache.log4j.Category.forcedLog(Category.java:391)
[INFO] [talledLocalContainer] 	at org.apache.log4j.Category.error(Category.java:322)

The problem can be seen by looking at the code of JmsMessage.java:

public String getMessage() {
     String message = super.getMessage();
     Throwable cause = getCause();
     if (cause instanceof JMSException) {
          Exception linkedEx = ((JMSException) cause).getLinkedException();
          if (linkedEx != null && cause.getMessage().indexOf(linkedEx.getMessage()) == -1) {
               message = message + "; nested exception is " + linkedEx;
          }
     }
     return message;
}

The line that does the indexOf() can give a NPE if linkedEx.getMessage() returns null


Affects: 2.5.6

Issue Links:

Metadata

Metadata

Assignees

Labels

in: messagingIssues in messaging modules (jms, messaging)status: duplicateA duplicate of another issue

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions