Skip to content

[CRASH] worker thread call RedisModule_ReplicateVerbatim(ctx); trigger redis crash #12647

@zh1029

Description

@zh1029

Crash report

=== REDIS BUG REPORT START: Cut & paste starting from here ===
25802:M 12 Oct 2023 02:19:12.590 # === ASSERTION FAILED ===
25802:M 12 Oct 2023 02:19:12.590 # ==> blocked.c:624 'server.also_propagate.numops == 0' is not true

Additional information
Just add RedisModule_ReplicateVerbatim(ctx); as bellow. cause redis crash.

(svnenv)root@7007e606a60f:/trunk/redis/redis-sentinel-test/redis-7.0.11/src/modules$ diff -u helloblock.c helloblock.c.new
--- helloblock.c 2023-10-12 02:23:01.167059976 +0000
+++ helloblock.c.new 2023-10-12 02:23:33.148083078 +0000
@@ -168,6 +168,7 @@
} while (cursor != 0);
RedisModule_ReplySetArrayLength(ctx,replylen);

  • RedisModule_ReplicateVerbatim(ctx);
    RedisModule_FreeThreadSafeContext(ctx);
    RedisModule_UnblockClient(bc,NULL);
    return NULL;

It only happens against redis 7.x. Not against redis 6.x.
So the question is if it is redis bug or RedisModule_ReplicateVerbatim is not expected to be invoked in worker thread since redis 7?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions