You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When submitting a tokenClaimAirdrop transaction, if one of the PendingAirdropIds in the list has an empty senderId or receiverId then the transaction fails catastrophically.
Steps to reproduce
Send a valid tokenAirdrop
Attempt a tokenClaimAirdop, but have an empty senderId or receiverId in the transaction
Additional context
2024-12-17 20:51:10.957 ERROR 149 PreHandleWorkflowImpl - Possibly CATASTROPHIC failure while running the pre-handle workflow
java.lang.NullPointerException: Field receiverId is null
at java.base/java.util.Objects.requireNonNull(Objects.java:259) ~[?:?]
at com.hedera.hapi.node.base.PendingAirdropId.receiverIdOrThrow(PendingAirdropId.java:192) ~[hapi-0.57.2.jar:?]
at com.hedera.node.app.service.token.impl.handlers.TokenClaimAirdropHandler.preHandle(TokenClaimAirdropHandler.java:100) ~[app-service-token-impl-0.57.2.jar:?]
at com.hedera.node.app.workflows.dispatcher.TransactionDispatcher.dispatchPreHandle(TransactionDispatcher.java:90) ~[HederaNode.jar:?]
at com.hedera.node.app.workflows.prehandle.PreHandleWorkflowImpl.expandAndVerifySignatures(PreHandleWorkflowImpl.java:296) ~[HederaNode.jar:?]
at com.hedera.node.app.workflows.prehandle.PreHandleWorkflowImpl.preHandleTransaction(PreHandleWorkflowImpl.java:239) ~[HederaNode.jar:?]
at com.hedera.node.app.workflows.prehandle.PreHandleWorkflow.preHandleTransaction(PreHandleWorkflow.java:64) ~[HederaNode.jar:?]
at com.hedera.node.app.workflows.prehandle.PreHandleWorkflowImpl.lambda$preHandle$0(PreHandleWorkflowImpl.java:144) ~[HederaNode.jar:?]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[?:?]
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708) ~[?:?]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
at java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291) ~[?:?]
at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754) ~[?:?]
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) ~[?:?]
at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:667) ~[?:?]
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160) ~[?:?]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174) ~[?:?]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) ~[?:?]
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:765) ~[?:?]
at com.hedera.node.app.workflows.prehandle.PreHandleWorkflowImpl.preHandle(PreHandleWorkflowImpl.java:141) ~[HederaNode.jar:?]
at com.hedera.node.app.Hedera.onPreHandle(Hedera.java:842) ~[HederaNode.jar:?]
at com.hedera.node.app.state.MerkleStateLifecyclesImpl.onPreHandle(MerkleStateLifecyclesImpl.java:94) ~[HederaNode.jar:?]
at com.swirlds.platform.state.PlatformMerkleStateRoot.preHandle(PlatformMerkleStateRoot.java:166) ~[swirlds-platform-core-0.57.2.jar:?]
at com.swirlds.platform.eventhandling.DefaultTransactionPrehandler.prehandleApplicationTransactions(DefaultTransactionPrehandler.java:88) ~[swirlds-platform-core-0.57.2.jar:?]
at com.swirlds.common.wiring.component.ComponentWiring.lambda$bind$8(ComponentWiring.java:730) ~[swirlds-common-0.57.2.jar:?]
at com.swirlds.common.wiring.wires.input.BindableInputWire.lambda$bindConsumer$0(BindableInputWire.java:92) ~[swirlds-common-0.57.2.jar:?]
at com.swirlds.common.wiring.schedulers.internal.ConcurrentTask.exec(ConcurrentTask.java:66) [swirlds-common-0.57.2.jar:?]
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) [?:?]
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) [?:?]
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) [?:?]
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) [?:?]
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) [?:?]
Hedera network
testnet
Version
0.57.2
Operating system
None
The text was updated successfully, but these errors were encountered:
Description
When submitting a tokenClaimAirdrop transaction, if one of the PendingAirdropIds in the list has an empty senderId or receiverId then the transaction fails catastrophically.
Steps to reproduce
Send a valid tokenAirdrop
Attempt a tokenClaimAirdop, but have an empty senderId or receiverId in the transaction
Additional context
Hedera network
testnet
Version
0.57.2
Operating system
None
The text was updated successfully, but these errors were encountered: