activemq-cpp
activemq-cpp copied to clipboard
Move timer objects to the end of member list
In high CPU load it can happen, that Timer thread wakes up,
is swapped out, and when application resumes it does not resume with timer
thread, but transport thread, that decides to do failover, destroys
InactivityMonitor
object. When its members are getting destroyed,
they arrive at Timer
object that joins, timer thread resumes in
writeCheck
or readCheck
method, only to find out asyncTasks
is already
destroyed because it comes later in member declaration list so it was
destroyed first. Moving Timer
object to the end of the list, guarantees
that they will be destroyed first, so their threads will get joined and
allowed to finish, before the rest of the object is destroyed.
Closes AMQCPP-626
Guys. Is there anything that needs to happen, so this PR gets some (any) attention?
Just wait and keep patient, or maybe you would like to send an email to the master.
Needing to wait almost three weeks for a patch for a serious, crash-causing, race-condition to receive any attention, doesn't exactly build trust in a library. I have sent 2 emails to dev list, as well as logged JIRA. Not sure what (who?) the "master" is, but I feel like I've done enough. Thank you for the tip tho. I'll just wait and keep being patient.
@tabish121
@Pingmin thank you for trying, but after one month with no reaction whatsoever, and more than a year since last release, I should probably come to a conclusion that this project is effectively abandoned.
@unjello I don't think so and we don't want to see that. Maybe He is too busy in these months...
Many years later. Any news?
Good luck @unjello ! I was about to do a PR to update zlib and get rid of a CVE alert we have. I don't think I'll waste time with that.
Hi @unjello @sandym
I'm an ActiveMQ committer and would be able to help modernize. My C++ is a bit rusty, so I'd need an assist. I think first step would be to modernize the tool chain (add git action and jenkins file to get some automated build testing going.
Would either of you be able to assist in PRs for that?