RestComm / Restcomm-Connect

The Open Source Cloud Communications Platform
http://www.restcomm.com/
GNU Affero General Public License v3.0
242 stars 215 forks source link

NPE in CallManager #1897

Closed maria-farooq closed 7 years ago

maria-farooq commented 7 years ago

We are observing this continuous NPE in CallManager.

As per my investigation: We get an SIP-INVITE in CallManger,

and NPE is at line here, exception traces back to onReceive and CallManager restarts and Repeat

08:42:01,696 DEBUG [org.restcomm.connect.telephony.CallManager] (RestComm-akka.actor.default-dispatcher-11593) ######### CallManager new message received, message instanceof : class org.mobicents.servlet.sip.message.Servlet3SipServletRequestImpl from sender : class akka.actor.DeadLetterActorRef
08:42:01,696 ERROR [org.restcomm.connect.telephony.CallManager] (RestComm-akka.actor.default-dispatcher-11593) null: java.lang.NullPointerException
    at java.lang.String.<init>(String.java:556) [rt.jar:1.7.0_80]
    at org.restcomm.connect.telephony.CallManager.check(CallManager.java:334) [restcomm-connect.telephony-8.1.0.1161.jar:8.1.0.1161]
    at org.restcomm.connect.telephony.CallManager.onReceive(CallManager.java:1069) [restcomm-connect.telephony-8.1.0.1161.jar:8.1.0.1161]
    at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:159) [akka-actor_2.10-2.1.2.jar:]
    at akka.actor.ActorCell.receiveMessage(ActorCell.scala:425) [akka-actor_2.10-2.1.2.jar:]
    at akka.actor.ActorCell.invoke(ActorCell.scala:386) [akka-actor_2.10-2.1.2.jar:]
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:230) [akka-actor_2.10-2.1.2.jar:]
    at akka.dispatch.Mailbox.run(Mailbox.scala:212) [akka-actor_2.10-2.1.2.jar:]
    at akka.dispatch.ForkJoinExecutorConfigurator$MailboxExecutionTask.exec(AbstractDispatcher.scala:506) [akka-actor_2.10-2.1.2.jar:]
    at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:262) [scala-library-2.10.1.jar:]
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:975) [scala-library-2.10.1.jar:]
    at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1478) [scala-library-2.10.1.jar:]
    at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104) [scala-library-2.10.1.jar:]
08:42:01,699 INFO  [org.restcomm.connect.telephony.CallManager] (RestComm-akka.actor.default-dispatcher-11593) CallManager extensions: 1

this method check should be protected by try/catch.. https://telestax.zendesk.com/agent/tickets/33985

maria-farooq commented 7 years ago

i can possibly take it next sprint since this is coming again. even thought now we have fault tolerance we should still handle it gracefully within callmanager's effected area

maria-farooq commented 7 years ago

https://telestax.atlassian.net/browse/RESTCOMM-823

maria-farooq commented 7 years ago

Fresh entry is here

13:52:01,064 ERROR [org.restcomm.connect.telephony.CallManager] (RestComm-akka.actor.default-dispatcher-521) null: java.lang.NullPointerException
    at java.lang.String.<init>(String.java:556) [rt.jar:1.7.0_80]
    at org.restcomm.connect.telephony.CallManager.check(CallManager.java:357) [restcomm-connect.telephony-8.1.0.1185.jar:8.1.0.1185]
    at org.restcomm.connect.telephony.CallManager.onReceive(CallManager.java:1092) [restcomm-connect.telephony-8.1.0.1185.jar:8.1.0.1185]
    at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:159) [akka-actor_2.10-2.1.2.jar:]
    at akka.actor.ActorCell.receiveMessage(ActorCell.scala:425) [akka-actor_2.10-2.1.2.jar:]
    at akka.actor.ActorCell.invoke(ActorCell.scala:386) [akka-actor_2.10-2.1.2.jar:]
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:230) [akka-actor_2.10-2.1.2.jar:]
    at akka.dispatch.Mailbox.run(Mailbox.scala:212) [akka-actor_2.10-2.1.2.jar:]
    at akka.dispatch.ForkJoinExecutorConfigurator$MailboxExecutionTask.exec(AbstractDispatcher.scala:506) [akka-actor_2.10-2.1.2.jar:]
    at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:262) [scala-library-2.10.1.jar:]
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:975) [scala-library-2.10.1.jar:]
    at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1478) [scala-library-2.10.1.jar:]
    at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104) [scala-library-2.10.1.jar:]
13:52:01,068 ERROR [org.restcomm.connect.commons.faulttolerance.RestcommSupervisor] (RestComm-akka.actor.default-dispatcher-521) Handling exception java.lang.NullPointerException will resume
deruelle commented 7 years ago

Why is the request null in the first place ?

maria-farooq commented 7 years ago

right, will investigate on that

maria-farooq commented 7 years ago

George fixed it