Status: New
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 2811 by [email protected]: IllegalStateException caused by NullPointerException
http://code.google.com/p/mobicents/issues/detail?id=2811

JAIN-SIP rev1962
Mobicents SIP Servlets 1.6-SNAPSHOT, rev18708

Seen in logs:

java.lang.IllegalStateException

at org.mobicents.servlet.sip.message.SipServletResponseImpl.send(SipServletResponseImpl.java:647) at org.mobicents.servlet.sip.message.SipServletResponseImpl.send(SipServletResponseImpl.java:458)
....
        at javax.servlet.sip.SipServlet.service(SipServlet.java:332)
....
at org.mobicents.servlet.sip.core.dispatchers.MessageDispatcher.callServlet(MessageDispatcher.java:248) at org.mobicents.servlet.sip.core.dispatchers.SubsequentRequestDispatcher$SubsequentDispatchTask.dispatch(SubsequentRequestDispatcher.java:501) at org.mobicents.servlet.sip.core.dispatchers.DispatchTask.dispatchAndHandleExceptions(DispatchTask.java:60) at org.mobicents.servlet.sip.core.dispatchers.SubsequentRequestDispatcher.dispatchMessage(SubsequentRequestDispatcher.java:313) at org.mobicents.servlet.sip.core.SipApplicationDispatcherImpl.processRequest(SipApplicationDispatcherImpl.java:706)
        at gov.nist.javax.sip.EventScanner.deliverEvent(EventScanner.java:230)
        at 
gov.nist.javax.sip.SipProviderImpl.handleEvent(SipProviderImpl.java:196)
        at 
gov.nist.javax.sip.DialogFilter.processRequest(DialogFilter.java:1298)
at gov.nist.javax.sip.stack.SIPServerTransaction.processRequest(SIPServerTransaction.java:863) at gov.nist.javax.sip.stack.TLSMessageChannel.processMessage(TLSMessageChannel.java:799) at gov.nist.javax.sip.parser.PipelinedMsgParser$Dispatch.run(PipelinedMsgParser.java:285) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
        at 
java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
        at gov.nist.javax.sip.stack.IOHandler.putSocket(IOHandler.java:106)
        at gov.nist.javax.sip.stack.IOHandler.sendBytes(IOHandler.java:593)
at gov.nist.javax.sip.stack.TLSMessageChannel.sendMessage(TLSMessageChannel.java:341) at gov.nist.javax.sip.stack.TLSMessageChannel.sendMessage(TLSMessageChannel.java:432) at gov.nist.javax.sip.stack.SIPServerTransaction.sendResponse(SIPServerTransaction.java:469) at gov.nist.javax.sip.stack.SIPServerTransaction.sendMessage(SIPServerTransaction.java:975) at gov.nist.javax.sip.stack.SIPServerTransaction.sendResponse(SIPServerTransaction.java:1553) at org.mobicents.servlet.sip.message.SipServletResponseImpl.send(SipServletResponseImpl.java:628)
        ... 24 more


Indeed, there is a conflict between using ConcurrentHashMap implementation and code like

                    if (clientSock == null) {
.....
                        putSocket(key, clientSock);

with attempt to put null value to ConcurrentHashMap

Reply via email to