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

Workaround libstdcpp TLS error #19010

Merged
merged 1 commit into from
Oct 19, 2021
Merged

Conversation

potiuk
Copy link
Member

@potiuk potiuk commented Oct 15, 2021

Workaround #17546 issue with
/usr/lib/x86_64-linux-gnu/libstdc++.so.6: cannot allocate memory in
static TLS block.

We do not yet a more "correct" solution to the problem but in order to
avoid raising new issues by users of the prod image, we implement the
workaround now.

The side effect of this is slightly (in the range of 100s of
milliseconds) slower load for any binary started and a little memory
used for Heap allocated by initialization of libstdc++.

This overhead is not happening for binaries that already link
dynamically libstdc++.


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.

Workaround apache#17546 issue with
/usr/lib/x86_64-linux-gnu/libstdc++.so.6: cannot allocate memory in
static TLS block.

We do not yet a more "correct" solution to the problem but in order to
avoid raising new issues by users of the prod image, we implement the
workaround now.

The side effect of this is slightly (in the range of 100s of
milliseconds) slower load for any binary started and a little memory
used for Heap allocated by initialization of libstdc++.

This overhead is not happening for binaries that already link
dynamically libstdc++.
@potiuk potiuk requested a review from ashb as a code owner October 15, 2021 14:10
@boring-cyborg boring-cyborg bot added area:dev-tools area:production-image Production image improvements and fixes labels Oct 15, 2021
@potiuk potiuk requested review from jedcunningham and kaxil October 15, 2021 14:10
@potiuk potiuk added this to the Airflow 2.2.1 milestone Oct 15, 2021
@potiuk
Copy link
Member Author

potiuk commented Oct 15, 2021

Hey @kaxil @jedcunningham - seems that more and more people have the problem with libstdc++ - this one should workaround it until we find a "proper" fix - with limited "overhead" introduced, I think we should cherry-pick it to include it in 2.2.1

@potiuk
Copy link
Member Author

potiuk commented Oct 15, 2021

(not sure If I will be around to merge it :D

@github-actions
Copy link

The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease.

@github-actions github-actions bot added the full tests needed We need to run full set of tests for this PR to merge label Oct 19, 2021
@potiuk potiuk merged commit 8858309 into apache:main Oct 19, 2021
@potiuk potiuk deleted the workaround-libcpp-tls-error branch October 19, 2021 01:03
jedcunningham pushed a commit that referenced this pull request Oct 20, 2021
Workaround #17546 issue with
/usr/lib/x86_64-linux-gnu/libstdc++.so.6: cannot allocate memory in
static TLS block.

We do not yet a more "correct" solution to the problem but in order to
avoid raising new issues by users of the prod image, we implement the
workaround now.

The side effect of this is slightly (in the range of 100s of
milliseconds) slower load for any binary started and a little memory
used for Heap allocated by initialization of libstdc++.

This overhead is not happening for binaries that already link
dynamically libstdc++.

(cherry picked from commit 8858309)
sharon2719 pushed a commit to sharon2719/airflow that referenced this pull request Oct 27, 2021
Workaround apache#17546 issue with
/usr/lib/x86_64-linux-gnu/libstdc++.so.6: cannot allocate memory in
static TLS block.

We do not yet a more "correct" solution to the problem but in order to
avoid raising new issues by users of the prod image, we implement the
workaround now.

The side effect of this is slightly (in the range of 100s of
milliseconds) slower load for any binary started and a little memory
used for Heap allocated by initialization of libstdc++.

This overhead is not happening for binaries that already link
dynamically libstdc++.
@jedcunningham jedcunningham added the type:bug-fix Changelog: Bug Fixes label Apr 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:dev-tools area:production-image Production image improvements and fixes full tests needed We need to run full set of tests for this PR to merge type:bug-fix Changelog: Bug Fixes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants