-
Notifications
You must be signed in to change notification settings - Fork 48
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
Possible memorypool implementation problem #21
Comments
Hi samuel, thanks for the report ! Summary
Questions
Result
Here is a full result. Todo
|
Thanks for your fast reply Mr. Takayuki :) Sorry for my incomplete report, I will try to get you all the information you asked. But for now I only have time for some answers:
|
It seems that
No problem. It's a good report. This issue list is not for QA/Debug team, so smaller report is good start point 😄 Todo
|
Here are 4 logs from
Build environment:
Run environment:
Using the most recent version of The stall problem is getting me puzzled, I can't reproduce it always. I think it only happens when |
Thanks for the logs. I'm checking your report. 2a8ed67, I've resolved fb61bf3, I've resolved
Todo
|
MEMO TO ME The GNU C++ Library c++ - std::thread problems - Stack Overflow |
MEMO Bug 327881 - False Positive Warning on std::atomic_bool ( helgrind @ valgrind 3.9.0 ) valgrind-variant
I still did not investigate this issue, but I believe there are real problems and false positives. |
MEMO GCC Bugzilla - Bug 51504 Current state of drd and helgrind support for std::thread |
For me (@t-mat) - investigate about progschj / ThreadPool - Deadlock spotted! #11
|
I am having problems running lz4mt, specifically when decompressing, it stalls at some point.
Using valgrind and 3 of its different tools (memcheck, helgrind and DRD) all of them stop when decompressing with errors:
-memcheck: complains about invalid reads and writes and ends with a "Syscall param futex(futex) points to unaddressable byte(s)". All of these errors say that some address is inside a block of size 240 free'd.
-helgrind: complains about possible data races when reading or writing by a given thread
-DRD: same as helgrind but different description, complains about conflicting load/store by a given thread
These stalls are definitely happening with lz4mtdecompress in multithread mode. With the single thread mode I am not sure yet.
Common line on the output by the 3 tools:
==procID== by 0xADDRESS lz4mtDecompress::{lambda(int, Lz4Mt::MemPool::Buffer*, bool, unsigned int)#1}::operator()(int, Lz4Mt::MemPool::Buffer*, bool, unsigned int)
I've tested with both gcc 4.7.2 and gcc 4.8.1, locally on my laptop running archlinux with recent packages (linux 3.11.1), and remotely on a cluster running centos with older linux 2.6.18.
The text was updated successfully, but these errors were encountered: