Skip to content

Can't run wiredtiger with XRP enabled #9

Description

@ZhangJiaQiao

After installing the Linux kernel 5.12.0-xrp+, I could run the test_bpfkv successfully with no error. When I ran test_wiredtiger, I got these error:

....

from 842 to 571: R0_w=invP0 R1_w=invP1 R3_w=invP0 R6_w=ctx(id=0,off=0,imm=0) R7_w=invP(id=0) R8_w=invP(id=125,umax_value=2147483647,var_off=(0x0; 0x7fffffff)) R9_w=invP2729 R10=fp0 fp-8_w=00000000 fp-16=mmmmmmmm fp-24=mmmmmmmm fp-32=mmmmmmmm fp-40=mmmmmmmm fp-120=mem fp-128=00000000 fp-136_w=invP fp-144=ctx fp-152_w=mmmmmmmm fp-160=mmmmmmmm fp-168=mmmmmmmm fp-176=mem fp-184=mem
; uint64_t cell_key_offset = 0, cell_key_size = 0;
571: (7b) *(u64 *)(r10 -16) = r3
; uint64_t cell_key_offset = 0, cell_key_size = 0;
572: (7b) *(u64 *)(r10 -24) = r3
; uint64_t cell_descent_offset = 0, cell_descent_size = 0;
573: (7b) *(u64 *)(r10 -32) = r3
; uint64_t cell_descent_offset = 0, cell_descent_size = 0;
574: (7b) *(u64 *)(r10 -40) = r3
; b = *(p_base + (p_offset & EBPF_CONTEXT_MASK));
575: (bf) r1 = r7
576: (57) r1 &= 4095
; b = *(p_base + (p_offset & EBPF_CONTEXT_MASK));
577: (79) r2 = *(u64 *)(r10 -120)
578: (0f) r2 += r1
; b = *(p_base + (p_offset & EBPF_CONTEXT_MASK));
579: (71) r1 = *(u8 *)(r2 +0)
 R0_w=invP0 R1_w=invP(id=0,umax_value=4095,var_off=(0x0; 0xfff)) R2_w=mem(id=0,ref_obj_id=0,off=0,umax_value=4095,var_off=(0x0; 0xfff)) R3_w=invP0 R6_w=ctx(id=0,off=0,imm=0) R7_w=invP(id=50353) R8_w=invP(id=125,umax_value=2147483647,var_off=(0x0; 0x7fffffff)) R9_w=invP2729 R10=fp0 fp-8_w=00000000 fp-16_w=00000000 fp-24_w=00000000 fp-32_w=00000000 fp-40_w=00000000 fp-120=mem fp-128=00000000 fp-136_w=invP fp-144=ctx fp-152_w=mmmmmmmm fp-160=mmmmmmmm fp-168=mmmmmmmm fp-176=mem fp-184=mem
; return EBPF_CELL_SHORT_TYPE(cell_desc) ? EBPF_CELL_SHORT_TYPE(cell_desc) : EBPF_CELL_TYPE(cell_desc);
580: (bf) r3 = r1
581: (57) r3 &= 240
582: (57) r1 &= 3
583: (15) if r1 == 0x0 goto pc+1
 R0_w=invP0 R1_w=invP(id=0,umax_value=3,var_off=(0x0; 0x3)) R2_w=mem(id=0,ref_obj_id=0,off=0,umax_value=4095,var_off=(0x0; 0xfff)) R3_w=invP(id=0,umax_value=240,var_off=(0x0; 0xf0)) R6_w=ctx(id=0,off=0,imm=0) R7_w=invP(id=50353) R8_w=invP(id=125,umax_value=2147483647,var_off=(0x0; 0x7fffffff)) R9_w=invP2729 R10=fp0 fp-8_w=00000000 fp-16_w=00000000 fp-24_w=00000000 fp-32_w=00000000 fp-40_w=00000000 fp-120=mem fp-128=00000000 fp-136_w=invP fp-144=ctx fp-152_w=mmmmmmmm fp-160=mmmmmmmm fp-168=mmmmmmmm fp-176=mem fp-184=mem
584: (bf) r3 = r1
; switch (ebpf_get_cell_type(b)) {
585: (15) if r3 == 0x1 goto pc+52
 R0_w=invP0 R1_w=invP(id=50355,umax_value=3,var_off=(0x0; 0x3)) R2_w=mem(id=0,ref_obj_id=0,off=0,umax_value=4095,var_off=(0x0; 0xfff)) R3_w=invP(id=50355,umax_value=3,var_off=(0x0; 0x3)) R6_w=ctx(id=0,off=0,imm=0) R7_w=invP(id=50353) R8_w=invP(id=125,umax_value=2147483647,var_off=(0x0; 0x7fffffff)) R9_w=invP2729 R10=fp0 fp-8_w=00000000 fp-16_w=00000000 fp-24_w=00000000 fp-32_w=00000000 fp-40_w=00000000 fp-120=mem fp-128=00000000 fp-136_w=invP fp-144=ctx fp-152_w=mmmmmmmm fp-160=mmmmmmmm fp-168=mmmmmmmm fp-176=mem fp-184=mem
586: (55) if r3 != 0x50 goto pc-46
The sequence of 8193 jumps is too complex.
processed 739730 insns (limit 1000000) max_states_per_insn 13 total_states 9932 peak_states 3709 mark_read 869

libbpf: -- END LOG --
libbpf: failed to load program 'prog'
libbpf: failed to load object './wiredtiger/bpf_prog/wt_bpf.o'
Failed to load BPF program

I compiled and installed the linux kernel under Debian11 with 5.10.0 kernel. Then I rebooted the server and ran the test.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions