What steps will reproduce the problem?
1. Send multiple sms (or chunked sms) to a user to make these chunks to be
processed in parallel by TxSmmServerSbb.processSms(...).
What is the expected output? What do you see instead?
According to the code in TxSmmServerSbb.processSms(...) it looks like these
sms'es has to be passed for further processing serially, by using the same
ActivityContextInterface stored in ActivityContextNamingFacility.
However it doesn't happen or better say it doesn't happen all the time.
Sometimes I see that 2+ threads lookup in the ActivityContextNamingFacility for
the address, receive null and then bind new ActivityContextInterface and all of
them succeed!!! no NameAlreadyBoundException is thrown.
When this happens I often see this exception in the log:
23:36:02,345 WARN [ActivityContext] (pool-25-thread-1) failed to unbind name:
<address> from ac:ACH=NULL>-4ca4a7a9:14dadd37660:-7ff4
javax.slee.facilities.NameNotBoundException: name not bound
at org.mobicents.slee.runtime.facilities.ActivityContextNamingFacilityCacheData.unbindName(ActivityContextNamingFacilityCacheData.java:88)
at org.mobicents.slee.runtime.facilities.ActivityContextNamingFacilityImpl.removeName(ActivityContextNamingFacilityImpl.java:154)
at org.mobicents.slee.runtime.activity.ActivityContextImpl.removeNamingBindings(ActivityContextImpl.java:244)
at org.mobicents.slee.runtime.activity.ActivityContextImpl.activityEnded(ActivityContextImpl.java:574)
at org.mobicents.slee.runtime.event.ActivityEndEventUnreferencedCallback.eventUnreferenced(ActivityEndEventUnreferencedCallback.java:58)
at org.mobicents.slee.container.event.EventContextImpl.eventUnreferenced(EventContextImpl.java:225)
at org.mobicents.slee.container.event.EventReferencesHandlerImpl.remove(EventReferencesHandlerImpl.java:63)
at org.mobicents.slee.container.event.EventContextImpl.routed(EventContextImpl.java:260)
at org.mobicents.slee.runtime.eventrouter.routingtask.EventRoutingTaskImpl.routeQueuedEvent(EventRoutingTaskImpl.java:566)
at org.mobicents.slee.runtime.eventrouter.routingtask.EventRoutingTaskImpl.run(EventRoutingTaskImpl.java:126)
at org.mobicents.slee.runtime.eventrouter.EventRouterExecutorImpl$EventRoutingTaskStatsCollector.run(EventRouterExecutorImpl.java:73)
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:745)
Probably this exception is caused by the fact that one of the "bound"
ActivityContextInterface unbind the name registration successfully, and the
other ones, which supposed to fail on binding due to NameAlreadyBoundException,
fail to unbind themselves.
What version of the product are you using? On what operating system?
1.0.0-ALPHA, Linux (Ubuntu), JDK 1.7
Please provide any additional information below.
Original issue reported on code.google.com by kvr...@gmail.com on 1 Jun 2015 at 1:31
Original issue reported on code.google.com by
kvr...@gmail.com
on 1 Jun 2015 at 1:31