GetBlok-io / miningcore

Miningcore is a high-performance Mining Pool Software for Linux and Windows maintained by GetBlok.io
https://www.getblok.io
MIT License
2 stars 1 forks source link

[PayoutManager] [ergo1] Payment processing failed System.ArgumentNullException: Value cannot be null. (Parameter 'source') #3

Open vinnielima opened 2 years ago

vinnielima commented 2 years ago

Describe the bug Payout manager fails to payout based on block awards.

To Reproduce [2021-11-19 02:00:46.7508] [I] [PayoutManager] Processing payments for pool ergo1 [2021-11-19 02:00:46.7676] [D] [BlockRepository] GetPendingBlocksForPoolAsync(ergo1) [2021-11-19 02:00:46.9111] [I] [ergo1] [Ergo Payout Handler] Unlocked block 115169 worth 67.5 ERG [2021-11-19 02:00:46.9179] [I] [ergo1] [Ergo Payout Handler] Unlocked block 115185 worth 67.5 ERG [2021-11-19 02:00:46.9217] [I] [ergo1] [Ergo Payout Handler] Unlocked block 115199 worth 67.5 ERG [2021-11-19 02:00:46.9526] [I] [PayoutManager] Processing payments for pool ergo1, block 115169 [2021-11-19 02:00:46.9614] [E] [PayoutManager] [ergo1] Payment processing failed System.ArgumentNullException: Value cannot be null. (Parameter 'source') at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument) at System.Linq.Enumerable.Where[TSource](IEnumerable1 source, Func2 predicate) at Miningcore.Payments.PayoutHandlerBase.UpdateBlockRewardBalancesAsync(IDbConnection con, IDbTransaction tx, IMiningPool pool, Block block, CancellationToken ct) in /opt/miningcore/src/Miningcore/Payments/PayoutHandlerBase.cs:line 95 at Miningcore.Payments.PayoutManager.<>cDisplayClass17_1.<b4>d.MoveNext() in /opt/miningcore/src/Miningcore/Payments/PayoutManager.cs:line 181 --- End of stack trace from previous location --- at Miningcore.Extensions.ConnectionFactoryExtensions.RunTx(IConnectionFactory factory, Func3 action, Boolean autoCommit, IsolationLevel isolation) in /opt/miningcore/src/Miningcore/Extensions/ConnectionFactoryExtensions.cs:line 50 at Miningcore.Payments.PayoutManager.UpdatePoolBalancesAsync(IMiningPool pool, PoolConfig config, IPayoutHandler handler, IPayoutScheme scheme, CancellationToken ct) in /opt/miningcore/src/Miningcore/Payments/PayoutManager.cs:line 171 at Miningcore.Payments.PayoutManager.ProcessPoolsAsync(CancellationToken ct) in /opt/miningcore/src/Miningcore/Payments/PayoutManager.cs:line 111 at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument) at System.Linq.Enumerable.Where[TSource](IEnumerable1 source, Func`2 predicate) at Miningcore.Payments.PayoutHandlerBase.UpdateBlockRewardBalancesAsync(IDbConnection con, IDbTransaction tx, IMiningPool pool, Block block, CancellationToken ct) in /opt/miningcore/src/Miningcore/Payments/PayoutHandlerBase.cs:line 95 at Miningcore.Payments.PayoutManager.<>cDisplayClass17_1.<b4>d.MoveNext() in /opt/miningcore/src/Miningcore/Payments/PayoutManager.cs:line 181 --- End of stack trace from previous location --- at Miningcore.Extensions.ConnectionFactoryExtensions.RunTx(IConnectionFactory factory, Func`3 action, Boolean autoCommit, IsolationLevel isolation) in /opt/miningcore/src/Miningcore/Extensions/ConnectionFactoryExtensions.cs:line 50 at Miningcore.Payments.PayoutManager.UpdatePoolBalancesAsync(IMiningPool pool, PoolConfig config, IPayoutHandler handler, IPayoutScheme scheme, CancellationToken ct) in /opt/miningcore/src/Miningcore/Payments/PayoutManager.cs:line 171 at Miningcore.Payments.PayoutManager.ProcessPoolsAsync(CancellationToken ct) in /opt/miningcore/src/Miningcore/Payments/PayoutManager.cs:line 111

vinnielima commented 2 years ago

Need to review previous code updates for PayoutManager.