Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix "sched_to itself" error when building by Clang on Linux aarch64 #1950

Merged
merged 1 commit into from
Oct 14, 2022
Merged

Fix "sched_to itself" error when building by Clang on Linux aarch64 #1950

merged 1 commit into from
Oct 14, 2022

Conversation

adonis0147
Copy link
Contributor

修复在Linux aarch64平台上用Clang编译器编译,运行时报出来的sched_to itself错误。

项目:Apache Doris
平台:Ubuntu 22.04 aarch64
编译器:Ubuntu clang version 14.0.0-1ubuntu1
验证:用clang编译后跑UT,./run-be-ut.sh --run

@@ -248,6 +248,10 @@ int TaskGroup::init(size_t runqueue_capacity) {
return 0;
}

#if defined (__linux__) && defined (__aarch64__)
#pragma clang optimize off
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

给函数声明加上__attribute__((optnone))会不会更简单一些。

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

只给这俩函数加会不会不够。其它用到tls、且存在bthread切换的代码也可能会有类似的问题

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

能否找出clang具体是哪个优化选项导致了这个问题

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

给函数声明加上__attribute__((optnone))会不会更简单一些。

嗯,我试试看。

只给这俩函数加会不会不够。其它用到tls、且存在bthread切换的代码也可能会有类似的问题

这个我不太确定,最开始我是禁止Clang优化整个src/bthread/task_group.cpp,发现可以。然后经过不断尝试,直到发现只需要禁止这2个函数,在我们的场景下就可以成功运行。

能否找出clang具体是哪个优化选项导致了这个问题

这个目前不清楚。。。

@wwbmmm wwbmmm merged commit 11b2f52 into apache:master Oct 14, 2022
@adonis0147 adonis0147 deleted the clang-aarch64 branch October 14, 2022 08:19
guodongxiaren added a commit to guodongxiaren/incubator-brpc that referenced this pull request Nov 21, 2022
* enable brpc use rdma

* Fix override issue in pb 3.21

* fix rpc_replay can't send request equably (apache#1910)

* fix rpc_replay can't send request equably

* 类型修改

* fix coredump cause by uri like 'host:port/hotspots/growth_non_responsive?console=abc' (apache#1278)

* expose logging::PrintLog

* Support -escape_log

* Fix thrift_message pb override issue

* Chore: rework Bazel build system

* remove white space from default value of bvar_dump_tabs

* Update oncall.md

* Fix not to abort when checking the errorno with unicode string (apache#1142)

* fix a typo in grpc protocol (apache#1924)

* fix a typo in grpc protocol

* ERESPONSE->EREQUEST

Co-authored-by: 薛传宇 <xuechuanyu@cmss.chinamobile.com>

* [user-cases] add Apache Doris user case

* add nacos naming service (apache#1922)

* [document] Add vcpkg instruction step (apache#1925)

* http response uses brpc error code (apache#1927)

* http response uses brpc error code

* add gflag for using http error code

* add unit test of http error code

* Update Oncall record

* Fix bvar compile error (apache#1937)

* Fix bug butex_wait failed with timeout (apache#1917)

* Fix bug butex_wait failed with timeout

Co-authored-by: XiguoHu <huxiguo@baidu.com>

* fix issues in FlatMap

* Update release_cn.md

* brpc在BaikalDB中的应用

* Update getting_started.md

* fix(rpc_replay) continue when failed to init channel (apache#1938)

* fix(rpc_replay) continue when failed to init channel

* check supported_connection_type

* check supported_connection_type

* check supported_connection_type

* fix lint

* Update cases.md (apache#1944)

* fix rpc_press.md (apache#1942)

Signed-off-by: fan <yfan3763@gmail.com>

Signed-off-by: fan <yfan3763@gmail.com>

* fix typo in json2pb doc (apache#1939)

* Update oncall.md (apache#1949)

* Update release_cn.md

* Update RELEASE_VERSION

* Update CMakeLists.txt

* Update brpc.spec

* Update release_cn.md

* Update release_cn.md

* Update release_cn.md

* add pull_request_template.md (apache#1952)

Signed-off-by: fan <yfan3763@gmail.com>

Signed-off-by: fan <yfan3763@gmail.com>

* Fix the linkage errors caused by duplicate symbols (apache#1936)

* Fix "sched_to itself" error when buidling by Clang on Linux aarch64 (apache#1950)

* docs: fix some typos

Signed-off-by: cui fliter <imcusg@gmail.com>

* Fix source file mode

* rpm: support RHEL9

* Update oncall.md

* Update newcommitter.md

* fix arena cleared early when parse redis message

* community: Update oncall.md (apache#1960)

Co-authored-by: lei.li <lei.li@clickzetta.com>

* Reduce UT log output

* Update release_cn.md

* Update release_cn.md

Update brpc's brief introduction in Announce mail.

* Update release_cn.md

* Macos workflow (#10)

* fix typo

* delete bazel from mac workflow

* fix exceptation value for mac ut

* delete test

* Create ci_linux.yml

* Update ci_linux.yml

* Update ci_linux.yml

* Update ci_linux.yml

* Update ci_linux.yml

* Update ci_linux.yml

* Update ci_linux.yml

* Update ci_linux.yml

* Update ci_linux.yml

* Update ci_linux.yml

* Update ci_linux.yml

Signed-off-by: fan <yfan3763@gmail.com>
Signed-off-by: cui fliter <imcusg@gmail.com>
Co-authored-by: Tuvie <lizhaogeng1989@gmail.com>
Co-authored-by: wwbmmm <wwbmmm@163.com>
Co-authored-by: bumingchun <bumingchun@126.com>
Co-authored-by: Yingchun Lai <acelyc1112009@gmail.com>
Co-authored-by: gejun.0 <gejun.0@bytedance.com>
Co-authored-by: Jiashun Zhu <zhujiashun2010@gmail.com>
Co-authored-by: Shuai Zhang <zhangshuai.ustc@gmail.com>
Co-authored-by: yyweii <thymene@gmail.com>
Co-authored-by: tobe <tobeg3oogle@gmail.com>
Co-authored-by: bbbezxcy <bbezxcy@qq.com>
Co-authored-by: 薛传宇 <xuechuanyu@cmss.chinamobile.com>
Co-authored-by: morningman <morningman@163.com>
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
Co-authored-by: Tanzhongyi(Jerry Tan) <jerrytan@apache.org>
Co-authored-by: chenBright <chenguangming@bigo.sg>
Co-authored-by: lei he <lhestz@163.com>
Co-authored-by: Chengx <chengxiang085@gmail.com>
Co-authored-by: HU <uestc.hugo@gmail.com>
Co-authored-by: XiguoHu <huxiguo@baidu.com>
Co-authored-by: Tao Liu <liutao04@baidu.com>
Co-authored-by: day253 <9634619+day253@users.noreply.github.com>
Co-authored-by: ds <ehds@qq.com>
Co-authored-by: fan <75058860+fansehep@users.noreply.github.com>
Co-authored-by: serverglen <serverglen@gmail.com>
Co-authored-by: Adonis Ling <adonis0147@gmail.com>
Co-authored-by: cui fliter <imcusg@gmail.com>
Co-authored-by: Xiaofeng Wang <wasphin@gmail.com>
Co-authored-by: jiumei <jiumei@xiaohongshu.com>
Co-authored-by: LorinLee <lorinlee1996@gmail.com>
Co-authored-by: lei.li <lei.li@clickzetta.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants