Webview throwing outside range message under the log

Document ID : KB000042611
Last Modified Date : 29/06/2018
Show Technical Document Details
Issue:

[ERROR] [WebView] ListenerTracker.sendEventToOneListener threw delivering: AListenerEvent: serial: 5727762 classID: 3001 id: 4007 to: com.wily.introscope.util.subscription.JournaledSubscriptionSetFilterAdapter$IncomingEventAdapter@3ca00d84
java.lang.IllegalArgumentException: source index of -1 is outside the range [0,10)
    at com.wily.util.adt.BidirectionalIntMapping.setMapping(BidirectionalIntMapping.java:288)
    at com.wily.introscope.util.subscription.ASubscriptionSetSorter.setMapping(ASubscriptionSetSorter.java:276)
    at com.wily.introscope.util.subscription.filter.DataValueSubscriptionSetSorter.setMapping(DataValueSubscriptionSetSorter.java:306)
    at com.wily.introscope.util.subscription.filter.DataValueSubscriptionSetSorter$DataModelList.set(DataValueSubscriptionSetSorter.java:409)
    at java.util.AbstractList$ListItr.set(AbstractList.java:426)
    at java.util.List.sort(List.java:482)
    at java.util.Collections.sort(Collections.java:141)
    at com.wily.introscope.util.subscription.filter.DataValueSubscriptionSetSorter.sort(DataValueSubscriptionSetSorter.java:194)
    at com.wily.introscope.util.subscription.filter.DataValueSubscriptionSetSorter.noticeQuantumChanged(DataValueSubscriptionSetSorter.java:184)
    at com.wily.introscope.util.subscription.ASubscriptionSetSorter.ISubscriptionSetDataModelListener_quantumChanged(ASubscriptionSetSorter.java:166)
    at com.wily.introscope.util.subscription.JournaledSubscriptionSetFilterAdapter$IncomingEventAdapter.IJournaledSubscriptionSetDataModelEventListener_quantumChanged(JournaledSubscriptionSetFilterAdapter.java:623)
    at com.wily.introscope.util.subscription.AJournaledSubscriptionSetDataModelEventListener.handleEvent(AJournaledSubscriptionSetDataModelEventListener.java:45)
    at com.wily.util.event.ListenerTracker.sendEventToOneListener(ListenerTracker.java:166)
    at com.wily.util.event.EventPump.immediateDeliverEventIfListenerNotDead(EventPump.java:171)
    at com.wily.util.event.EventPump.immediateDeliverBroadcastEventAsync(EventPump.java:142)
    at com.wily.util.event.EventPump.access$2(EventPump.java:136)
    at com.wily.util.event.EventPump$Posting.deliver(EventPump.java:545)
    at com.wily.util.event.EventPump$EventPumpThread.run(EventPump.java:807)

Environment:
Introscope from 9.7x onwards until 10x
Cause:
The main reason for this issue is due to the non-availability of index when data model is delayed (This could be due to the time laps, GWT RPC response delay etc.). In non-availability of index we ca not use viewToDataModel. This is one of the statement in get(int Index) method in DataValueSubscriptionSetSorter class. This is the basic class which is used everywhere.
 
Resolution:
This issue is in the radar of development but no roadmap so far.
 
Additional Information:
- This error above does not bring any lack of functionality
- This can be solved by returning silently in BidirectionalIntMapping if index is -1, like
 
If (index == -1)
{
                Return;
}
 
But the reason why this was not solved since many release’s is due to the complication in the area of code as this is the base class which is used everywhere and changing this code needs a lot of regression.