Skip to content

PKU Crash with Redis on redis-cli workload #1

Description

@hlef

It seems that Redis is crashing when isolating lwip and running redis-cli.

An annotation is probably missing.

Running with redis-benchmark -h 172.0.1.2 -t get workload like in the AE works.

SeaBIOS (version 1.12.0-1)

iPXE (http://ipxe.org) 00:02.0 C000 PCI2.10 PnP PMM+3FF8FF10+3FECFF10 C000

Booting from ROM..[    0.000000] ERR:  [libkvmplat] <mm.c @  190> paddr_start is 0x00810000
0: Set IPv4 address 172.0.1. mask 255.255.
en0: Added
en0: Interface is up
1:C 06 Dec 2022 16:28:33.005 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 06 Dec 2022 16:28:33.007 # Redis version=5.0.6, bits=64, commit=c5ee3442, modified=1, pid=1, just started
1:C 06 Dec 2022 16:28:33.009 # Configuration loaded
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 5.0.6 (c5ee3442/1) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 1
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

1:M 06 Dec 2022 16:28:33.052 # Server initialized
1:M 06 Dec 2022 16:28:33.054 * Ready to accept connections
[    3.883003] CRIT: [libkvmplat] <traps.c @  198> Page fault at linear address 4022b0028, rip 186ab3, regs 0x75ff50, sp 43d1
[    3.886626] CRIT: [libkvmplat] <traps.c @  198> PF_PK: protection key block access (READ)
[    3.888701] CRIT: [libkvmplat] <traps.c @  198> Target page 0x4022b0028 (section .heap) had key 0
[    3.890948] CRIT: [libkvmplat] <trace.c @  198> RIP: 0000000000186ab3 CS: 0008
[    3.892788] CRIT: [libkvmplat] <trace.c @  198> RSP: 000000043d55fd58 SS: 0010 EFLAGS: 00010246
[    3.894897] CRIT: [libkvmplat] <trace.c @  198> RAX: 000000000054a6be RBX: 000000000000003d RCX: 000000000054a6be
[    3.897558] CRIT: [libkvmplat] <trace.c @  198> RDX: 0000000000000000 RSI: 00000004022b0028 RDI: 000000000054a6be
[    3.900218] CRIT: [libkvmplat] <trace.c @  198> RBP: 000000043d55fd60 R08: 0000000000735f68 R09: 000000000000003c
[    3.902886] CRIT: [libkvmplat] <trace.c @  198> R10: 000000043d069e88 R11: 000000000000003d R12: 0000000000000000
[    3.905544] CRIT: [libkvmplat] <trace.c @  198> R13: 0000000000735f68 R14: 0000000000000001 R15: 000000000054a65c
[    3.908171] CRIT: [libkvmplat] <traps.c @  198> PKU: 000000003ffffff3
[    3.909811] CRIT: [libkvmplat] <trace.c @  198> base is 0x43d55fd60 caller is 0x1d10b0
[    3.911838] CRIT: [libkvmplat] <trace.c @  198> base is 0x43d55fe00 caller is 0x1d77d5
[    3.913866] CRIT: [libkvmplat] <trace.c @  198> base is 0x43d55fe50 caller is 0x1d7b0e
[    3.915893] CRIT: [libkvmplat] <trace.c @  198> base is 0x43d55fe70 caller is 0x1d9fbc
[    3.917902] CRIT: [libkvmplat] <trace.c @  198> base is 0x43d55fe90 caller is 0x1d56bc
[    3.919915] CRIT: [libkvmplat] <trace.c @  198> base is 0x43d55ff00 caller is 0x1bdcad
[    3.921927] CRIT: [libkvmplat] <trace.c @  198> base is 0x43d55ff80 caller is 0x1b500c
[    3.923946] CRIT: [libkvmplat] <trace.c @  198> base is 0x43d55ffd0 caller is 0x10a476
[    3.925966] CRIT: [libkvmplat] <trace.c @  198> base is 0x43d55ffe8 caller is 0
[    3.927829] CRIT: [libkvmplat] <trace.c @  198> 
[    3.928996] CRIT: [libkvmplat] <trace.c @  198> 43d55fd40: 3d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    3.931387] CRIT: [libkvmplat] <trace.c @  198> 43d55fd50: 00 fe 55 3d 04 00 00 00 3d 00 00 00 00 00 00 00
[    3.933856] CRIT: [libkvmplat] <trace.c @  198> 43d55fd60: 00 fe 55 3d 04 00 00 00 b0 10 1d 00 00 00 00 00
[    3.936327] CRIT: [libkvmplat] <trace.c @  198> 43d55fd70: e8 41 00 3d 04 00 00 00 00 00 00 00 00 00 00 00
[    3.938796] CRIT: [libkvmplat] <trace.c @  198> 
[    3.939965] CRIT: [libkvmplat] <trace.c @  198> 43d55fd50: 00 fe 55 3d 04 00 00 00 3d 00 00 00 00 00 00 00
[    3.942428] CRIT: [libkvmplat] <trace.c @  198> 43d55fd60: 00 fe 55 3d 04 00 00 00 b0 10 1d 00 00 00 00 00
[    3.944908] CRIT: [libkvmplat] <trace.c @  198> 43d55fd70: e8 41 00 3d 04 00 00 00 00 00 00 00 00 00 00 00
[    3.947375] CRIT: [libkvmplat] <trace.c @  198> 43d55fd80: 3d 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
[    3.949844] CRIT: [libkvmplat] <trace.c @  198> 
[    3.951010] CRIT: [libkvmplat] <trace.c @  198> 186aa0: 85 d2 74 21 0f 1f 40 00 31 d2 eb 07 0f 1f 40 00
[    3.953416] CRIT: [libkvmplat] <trace.c @  198> 186ab0: 4c 89 c2 44 0f b6 04 16 44 88 04 11 4c 8d 42 01
[    3.955825] CRIT: [libkvmplat] <trace.c @  198> 186ac0: 49 39 d1 75 eb 5b 5d c3 0f 1f 84 00 00 00 00 00
[    3.958226] CRIT: [libkvmplat] <trace.c @  198> 186ad0: 48 89 f9 4c 8d 4a ff 48 85 d2 75 cc eb e7 66 90
[    3.960632] CRIT: [libkvmplat] <traps.c @  198> Crashing

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