eclipse / paho.mqtt.android

MQTT Android
Other
2.92k stars 882 forks source link

Getting ArrayIndexOutOfBoundsException #364

Open ashishdimi09 opened 5 years ago

ashishdimi09 commented 5 years ago

Hi,

I am facing an ArrayIndexOutOfBoundsException issue. Can you please help me to resolve this

java.lang.ArrayIndexOutOfBoundsException: length=3; regionStart=-1; regionLength=4
    at java.util.Arrays.checkOffsetAndCount()(Arrays.java:1719)
    at java.net.PlainSocketImpl.read()(PlainSocketImpl.java:477)
    at java.net.PlainSocketImpl.access$000()(PlainSocketImpl.java:37)
    at java.net.PlainSocketImpl$PlainSocketInputStream.read()(PlainSocketImpl.java:237)
    at oorg.eclipse.paho.client.mqttv3.internal.websocket.WebSocketFrame.<init>()(unknown:-1)
    at org.eclipse.paho.client.mqttv3.internal.websocket.WebSocketReceiver.run()(unknown:-1)
    at java.lang.Thread.run()(Thread.java:818)

thread 967 - Binder_3:

thread 933 - NR_NR-PayloadWorker-1:
java.lang.Object.wait()(Object.java:-2)
java.lang.Thread.parkFor$()(Thread.java:1220)
sun.misc.Unsafe.park()(Unsafe.java:299)
java.util.concurrent.locks.LockSupport.park()(LockSupport.java:158)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await()(AbstractQueuedSynchronizer.java:2013)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take()(ScheduledThreadPoolExecutor.java:1085)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take()(ScheduledThreadPoolExecutor.java:806)
java.util.concurrent.ThreadPoolExecutor.getTask()(ThreadPoolExecutor.java:1036)
java.util.concurrent.ThreadPoolExecutor.runWorker()(ThreadPoolExecutor.java:1098)
java.util.concurrent.ThreadPoolExecutor$Worker.run()(ThreadPoolExecutor.java:588)
java.lang.Thread.run()(Thread.java:818)

thread 956 - MQTT Snd: A1B1C1D1E1/a111a1b1-e111-11fb-1bc1-bbf111111ce1/v2_A1B1C1D1E1F1H1I1/at_x3MHLcX/rjdYOMWWSzVIl0QkvZx5w3QLkVyMwMrvoNuLbTkAyuF34z+Ome7z4YsLqryqW2XiUHjI39OjnSKfBG7TSMU/7fFkqd2bzzRsIgvucjXjOs/0umFLoexbEiZR:
java.lang.Object.wait()(Object.java:-2)
iiiiii.cqqccq.b???043504350435????()(unknown:-1)
iiiiii.cqcqcq.run()(unknown:-1)
java.util.concurrent.Executors$RunnableAdapter.call()(Executors.java:423)
java.util.concurrent.FutureTask.run()(FutureTask.java:237)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201()(ScheduledThreadPoolExecutor.java:154)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run()(ScheduledThreadPoolExecutor.java:269)
java.util.concurrent.ThreadPoolExecutor.runWorker()(ThreadPoolExecutor.java:1113)
java.util.concurrent.ThreadPoolExecutor$Worker.run()(ThreadPoolExecutor.java:588)
java.lang.Thread.run()(Thread.java:818)

thread 922 - BackgroundHandler WorkerThread:
android.os.MessageQueue.nativePollOnce()(MessageQueue.java:-2)
android.os.MessageQueue.next()(MessageQueue.java:323)
android.os.Looper.loop()(Looper.java:135)
android.os.HandlerThread.run()(HandlerThread.java:61)

thread 919 - HeapTaskDaemon:
dalvik.system.VMRuntime.runHeapTasks()(VMRuntime.java:-2)
java.lang.Daemons$HeapTaskDaemon.run()(Daemons.java:355)
java.lang.Thread.run()(Thread.java:818)

thread 944 - Thread-944:
java.lang.Object.wait()(Object.java:-2)
java.lang.Thread.parkFor$()(Thread.java:1220)
sun.misc.Unsafe.park()(Unsafe.java:299)
java.util.concurrent.locks.LockSupport.park()(LockSupport.java:158)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await()(AbstractQueuedSynchronizer.java:2013)
java.util.concurrent.PriorityBlockingQueue.take()(PriorityBlockingQueue.java:510)
iiiiii.ybbyyy.run()(unknown:-1)

thread 958 - MQTT Rec: A1B1C1D1E1/a111a1b1-e111-11fb-1bc1-bbf111111ce1/v2_A1B1C1D1E1F1H1I1/at_x3MHLcX/rjdYOMWWSzVIl0QkvZx5w3QLkVyMwMrvoNuLbTkAyuF34z+Ome7z4YsLqryqW2XiUHjI39OjnSKfBG7TSMU/7fFkqd2bzzRsIgvucjXjOs/0umFLoexbEiZR:
java.lang.Object.wait()(Object.java:-2)
java.lang.Thread.parkFor$()(Thread.java:1220)
sun.misc.Unsafe.park()(Unsafe.java:299)
java.util.concurrent.locks.LockSupport.park()(LockSupport.java:158)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await()(AbstractQueuedSynchronizer.java:2013)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take()(ScheduledThreadPoolExecutor.java:1078)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take()(ScheduledThreadPoolExecutor.java:806)
java.util.concurrent.ThreadPoolExecutor.getTask()(ThreadPoolExecutor.java:1036)
java.util.concurrent.ThreadPoolExecutor.runWorker()(ThreadPoolExecutor.java:1098)
java.util.concurrent.ThreadPoolExecutor$Worker.run()(ThreadPoolExecutor.java:588)
java.lang.Thread.run()(Thread.java:818)
natanvotre commented 4 years ago

I am having the same issue, did you solve this?

rvc-brickabode commented 4 years ago

There is a similar issue found in OkHttp library: (https://github.com/square/okhttp/issues/1540)

Jake Wharton mentioned this issue was fixed. An alternative is investigate how he solved this problem and suggest the same approach for being applied for this issue here in the MQTT library.