You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@brpc.apache.org by "zcfh (via GitHub)" <gi...@apache.org> on 2024/03/14 08:54:24 UTC

[I] 求助:socket.cpp:1036, IsWriteComplete] Check failed: NULL == old_head->next (brpc)

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-unsubscribe@brpc.apache.org.apache.org

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


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


Re: [I] 求助:socket.cpp:1036, IsWriteComplete] Check failed: NULL == old_head->next (brpc)

Posted by "zcfh (via GitHub)" <gi...@apache.org>.
zcfh commented on issue #2572:
URL: https://github.com/apache/brpc/issues/2572#issuecomment-4213678108

   > 请问下怎么解决的?
   
   参考 #2156 ,这个issue。
   
   - 如果你的brpc版本比较低,可以升级解决。
   - 如果你是升级编译器版本的过程中遇到,大概率是编译器默认使用 -pie 链接引起
   


-- 
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: issues-unsubscribe@brpc.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@brpc.apache.org
For additional commands, e-mail: issues-help@brpc.apache.org


Re: [I] 求助:socket.cpp:1036, IsWriteComplete] Check failed: NULL == old_head->next (brpc)

Posted by "zcfh (via GitHub)" <gi...@apache.org>.
zcfh closed issue #2572: 求助:socket.cpp:1036, IsWriteComplete] Check failed: NULL == old_head->next
URL: https://github.com/apache/brpc/issues/2572


-- 
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-unsubscribe@brpc.apache.org

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


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


Re: [I] 求助:socket.cpp:1036, IsWriteComplete] Check failed: NULL == old_head->next (brpc)

Posted by "demondfdfjg (via GitHub)" <gi...@apache.org>.
demondfdfjg commented on issue #2572:
URL: https://github.com/apache/brpc/issues/2572#issuecomment-4205542807

   请问下怎么解决的?


-- 
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: issues-unsubscribe@brpc.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@brpc.apache.org
For additional commands, e-mail: issues-help@brpc.apache.org