Skip to content

[CRASH] unfinished module timer causes crash after the module unload #10186

@warriorguo

Description

@warriorguo

Crash report

=== REDIS BUG REPORT START: Cut & paste starting from here ===
13777:M 26 Jan 2022 15:31:51.542 # Redis 255.255.255 crashed by signal: 11, si_code: 1
13777:M 26 Jan 2022 15:31:51.542 # Accessing address: 0x10a3366a0
13777:M 26 Jan 2022 15:31:51.542 # Killed by PID: 0, UID: 0
13777:M 26 Jan 2022 15:31:51.542 # Crashed running the instruction at: 0x10a3366a0

------ STACK TRACE ------
EIP:
0   ???                                 0x000000010a3366a0 0x0 + 4466108064

Backtrace:
0   libsystem_platform.dylib            0x00007ff807f5be2d _sigtramp + 29
1   ???                                 0x00007ff7b5f6afd0 0x0 + 140701886492624
2   redis-server                        0x0000000109f993b6 aeProcessEvents + 1062
3   redis-server                        0x0000000109f9950d aeMain + 29
4   redis-server                        0x0000000109faad92 main + 2082
5   dyld                                0x000000011060f4fe start + 462

------ REGISTERS ------
13777:M 26 Jan 2022 15:31:51.542 #
RAX:0000000000000000 RBX:00007ff7b5f6b4b0
RCX:000000010a13a438 RDX:00000000000c67c7
RDI:00007ff7b5f6b438 RSI:000060000251cfc0
RBP:00007ff7b5f6b6c0 RSP:00007ff7b5f6b428
R8 :000004265aaa5a31 R9 :0000000003ac62cb
R10:0000000000000001 R11:00001ff7b346345c
R12:00007ff7b5f6b438 R13:00007ff7b5f6b4b0
R14:0000600002b16e00 R15:0005d67731fb0d63
RIP:000000010a3366a0 EFL:0000000000010246
CS :000000000000002b FS:0000000000000000  GS:0000000000000000
13777:M 26 Jan 2022 15:31:51.542 # (00007ff7b5f6b437) -> 0000000110340947
13777:M 26 Jan 2022 15:31:51.542 # (00007ff7b5f6b436) -> 0000000000000000
13777:M 26 Jan 2022 15:31:51.542 # (00007ff7b5f6b435) -> 0000000000000000
13777:M 26 Jan 2022 15:31:51.542 # (00007ff7b5f6b434) -> 0000000000000000
13777:M 26 Jan 2022 15:31:51.542 # (00007ff7b5f6b433) -> 0000000000000000
13777:M 26 Jan 2022 15:31:51.542 # (00007ff7b5f6b432) -> 0000000000000000
13777:M 26 Jan 2022 15:31:51.542 # (00007ff7b5f6b431) -> 0000000000000000
13777:M 26 Jan 2022 15:31:51.542 # (00007ff7b5f6b430) -> 0000000000000040
13777:M 26 Jan 2022 15:31:51.542 # (00007ff7b5f6b42f) -> 0000000000000000
13777:M 26 Jan 2022 15:31:51.542 # (00007ff7b5f6b42e) -> 0000000000000000
13777:M 26 Jan 2022 15:31:51.542 # (00007ff7b5f6b42d) -> 0000000000000000
13777:M 26 Jan 2022 15:31:51.542 # (00007ff7b5f6b42c) -> 00007fe903025400
13777:M 26 Jan 2022 15:31:51.542 # (00007ff7b5f6b42b) -> 0000600000f14060
13777:M 26 Jan 2022 15:31:51.542 # (00007ff7b5f6b42a) -> 000000010a03c4e0
13777:M 26 Jan 2022 15:31:51.542 # (00007ff7b5f6b429) -> 0000000a00000000
13777:M 26 Jan 2022 15:31:51.542 # (00007ff7b5f6b428) -> 000000010a0460fa

How to reproduce this issue

  1. Under redis source folder, launch the Redis server
  2. Load the timer module, module load tests/modules/timer.so
  3. Launch a timer like 5 seconds. test.createtimer 5000 timer-incr-key
  4. Meanwhile, unload the timer module, module unload timer
  5. After about 5 seconds, the Redis crashs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions