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

Problem with building 2016-08-24 at origin/master and crash in TwowayCallback::timeoutExpired #169

Closed
windless0530 opened this issue Aug 24, 2016 · 2 comments

Comments

@windless0530
Copy link

When doing 'make', the following error occurs:

make[3]: Entering directory `/home/ubuntu/package/fbthrift/thrift/lib/cpp2'
PYTHONPATH=../../.python-local/lib/python /usr/bin/python -mthrift_compiler.main --gen cpp2 Sasl.thrift
/usr/bin/python: /home/ubuntu/package/fbthrift/thrift/.python-local/lib/python/thrift_py-0.9.0-py2.7.egg/thrift_compiler/frontend.so: undefined symbol: _ZN5folly6detail11formatOctalE
make[3]: *** [gen-cpp2/Sasl_types.h] Error 1

BTW:

  1. thrift codes are located at /home/ubuntu/package/fbthrift.
  2. The codes under build/deps/folly, which were automatically git-pulled by thrift (HEAD detached at v0.57.0) does not define variable 'RequestContextScopeGuard', while the folly codes on origin/master does. If I make and make install the build/deps/folly and then make thrift, errors occur that 'RequestContextScopeGuard' is not defined. So I manually pulled the latest folly code on origin/master into another directory and make and make install, and then make thrift, but the above error occurs. Then I have no idea what to do next.
  3. In fact, what I want to do is trying to solve a crash problem in my code, which is currently using folly+thrift several months ago, the crash occurs at TwowayCallback::timeoutExpired:
    X_CHECK_STATE_EQ(recvState_, QState::QUEUED);
    the above assert failed, which seems that some other function that changed recvState_ had been called by folly before TwowayCallback::timeoutExpired, so I consider it to be some cooperating error between folly and thrift. I wonder if my judgement is right.
@lukenels
Copy link

For the build error, check out the problems discussed in #167, and, in particular, @zleho's patch.

@windless0530
Copy link
Author

I finally ignored the building problem, and solved the crash by simply add "return" before the equal-check if the callback recv-state is already "DONE". I don't know why it happened that one callback be called timeoutExpired() twice by folly, but it seemed that the simply ignoring the second call leads to no problem.

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

No branches or pull requests

2 participants