Hi, I have maintained Boost.Thread during 2 years, fixing a lot of issues and adding a lot of new features. Unfortunately due to personal reasons I would have less time to maintain the Boost.Thread library in the near future. To avoid that the list of issues increase instead of decrease I would like to know if there are candidates that want to try to fix some of the current or future issues and provide patches for them. Best, Vicente
On Fri, Dec 6, 2013 at 10:34 PM, Vicente J. Botet Escriba
Hi,
I have maintained Boost.Thread during 2 years, fixing a lot of issues and adding a lot of new features. Unfortunately due to personal reasons I would have less time to maintain the Boost.Thread library in the near future.
To avoid that the list of issues increase instead of decrease I would like to know if there are candidates that want to try to fix some of the current or future issues and provide patches for them.
I'm not sure how much time I'd be able to devote but I'm interested in the library and at the very least would be happy to help in porting to Boost.Sync when the time comes. I'm not very familiar with the futures-related part of the library though. In any case, I'll be glad to offer help where I can.
Le 06/12/13 21:52, Andrey Semashev a écrit :
Hi,
I have maintained Boost.Thread during 2 years, fixing a lot of issues and adding a lot of new features. Unfortunately due to personal reasons I would have less time to maintain the Boost.Thread library in the near future.
To avoid that the list of issues increase instead of decrease I would like to know if there are candidates that want to try to fix some of the current or future issues and provide patches for them. I'm not sure how much time I'd be able to devote but I'm interested in
On Fri, Dec 6, 2013 at 10:34 PM, Vicente J. Botet Escriba
wrote: the library and at the very least would be happy to help in porting to Boost.Sync when the time comes. I'm not very familiar with the futures-related part of the library though. In any case, I'll be glad to offer help where I can.
Hi Andrey, you are an experienced Boost member and I'm sure you could do better that I did during these last two years. How about providing some patch for some of the older issues that I have not reached to solve? issues with dynamic libraries/tss. The future implementation is NOT stable. I don't know when the bug was introduced, but it appears clearly now on the regression test as I have wrapped the test on a loop to increase the change of error. I'm not requesting help on new features or refactoring, but on solving the current and future issues. If you want to port Boost.Thread to Boost.Synch I think the best is to create a Boost.Thread2 so that you would not have the compatibility constraint Boost.Thread has now. I think that you have already a good base on Boost.Sync. Best, Vicente
On Friday 06 December 2013 22:18:09 Vicente J. Botet Escriba wrote:
Le 06/12/13 21:52, Andrey Semashev a écrit :
On Fri, Dec 6, 2013 at 10:34 PM, Vicente J. Botet Escriba
How about providing some patch for some of the older issues that I have not reached to solve? issues with dynamic libraries/tss.
I have implemented the alternative TLS in Boost.Sync. I don't know if it has the same issues with Boost.Thread has, but I took most of the low level code for hooking at thread termination from Boost.Thread, so it's likely it has the same problems. I've taken a look at the Trac tickets and only found these two issues: https://svn.boost.org/trac/boost/ticket/4833 Thread termination hooks don't work with MinGW when Boost.Thread is linked statically. I don't have enough knowledge about MinGW internals to propose a solution. Maybe this configuration should simply be declared of limited support. https://svn.boost.org/trac/boost/ticket/3926 If I understood it correctly, the problem is that pthread_key_t cleanup function is registered from a dlopened .so, which is then unloaded while the thread that initialized the key is still running. I think, Boost.Sync is also susceptible for this. I'll try to find a solution, and if I find one, I'll prepare a patch for Boost.Thread. Or maybe Boost.Thread could be just ported to Boost.Sync TLS? As far as I can tell, it should be a drop-in replacement. Are there any other issues you're aware of?
I'm not requesting help on new features or refactoring, but on solving the current and future issues. If you want to port Boost.Thread to Boost.Synch I think the best is to create a Boost.Thread2 so that you would not have the compatibility constraint Boost.Thread has now. I think that you have already a good base on Boost.Sync.
Ok, so it'll be Boost.Async then, as someone suggested earlier. :) I just thought it would be wiser not to spread our efforts between Boost.Thread and Boost.Async and just have one library. The backward compatibility issue could be tackled with a suitable deprecation period for the old features.
On 6 Dec 2013 at 22:18, Vicente J. Botet Escriba wrote:
The future implementation is NOT stable. I don't know when the bug was introduced, but it appears clearly now on the regression test as I have wrapped the test on a loop to increase the change of error.
Sorry, can I clarify, are you saying that the futures implementation in present Boost.Thread is not reliable? Niall -- Currently unemployed and looking for work. Work Portfolio: http://careers.stackoverflow.com/nialldouglas/
Le 07/12/13 19:47, Niall Douglas a écrit :
On 6 Dec 2013 at 22:18, Vicente J. Botet Escriba wrote:
The future implementation is NOT stable. I don't know when the bug was introduced, but it appears clearly now on the regression test as I have wrapped the test on a loop to increase the change of error. Sorry, can I clarify, are you saying that the futures implementation in present Boost.Thread is not reliable?
This is what the regression test says :( I started to see this bug with the clang asan11 tester, but looping on the test shows that the problem is not limited to this particular configuration. I've worked hard to find out the issue but while I have found some minor issues, I have not reached to mix all the problems that appear now on the regression test. If you have time to take a look at, inspect the code I will appreciate. Now that we have git you can comment on any change I did. Best, Vicente
On 8 Dec 2013 at 18:56, Vicente J. Botet Escriba wrote:
Sorry, can I clarify, are you saying that the futures implementation in present Boost.Thread is not reliable?
This is what the regression test says :( [snip] If you have time to take a look at, inspect the code I will appreciate. Now that we have git you can comment on any change I did.
Hmm, that's very serious then. There is a rare race condition in AFIO I have not been able to find the source of. It could be this future bug. I'm relocating back to Europe next week and so will lose my workstation next week. Once it turns up in two months time, if this is still a bug I have a very strong incentive to find and fix it. Best I can offer for now, sorry. Niall -- Currently unemployed and looking for work. Work Portfolio: http://careers.stackoverflow.com/nialldouglas/
The future implementation is NOT stable. I don't know when the bug was introduced, but it appears clearly now on the regression test as I have wrapped the test on a loop to increase the change of error. Sorry, can I clarify, are you saying that the futures implementation in present Boost.Thread is not reliable?
This is what the regression test says :(
I started to see this bug with the clang asan11 tester, but looping on the test shows that the problem is not limited to this particular configuration.
I've worked hard to find out the issue but while I have found some minor issues, I have not reached to mix all the problems that appear now on the regression test.
btw, if the implementation used to work at one point and it is a regression, it should be possible to find the first broken commit using git-bisect ...
Le 09/12/13 19:02, tim a écrit :
The future implementation is NOT stable. I don't know when the bug was introduced, but it appears clearly now on the regression test as I have wrapped the test on a loop to increase the change of error. Sorry, can I clarify, are you saying that the futures implementation in present Boost.Thread is not reliable?
This is what the regression test says :(
I started to see this bug with the clang asan11 tester, but looping on the test shows that the problem is not limited to this particular configuration.
I've worked hard to find out the issue but while I have found some minor issues, I have not reached to mix all the problems that appear now on the regression test. btw, if the implementation used to work at one point and it is a regression, it should be possible to find the first broken commit using git-bisect ...
Right, this is my todo list. Vicente
participants (4)
-
Andrey Semashev
-
Niall Douglas
-
tim
-
Vicente J. Botet Escriba