Auties00 / Cobalt

Standalone unofficial fully-featured Whatsapp Web and Mobile API for Java and Kotlin
MIT License
625 stars 183 forks source link

SEVERE: Socket failure at PULL_APP_STATE #323

Closed lollix91 closed 1 year ago

lollix91 commented 1 year ago

Web version. 3.4.4. It appears randomly.

SEVERE: Socket failure at PULL_APP_STATE java.util.concurrent.CompletionException: java.lang.RuntimeException: Cannot parse patch(3 tries) at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649) at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) Caused by: java.lang.RuntimeException: Cannot parse patch(3 tries) at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:285) at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:287) at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:287) at it.auties.whatsapp.socket.AppStateHandler.lambda$decodeSyncs$25(AppStateHandler.java:254) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) at it.auties.whatsapp.socket.AppStateHandler.decodeSyncs(AppStateHandler.java:260) at it.auties.whatsapp.socket.AppStateHandler.lambda$pullUninterruptedly$19(AppStateHandler.java:228) at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646) ... 6 more Caused by: it.auties.whatsapp.exception.HmacValidationException: decode_snapshot at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at it.auties.whatsapp.socket.AppStateHandler.decodeSnapshot(AppStateHandler.java:509) at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:267) ... 19 more

Auties00 commented 1 year ago

Web version. 3.4.4. It appears randomly.

SEVERE: Socket failure at PULL_APP_STATE java.util.concurrent.CompletionException: java.lang.RuntimeException: Cannot parse patch(3 tries) at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649) at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) Caused by: java.lang.RuntimeException: Cannot parse patch(3 tries) at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:285) at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:287) at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:287) at it.auties.whatsapp.socket.AppStateHandler.lambda$decodeSyncs$25(AppStateHandler.java:254) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) at it.auties.whatsapp.socket.AppStateHandler.decodeSyncs(AppStateHandler.java:260) at it.auties.whatsapp.socket.AppStateHandler.lambda$pullUninterruptedly$19(AppStateHandler.java:228) at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646) ... 6 more Caused by: it.auties.whatsapp.exception.HmacValidationException: decode_snapshot at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at it.auties.whatsapp.socket.AppStateHandler.decodeSnapshot(AppStateHandler.java:509) at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:267) ... 19 more

Can you try with version 3.4.5?

lollix91 commented 1 year ago

With 3.4.8, the error changes, now i have (after scanning the qr code for login): SEVERE: Socket failure at UNKNOWN java.net.SocketException: Socket closed at java.base/sun.nio.ch.NioSocketImpl.ensureOpenAndConnected(NioSocketImpl.java:165) at java.base/sun.nio.ch.NioSocketImpl.beginRead(NioSocketImpl.java:231) at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:299) at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350) at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803) at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966) at java.base/java.io.DataInputStream.readFully(DataInputStream.java:201) at java.base/java.io.DataInputStream.readFully(DataInputStream.java:172) at it.auties.whatsapp.socket.SocketSession.readMessages(SocketSession.java:121) at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)

Auties00 commented 1 year ago

With 3.4.8, the error changes, now i have (after scanning the qr code for login): SEVERE: Socket failure at UNKNOWN java.net.SocketException: Socket closed at java.base/sun.nio.ch.NioSocketImpl.ensureOpenAndConnected(NioSocketImpl.java:165) at java.base/sun.nio.ch.NioSocketImpl.beginRead(NioSocketImpl.java:231) at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:299) at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350) at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803) at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966) at java.base/java.io.DataInputStream.readFully(DataInputStream.java:201) at java.base/java.io.DataInputStream.readFully(DataInputStream.java:172) at it.auties.whatsapp.socket.SocketSession.readMessages(SocketSession.java:121) at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)

that shouldn't make the bot unresponsive though, it should still be able to send and receive messages

lollix91 commented 1 year ago

It depends, one time it became unrensponive, and, even restarting, it won't work correctly.

hamarna commented 1 year ago

3.4.8

Catched this one on logging off.

Socket failure at PULL_APP_STATE: 

java.util.concurrent.CompletionException: java.lang.RuntimeException: Cannot parse patch(3 tries)
    at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[na:na]
    at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[na:na]
    at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649) ~[na:na]
    at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483) ~[na:na]
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[na:na]
    at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[na:na]
    at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[na:na]
    at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[na:na]
    at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[na:na]
Caused by: java.lang.RuntimeException: Cannot parse patch(3 tries)
    at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:305) ~[whatsappweb4j-3.4.8.jar:na]
    at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:307) ~[whatsappweb4j-3.4.8.jar:na]
    at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:307) ~[whatsappweb4j-3.4.8.jar:na]
    at it.auties.whatsapp.socket.AppStateHandler.lambda$decodeSyncs$23(AppStateHandler.java:274) ~[whatsappweb4j-3.4.8.jar:na]
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[na:na]
    at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na]
    at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
    at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[na:na]
    at it.auties.whatsapp.socket.AppStateHandler.decodeSyncs(AppStateHandler.java:280) ~[whatsappweb4j-3.4.8.jar:na]
    at it.auties.whatsapp.socket.AppStateHandler.lambda$pullUninterruptedly$18(AppStateHandler.java:248) ~[whatsappweb4j-3.4.8.jar:na]
    at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646) ~[na:na]
    ... 6 common frames omitted
Caused by: it.auties.whatsapp.exception.HmacValidationException: patch_mac
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:na]
    at it.auties.whatsapp.socket.AppStateHandler.decodePatch(AppStateHandler.java:489) ~[whatsappweb4j-3.4.8.jar:na]
    at it.auties.whatsapp.socket.AppStateHandler.lambda$decodePatches$42(AppStateHandler.java:468) ~[whatsappweb4j-3.4.8.jar:na]
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[na:na]
    at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) ~[na:na]
    at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) ~[na:na]
    at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) ~[na:na]
    at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) ~[na:na]
    at it.auties.whatsapp.socket.AppStateHandler.decodePatches(AppStateHandler.java:471) ~[whatsappweb4j-3.4.8.jar:na]
    at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:295) ~[whatsappweb4j-3.4.8.jar:na]
    ... 19 common frames omitted
lollix91 commented 1 year ago

It appears randomly, even with 3.4.8 When it happens, the system become unusable

SEVERE: Socket failure at PULL_APP_STATE java.util.concurrent.CompletionException: java.lang.RuntimeException: Cannot parse patch(3 tries) at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649) at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) Caused by: java.lang.RuntimeException: Cannot parse patch(3 tries) at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:305) at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:307) at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:307) at it.auties.whatsapp.socket.AppStateHandler.lambda$decodeSyncs$23(AppStateHandler.java:274) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) at it.auties.whatsapp.socket.AppStateHandler.decodeSyncs(AppStateHandler.java:280) at it.auties.whatsapp.socket.AppStateHandler.lambda$pullUninterruptedly$18(AppStateHandler.java:248) at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646) ... 6 more Caused by: it.auties.whatsapp.exception.HmacValidationException: patch_mac at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at it.auties.whatsapp.socket.AppStateHandler.decodePatch(AppStateHandler.java:489) at it.auties.whatsapp.socket.AppStateHandler.lambda$decodePatches$42(AppStateHandler.java:468) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) at it.auties.whatsapp.socket.AppStateHandler.decodePatches(AppStateHandler.java:471) at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:295) ... 19 more

Vaibbs commented 1 year ago

I'm having a similar issue, but it gets almost the same error. Here is the error, its not consistent and happens randomly I am using version 3.4.8


SEVERE: Socket failure at CRYPTOGRAPHY
java.lang.RuntimeException: Detected a bad mac, unresolved nodes:
Node[description=iq, attributes={xmlns=usync, to=s.whatsapp.net, id=XXXX, type=get}, content=[Node[description=usync, attributes={mode=query, last=true, context=message, index=0, sid=XXXX}, content=[Node[description=query, content=[Node[description=devices, attributes={version=2}]]], Node[description=list, content=[Node[description=user, attributes={jid=XXXXXXXXXX@s.whatsapp.net}], Node[description=user, attributes={jid=XXXXXXXXXX@s.whatsapp.net}]]]]]]]
    at it.auties.whatsapp.socket.StreamHandler.digestError(StreamHandler.java:564)
    at it.auties.whatsapp.socket.StreamHandler.digest(StreamHandler.java:93)
    at it.auties.whatsapp.socket.SocketHandler.onMessage(SocketHandler.java:196)
    at it.auties.whatsapp.socket.SocketSession.readMessages(SocketSession.java:122)
    at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395)
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
    at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
    at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
    at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
    at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
Jul 03, 2023 9:52:22 PM it.auties.whatsapp.api.ErrorHandler lambda$defaultErrorHandler$1
WARNING: Socket failure at CRYPTOGRAPHY
Auties00 commented 1 year ago

This should be fixed in 3.4.10

Auties00 commented 1 year ago

can anyone who was having the issue confirm whether it's actually fixed?

hamarna commented 1 year ago

Issue still persists, but in different form. At first there goes bad-mac error after scanning QR:

Socket failure at CRYPTOGRAPHY: 
java.lang.RuntimeException: Detected a bad mac, last node: Node[description=stream:error, content=[Node[description=bad-mac]]]
    at it.auties.whatsapp.socket.StreamHandler.digestError(StreamHandler.java:558)
    at it.auties.whatsapp.socket.StreamHandler.digest(StreamHandler.java:93)
    at it.auties.whatsapp.socket.SocketHandler.onMessage(SocketHandler.java:201)
    at it.auties.whatsapp.socket.SocketSession.readMessages(SocketSession.java:123)
    at java.base/java.lang.Thread.run(Thread.java:833)

Then:

Socket failure at PULL_APP_STATE: 
java.util.concurrent.CompletionException: java.lang.RuntimeException: Cannot parse patch(3 tries)
    at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
    at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
    at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
    at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482)
    at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.RuntimeException: Cannot parse patch(3 tries)
    at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:304)
    at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:306)
    at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:306)
    at it.auties.whatsapp.socket.AppStateHandler.lambda$decodeSyncs$23(AppStateHandler.java:273)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
    at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
    at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
    at it.auties.whatsapp.socket.AppStateHandler.decodeSyncs(AppStateHandler.java:279)
    at it.auties.whatsapp.socket.AppStateHandler.lambda$pullUninterruptedly$18(AppStateHandler.java:247)
    at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
    ... 2 common frames omitted
Caused by: java.lang.NullPointerException: Missing keys
    at java.base/java.util.Objects.requireNonNull(Objects.java:235)
    at it.auties.whatsapp.controller.Keys.findAppKeyById(Keys.java:499)
    at it.auties.whatsapp.socket.AppStateHandler.getMutationKeys(AppStateHandler.java:531)
    at it.auties.whatsapp.socket.AppStateHandler.decodeSnapshot(AppStateHandler.java:516)
    at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:286)
    ... 15 common frames omitted
Auties00 commented 1 year ago

Issue still persists, but in different form. At first there goes bad-mac error after scanning QR:

Socket failure at CRYPTOGRAPHY: 
java.lang.RuntimeException: Detected a bad mac, last node: Node[description=stream:error, content=[Node[description=bad-mac]]]
  at it.auties.whatsapp.socket.StreamHandler.digestError(StreamHandler.java:558)
  at it.auties.whatsapp.socket.StreamHandler.digest(StreamHandler.java:93)
  at it.auties.whatsapp.socket.SocketHandler.onMessage(SocketHandler.java:201)
  at it.auties.whatsapp.socket.SocketSession.readMessages(SocketSession.java:123)
  at java.base/java.lang.Thread.run(Thread.java:833)

Then:

Socket failure at PULL_APP_STATE: 
java.util.concurrent.CompletionException: java.lang.RuntimeException: Cannot parse patch(3 tries)
  at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
  at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
  at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
  at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482)
  at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.RuntimeException: Cannot parse patch(3 tries)
  at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:304)
  at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:306)
  at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:306)
  at it.auties.whatsapp.socket.AppStateHandler.lambda$decodeSyncs$23(AppStateHandler.java:273)
  at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
  at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720)
  at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
  at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
  at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
  at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
  at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
  at it.auties.whatsapp.socket.AppStateHandler.decodeSyncs(AppStateHandler.java:279)
  at it.auties.whatsapp.socket.AppStateHandler.lambda$pullUninterruptedly$18(AppStateHandler.java:247)
  at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
  ... 2 common frames omitted
Caused by: java.lang.NullPointerException: Missing keys
  at java.base/java.util.Objects.requireNonNull(Objects.java:235)
  at it.auties.whatsapp.controller.Keys.findAppKeyById(Keys.java:499)
  at it.auties.whatsapp.socket.AppStateHandler.getMutationKeys(AppStateHandler.java:531)
  at it.auties.whatsapp.socket.AppStateHandler.decodeSnapshot(AppStateHandler.java:516)
  at it.auties.whatsapp.socket.AppStateHandler.decodeSync(AppStateHandler.java:286)
  ... 15 common frames omitted

the second error happens because of the bad mac(it will reset the connection so no keys will be available for the app state read). So this issue is fixed, I just need to figure the bad mac one out. I'll close this issue so we can track the bad Mac one in the one that's still opened

hamarna commented 1 year ago

I'm using custom serializer. Can you confirm, that dropping keys should help with this instance? Will I lose session if keys will be dropped?

Auties00 commented 1 year ago

I'm using custom serializer. Can you confirm, that dropping keys should help with this instance? Will I lose session if keys will be dropped?

When a bad Mac is received the session is no longer usable so the keys get dropped. It's not a recoverable issue