Uploaded image for project: 'Karaf'
  1. Karaf
  2. KARAF-2531

NPE in log:tail after a log:clear

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 2.3.3
    • Fix Version/s: 2.4.0, 3.0.0, 2.3.4
    • Component/s: None
    • Labels:
      None

      Description

      Get this sometimes when doing a log:tail after a log:clear:

      Exception in thread "pool-36-thread-1" java.lang.NullPointerException
      	at org.apache.karaf.shell.log.layout.PatternParser$DatePatternConverter.convert(PatternParser.java:428)
      	at org.apache.karaf.shell.log.layout.PatternConverter.format(PatternConverter.java:61)
      	at org.apache.karaf.shell.log.DisplayLog.display(DisplayLog.java:153)
      	at org.apache.karaf.shell.log.LogTail$PrintEventThread.run(LogTail.java:80)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:724)
      

      It requires a simple guard that we do elsewhere in the log commands:

      diff --git a/shell/log/src/main/java/org/apache/karaf/shell/log/LogTail.java b/shell/log/src/main/java/org/apache/karaf/shell/log/LogTail.java
      index 547c05d..4951984 100644
      --- a/shell/log/src/main/java/org/apache/karaf/shell/log/LogTail.java
      +++ b/shell/log/src/main/java/org/apache/karaf/shell/log/LogTail.java
      @@ -77,7 +77,9 @@ public class LogTail extends DisplayLog {
       
                   Iterable<PaxLoggingEvent> le = events.getElements(entries == 0 ? Integer.MAX_VALUE : entries);
                   for (PaxLoggingEvent event : le) {
      -                display(cnv, event, out);
      +                if (event != null) {
      +                    display(cnv, event, out);
      +                }
                   }
                   // Tail
                   final BlockingQueue<PaxLoggingEvent> queue = new LinkedBlockingQueue<PaxLoggingEvent>();
      
      

      I'll push the commit once I get my karma set up.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jbonofre Jean-Baptiste Onofré
                Reporter:
                janstey Jonathan Anstey
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: