Fix error: cannot allocate memory in static TLS block#4776
Fix error: cannot allocate memory in static TLS block#4776typhoonzero merged 1 commit intoPaddlePaddle:developfrom
Conversation
dzhwinter
left a comment
There was a problem hiding this comment.
LGTM.
Please merge this fix ASAP.
|
If the TLS table explode is caused by Glog, many other packages may depend on the original one without the specific tag, which may cause same error in the future easily. BTW, I find some document says compiler may limit the TLS table size. Is it possible add one compile option? https://gcc.gnu.org/onlinedocs/gcc/Thread-Local.html#Thread-Local
|
|
From my limited understanding the TLS size is a |
|
Thanks for this fix. It is a hacker's work! |
Fixes: #4358 #4775
The error message is:
The error is complaining the thread-local storage (TLS) is not enough. The reason should be glog added a commit that vastly increased the thread-local size. When
WITH_GOLANGis ON, glog is compiled twice (once for paddle, once for the go static library), making the tread-local storage exploded.The fix is we use a release tag of glog with not contain that commit.