From cdf605b2cd7ccbe40b42810f8aaacb90535496db Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Tue, 25 Feb 2014 11:47:51 -0800 Subject: [PATCH] NDC.pop() can return empty string, this causes a loop spinning in CallContext.UnregisterAll(). --- api/src/org/apache/cloudstack/context/CallContext.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/src/org/apache/cloudstack/context/CallContext.java b/api/src/org/apache/cloudstack/context/CallContext.java index f80b921d9c7..22ea55fd869 100644 --- a/api/src/org/apache/cloudstack/context/CallContext.java +++ b/api/src/org/apache/cloudstack/context/CallContext.java @@ -239,7 +239,7 @@ public class CallContext { String sessionIdOnStack = null; String sessionIdPushedToNDC = "ctx-" + UuidUtils.first(contextId); while ((sessionIdOnStack = NDC.pop()) != null) { - if (sessionIdPushedToNDC.equals(sessionIdOnStack)) { + if (sessionIdOnStack.isEmpty() || sessionIdPushedToNDC.equals(sessionIdOnStack)) { break; } if (s_logger.isTraceEnabled()) {