fix potential bug - null pointer exception 60/27560/1
authorjungwook.ryu <jungwook.ryu@samsung.com>
Tue, 16 Sep 2014 06:36:51 +0000 (15:36 +0900)
committerjungwook.ryu <jungwook.ryu@samsung.com>
Tue, 16 Sep 2014 06:37:45 +0000 (15:37 +0900)
Change-Id: Id0405526bfe51beabd7af4c1e4a295a557026d7a
Signed-off-by: jungwook.ryu <jungwook.ryu@samsung.com>
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/screenshot/SocketClient.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUChart.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/HeapChart.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartManager.java

index faa18e1..e9a5270 100644 (file)
@@ -46,7 +46,7 @@ import org.tizen.dynamicanalyzer.util.Logger;
 
 
 public class SocketClient {
-       private static SocketClient client;
+       private static SocketClient client = null;
 
        private Socket socket;
        private String ip = SocketConstants.DefaultIp;
@@ -69,7 +69,7 @@ public class SocketClient {
 
        private boolean running = false;
 
-       public static SocketClient getInstance() {
+       public static synchronized SocketClient getInstance() {
                if (null == client) {
                        client = new SocketClient();
                }
index 868e7a1..10f2fe0 100644 (file)
@@ -205,8 +205,10 @@ public class CPUChart extends TimelineChart {
                                                                        ColorResources.SERIES_COLOR_CPU_SYSTEM);
                                                        newSeries.addSeriesItem(new DAChartSeriesItem(time, load, Formatter
                                                                        .toPercentageFormat(load)));
-                                                       processItem.getChart().addSeries(newSeries);
-                                                       childSeriesMap.put(pid, newSeries);
+                                                       if (processItem != null) {
+                                                               processItem.getChart().addSeries(newSeries);
+                                                               childSeriesMap.put(pid, newSeries);
+                                                       }
                                                }
                                        } else {
                                                series.addSeriesItem(new DAChartSeriesItem(time, load, Formatter
index 6d9f708..995a763 100644 (file)
@@ -94,14 +94,16 @@ public class HeapChart extends TimelineChart {
                                .getBinarySettingList();
                ProcessMemoryMap pmap = project.getProcessInformation(pid).getProcessMemoryMap(
                                ToolbarArea.getInstance().getTime());
-               for (BinarySettingData binData : binDataList) {
-                       String libraryPath = binData.getBinaryPath();
-                       BinaryInfo binInfo = project.getDeviceStatusInfo().getBinaryInfo(libraryPath);
-                       LibraryObject libObj = pmap.getLibraryByBinaryID(binInfo.getID());
-                       if (null != libObj) {
-                               DAChartSeries libraryAllocSeries = new DAChartSeries(libraryPath,
-                                               DAChartSeries.SERIES_STYLE_AREA);
-                               chartSeriesMap.put(libraryPath, libraryAllocSeries);
+               if (pmap != null) {
+                       for (BinarySettingData binData : binDataList) {
+                               String libraryPath = binData.getBinaryPath();
+                               BinaryInfo binInfo = project.getDeviceStatusInfo().getBinaryInfo(libraryPath);
+                               LibraryObject libObj = pmap.getLibraryByBinaryID(binInfo.getID());
+                               if (null != libObj) {
+                                       DAChartSeries libraryAllocSeries = new DAChartSeries(libraryPath,
+                                                       DAChartSeries.SERIES_STYLE_AREA);
+                                       chartSeriesMap.put(libraryPath, libraryAllocSeries);
+                               }
                        }
                }
                /*
index 3d5cf5a..69fa4b7 100644 (file)
@@ -363,11 +363,13 @@ public class TimelineChartManager extends PageDataManager implements IDAChartSer
                                Project project = AnalyzerManager.getProject();
                                ProcessMemoryMap pmap = project.getProcessInformation(logData.getPid()).getProcessMemoryMap(
                                                logData.getTime());
-                               LibraryObject lib = pmap.getLibraryByAddress(logData.getCallerPcAddr());
-                               if (lib != pmap.getMainbinary()) {
-                                       BinaryInfo binfo = project.getDeviceStatusInfo().getBinaryInfo(lib.getBinaryID());
-                                       binaryPath = binfo.getTargetBinaryPath();
-                               } 
+                               if (pmap != null) {
+                                       LibraryObject lib = pmap.getLibraryByAddress(logData.getCallerPcAddr());
+                                       if (lib != null && lib != pmap.getMainbinary()) {
+                                               BinaryInfo binfo = project.getDeviceStatusInfo().getBinaryInfo(lib.getBinaryID());
+                                               binaryPath = binfo.getTargetBinaryPath();
+                                       }
+                               }
                                
                                if (errorNo == 0 && MEM_USER == internalFlag) {
                                        if (MEM_API_TYPE_ALLOC == memApiType || MEM_API_TYPE_FREE == memApiType) {