-
Notifications
You must be signed in to change notification settings - Fork 15.5k
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 initialization with Visual Studio #4878
Fix initialization with Visual Studio #4878
Conversation
It appears that Visual Studio does not work well with std::once_flag because it has a bug causing it to initialize that during dynamic initialization instead of constant initialization. This change works around the problem by using function static initializers instead. @gerben-s originally wrote this change for the Google-internal codebase but I am just cherry-picking it here. This fixes protocolbuffers#4773.
Cool Change. I'm waiting for this. |
CC @jtattermusch (we will need a new patch release after this gets merged to be able to bump grpc's third_party/protobuf). |
Thanks for the fix! I've verified that the gRPC windows build works fine after applying this patch. When should we expect the v3.6.1 version to be tagged? |
@TeBoring Do you have any other fixes you want to include in the 3.6.1 release? If not then I can take the v3.6.1 version tomorrow and start working on that patch release. |
I am working on the php change to support php7.3. I can finish it tomorrow.
…On Tue, Jul 10, 2018 at 18:03 Adam Cozzette ***@***.***> wrote:
@TeBoring <https://github.com/TeBoring> Do you have any other fixes you
want to include in the 3.6.1 release? If not then I can take the v3.6.1
version tomorrow and start working on that patch release.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4878 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AE9H5WRjAanaDyzKeyUyW5wR3ciS8KJ9ks5uFU7sgaJpZM4VGHOn>
.
|
Hey, can you make a tag with the commits so far, say 3.6.0.2 |
I'm working on the 3.6.1 release now and so there will soon be a v3.6.1 tag with this fix. |
I'm suspecting this change is triggering a regression where importing tensorflow before or after pyarrow segfaults: see https://issues.apache.org/jira/browse/ARROW-3466 The traceback we're getting is the following (truncated):
I'm honestly not sure what to do with this. Could it be a build issue on our side? Should I open a bug for this? |
Work around a crash with tensorflow and protobuf 3.6.1. The change that triggered the crash seems to be the following: protocolbuffers/protobuf#4878
Work around a crash with tensorflow and protobuf 3.6.1. The change that triggered the crash seems to be the following: protocolbuffers/protobuf#4878
Ok, it was an issue on our side. We link protobuf statically through liborc, and some symbols were leaking because of a bug in our version script (see apache/arrow#2731), which got us crashing when libprotobuf.so is then loaded dynamically by tensorflow. |
It appears that Visual Studio does not work well with std::once_flag
because it has a bug causing it to initialize that during dynamic
initialization instead of constant initialization. This change works
around the problem by using function static initializers instead.
@gerben-s originally wrote this change for the Google-internal codebase
but I am just cherry-picking it here.
This fixes #4773.