ctf: fix npe in size() if trace is not inited
authorMatthew Khouzam <matthew.khouzam@ericsson.com>
Thu, 14 Jul 2016 22:10:35 +0000 (18:10 -0400)
committerMatthew Khouzam <matthew.khouzam@ericsson.com>
Mon, 18 Jul 2016 20:20:16 +0000 (16:20 -0400)
This is a race condition that can appear when bulk openning 5-6
ctf traces at onces.

Change-Id: I8f64d373674e6b1b925a43e607763c518f866ccb
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/77361
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
ctf/org.eclipse.tracecompass.tmf.ctf.core/src/org/eclipse/tracecompass/tmf/ctf/core/trace/CtfTmfTrace.java

index d06abe13d23953327414049865d06767403025a8..22211160ad4385f1a334432495e714b89090ac48 100644 (file)
@@ -720,10 +720,13 @@ public class CtfTmfTrace extends TmfTrace
     @Override
     public int size() {
         long size = 0;
-        Iterable<ICTFStream> streams = fTrace.getStreams();
-        for (ICTFStream stream : streams) {
-            for (CTFStreamInput si : stream.getStreamInputs()) {
-                size += si.getFile().length();
+        CTFTrace trace = fTrace;
+        if (trace != null) {
+            Iterable<ICTFStream> streams = trace.getStreams();
+            for (ICTFStream stream : streams) {
+                for (CTFStreamInput si : stream.getStreamInputs()) {
+                    size += si.getFile().length();
+                }
             }
         }
         return (int) (size / REDUCTION_FACTOR / CTF_AVG_EVENT_SIZE);
This page took 0.025806 seconds and 5 git commands to generate.