You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Sheng Yang (JIRA)" <ji...@apache.org> on 2013/05/03 03:35:13 UTC

[jira] [Created] (CLOUDSTACK-2315) Unable to shutdown network

Sheng Yang created CLOUDSTACK-2315:
--------------------------------------

             Summary: Unable to shutdown network
                 Key: CLOUDSTACK-2315
                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-2315
             Project: CloudStack
          Issue Type: Bug
      Security Level: Public (Anyone can view this level - this is the default.)
    Affects Versions: 4.2.0
            Reporter: Sheng Yang
            Assignee: Harikrishna Patnala
            Priority: Blocker
             Fix For: 4.2.0


NPE got when network is being GCed:

2013-05-02 18:27:41,069 DEBUG [cloud.network.NetworkManagerImpl] (Network-Scavenger-1:null) Sending network shutdown to 
JuniperSRX
2013-05-02 18:27:41,079 WARN  [cloud.network.NetworkManagerImpl] (Network-Scavenger-1:null) Unable to complete shutdown 
of the network elements due to element: JuniperSRX
java.lang.NullPointerException
        at com.cloud.network.NetworkModelImpl.getNetworkRate(NetworkModelImpl.java:929)
        at com.cloud.network.ExternalFirewallDeviceManagerImpl.manageGuestNetworkWithExternalFirewall(ExternalFirewallDe
viceManagerImpl.java:460)
        at com.cloud.network.element.JuniperSRXExternalFirewallElement.shutdown(JuniperSRXExternalFirewallElement.java:172)
        at com.cloud.network.NetworkManagerImpl.shutdownNetworkElementsAndResources(NetworkManagerImpl.java:2248)
        at com.cloud.network.NetworkManagerImpl.shutdownNetwork(NetworkManagerImpl.java:2178)
        at com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
        at com.cloud.network.NetworkManagerImpl$NetworkGarbageCollector.run(NetworkManagerImpl.java:2510)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        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:722)

It's caused by:

2013-05-02 18:27:41,069 DEBUG [cloud.network.NetworkManagerImpl] (Network-Scavenger-1:null) Sending network shutdown to 
JuniperSRX
2013-05-02 18:27:41,079 WARN  [cloud.network.NetworkManagerImpl] (Network-Scavenger-1:null) Unable to complete shutdown 
of the network elements due to element: JuniperSRX
java.lang.NullPointerException
        at com.cloud.network.NetworkModelImpl.getNetworkRate(NetworkModelImpl.java:929)
        at com.cloud.network.ExternalFirewallDeviceManagerImpl.manageGuestNetworkWithExternalFirewall(ExternalFirewallDe
viceManagerImpl.java:460)
        at com.cloud.network.element.JuniperSRXExternalFirewallElement.shutdown(JuniperSRXExternalFirewallElement.java:172)
        at com.cloud.network.NetworkManagerImpl.shutdownNetworkElementsAndResources(NetworkManagerImpl.java:2248)
        at com.cloud.network.NetworkManagerImpl.shutdownNetwork(NetworkManagerImpl.java:2178)
        at com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
        at com.cloud.network.NetworkManagerImpl$NetworkGarbageCollector.run(NetworkManagerImpl.java:2510)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        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:722)

The reason is, this commit add this:

@@ -921,9 +924,9 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel {
             }
         }
         if (isUserVmsDefaultNetwork || isDomRGuestOrPublicNetwork) {
-            return _configMgr.getServiceOfferingNetworkRate(vm.getServiceOfferingId());
+            return _configMgr.getServiceOfferingNetworkRate(vm.getServiceOfferingId(), vm.getDataCenterId());
         } else {
-            return _configMgr.getNetworkOfferingNetworkRate(ntwkOff.getId());
+            return _configMgr.getNetworkOfferingNetworkRate(ntwkOff.getId(), vm.getDataCenterId());
         }
     }


And when you see the code, in the "else" statement, vm can be null, which would result in NPE. Then network cannot be shut down.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira