cybergarage / cybergarage-upnp

cybergarage-upnp is a development package for UPnP™ developers. cybergarage-upnp controls these protocols automatically, and supports to create your devices and control points quickly.
http://www.cybergarage.org/
BSD 3-Clause "New" or "Revised" License
382 stars 145 forks source link

FATAL EXCEPTION after WiFi OFF/ON operate ,then turn OFF/ON DLNA device #19

Open kolyneh opened 8 years ago

kolyneh commented 8 years ago

Here is my step:

  1. Start search will do this --> controlpoint.addDevicesChangeListenner(),controlpoint.start() controlpoint.search();
  2. WiFi Turn OFF then turn ON will do this -->controlpoint.stop(),controlpoint.start() controlpoint.search(); 3.Then in the same WiFi environment , turn OFF/ON my DLNA device by turns, few times later it crash like the bellow logs:

E/AndroidRuntime: FATAL EXCEPTION: Cyber.SSDPNotifySocket/fe80::3abc:1aff:fef4:b81c%wlan0:1900 -> ff02::c:1900 Process: com.jingxun.upai, PID: 1122 java.lang.ArrayIndexOutOfBoundsException: length=3; index=3 at java.util.Vector.arrayIndexOutOfBoundsException(Vector.java:907) at java.util.Vector.elementAt(Vector.java:328) at java.util.Vector.get(Vector.java:442) at org.cybergarage.xml.NodeList.getNode(NodeList.java:28) at org.cybergarage.upnp.ControlPoint.getDevice(ControlPoint.java:307) at org.cybergarage.upnp.ControlPoint.removeDevice(ControlPoint.java:347) at org.cybergarage.upnp.ControlPoint.removeDevice(ControlPoint.java:357) at org.cybergarage.upnp.ControlPoint.notifyReceived(ControlPoint.java:509) at org.cybergarage.upnp.ssdp.SSDPNotifySocket.run(SSDPNotifySocket.java:138) at java.lang.Thread.run(Thread.java:818)

gopalmudaliar commented 5 years ago

I also got this exception from the field. Do we have proper fix added for this ?

Fatal Exception: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 26 at java.util.Vector.get(Vector.java:748) at org.cybergarage.xml.NodeList.getNode(NodeList.java:28) at org.cybergarage.upnp.ControlPoint.getDevice(ControlPoint.java:320) at org.cybergarage.upnp.ControlPoint.addDevice(ControlPoint.java:252) at org.cybergarage.upnp.ControlPoint.searchResponseReceived(ControlPoint.java:535) at org.cybergarage.upnp.ssdp.SSDPSearchResponseSocket.run(SSDPSearchResponseSocket.java:80) at java.lang.Thread.run(Thread.java:764)