zcfh opened a new issue, #2572:
URL: https://github.com/apache/brpc/issues/2572

   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
   ```
   简单看了下代码,没搞懂 IsWriteComplete 里 CHECK_NE(new_head, old_head);  , new_head 和 
old_head 是在哪里编成不同的的。
   有没有排查思路?
   
   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 (更多上下文/截图)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@brpc.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@brpc.apache.org
For additional commands, e-mail: dev-h...@brpc.apache.org

Reply via email to