Skip to content

Commit 5857cb8

Browse files
wip
1 parent bb3d6b7 commit 5857cb8

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/discof/exec/fd_exec_tile.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,9 @@ returnable_frag( fd_exec_tile_ctx_t * ctx,
138138

139139
/* Commit. */
140140
fd_bank_t * bank = fd_banks_bank_query( ctx->banks, msg->bank_idx );
141-
if( FD_LIKELY( ctx->txn_ctx->flags & FD_TXN_P_FLAGS_EXECUTE_SUCCESS ) ) {
141+
if( FD_LIKELY( ctx->txn_ctx->exec_err==FD_RUNTIME_EXECUTE_SUCCESS ||
142+
ctx->txn_ctx->exec_err==FD_RUNTIME_TXN_ERR_INSTRUCTION_ERROR ||
143+
ctx->txn_ctx->is_fees_only ) ) {
142144
fd_funk_txn_xid_t xid = (fd_funk_txn_xid_t){ .ul = { fd_bank_slot_get( bank ), bank->idx } };
143145
fd_runtime_finalize_txn( ctx->funk, ctx->progcache, ctx->txncache, &xid, ctx->txn_ctx, bank, ctx->capture_ctx, NULL );
144146
}
@@ -383,7 +385,9 @@ publish_txn_finalized_msg( fd_exec_tile_ctx_t * ctx,
383385
fd_exec_task_done_msg_t * msg = fd_chunk_to_laddr( ctx->exec_replay_out->mem, ctx->exec_replay_out->chunk );
384386
msg->bank_idx = ctx->txn_ctx->bank_idx;
385387
msg->txn_exec->txn_idx = ctx->txn_idx;
386-
msg->txn_exec->err = !(ctx->txn_ctx->flags&FD_TXN_P_FLAGS_EXECUTE_SUCCESS);
388+
389+
msg->txn_exec->err = ctx->txn_ctx->exec_err!=FD_RUNTIME_EXECUTE_SUCCESS && ctx->txn_ctx->exec_err!=FD_RUNTIME_TXN_ERR_INSTRUCTION_ERROR && !ctx->txn_ctx->is_fees_only;
390+
387391
if( FD_UNLIKELY( msg->txn_exec->err ) ) {
388392
FD_LOG_WARNING(( "txn failed to execute, bad block detected err=%d", ctx->txn_ctx->exec_err ));
389393
}

0 commit comments

Comments
 (0)