Skip to content

求助:socket.cpp:1036, IsWriteComplete] Check failed: NULL == old_head->next #2572

Description

@zcfh

Describe the bug (描述bug)
使用 clang-17 进行autofdo优化。 服务出现

F0314 16:33:23.030470 211226 socket.cpp:1071, IsWriteComplete] Check failed: p != NULL
*** Check failure stack trace: ***
F0314 16:33:23.035867 211251 socket.cpp:1036, IsWriteComplete] Check failed: NULL == old_head->next
*** Check failure stack trace: ***

core的调用栈是在

(gdb) bt
#0  0x0000000001e1a1e3 in brpc::Socket::KeepWrite(void*) (void_arg=<optimized out>) at third_party/brpc-0.9.6/src/brpc/socket.cpp:1629
#1  0x0000000001e4f706 in bthread::TaskGroup::task_runner(long) (skip_remained=<optimized out>)
    at third_party/brpc-0.9.6/src/bthread/task_group.cpp:316
#2  0x0000000001e50891 in bthread_make_fcontext () at third_party/brpc-0.9.6/src/brpc/describable.h:90
#3  0x0000000000000000 in ?? ()
(gdb) p req
$1 = (struct WriteRequest *) 0xffffffffffffffff

有没有排查思路?

To Reproduce (复现方法)
目前不能在demo上进行复现。

Expected behavior (期望行为)

Versions (各种版本)
OS: CentOS Linux release 7.3.1611
Compiler: clang++ 17.0.1
brpc: 0.96
protobuf: 3.19.1

Additional context/screenshots (更多上下文/截图)

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