-
Notifications
You must be signed in to change notification settings - Fork 275
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
Assertion `get_segment(i) < allocated_segments_' failed #78
Comments
Hi @ovss! I think this could be a bug in the table. Would you be able to provide a stack trace, or ever better a short code sample that re-produces the issue? |
I expect to implement a thrift non-blocking server with a thread pool. 0x000000000040d2b0 in std::_Base_bitset<1ul>::_M_getword (this=0x7ffff613b0d8) at /usr/include/c++/5/bitset:411 #0 0x000000000040d2b0 in std::_Base_bitset<1ul>::_M_getword (this=0x7ffff613b0d8) at /usr/include/c++/5/bitset:411 |
Let me specify the problem. I try to implement a concurrency control protocol on top of thrift non-blocking server. To keep track the write key set of the transaction, I use a variable, as cuckoohash_map<TransactionId, std::unordered_set, CityHasher> write_key. And I invoke function write_key.find(tid, key_set); Thank you. |
I see. Sorry for the late reply. I'm currently rewriting some of the locking code, which might fix your issue. I'll let you know when I have an update merged into master. Thanks! |
Could you try the latest version of master? |
I try the least version of master and I got the following error. #0 0x00000000004159fc in std::atomic_flag::test_and_set (__m=std::memory_order_acq_rel, this=0x1195c0) at /usr/include/c++/5/bits/atomic_base.h:176 |
This looks like some sort of memory corruption. I noticed one of your locals read Are you perhaps rehashing the table to a very large value, or somehow letting the table grow too large? Would you mind pasting the code you ran that reproduces the issue? Thanks! |
Closing this for now. Let me know if you're still having issues. |
There is a member variable in a class, defined as cuckoohash_map<Key, std::shared_ptr, CityHasher> versions.
I try to call versions.find(key, ret). However I got "Assertion `get_segment(i) < allocated_segments_' failed". Can you give me some hints about why it happens? Thank you.
The text was updated successfully, but these errors were encountered: