The m_nLastError member is written by reader and writer thread -> helgrind reports a data races. I'd suggest to use two separate members, one for read errors, one for write errors.
4.1 branch is EOL, as 4.2, 4.3 and soon 4.4 branch. Please test with a recent LO version (last one is 5.0.2).
Issue also affects 5.0.3.1 source code.
Thank you for your feedback but could you be more specific? Which Linux distrib do you use? Which test did you do? (except you used Helgrind, there's nothing) Could http://cgit.freedesktop.org/libreoffice/core/commit/?id=309aa845a8e413519d634680aff112a3567e2e61 help here?
The same socket object is used by the reader and writer threads that handle UNO IPC. The reader thread processes incoming IPC requests and uses socket read operations, the writer thread sends outgoing IPCs and replies and uses socket write operations. But both socket read and write operations access the same m_nLastError member in the socket. Since reader and writer thread write the same member, helgrind reports data races on m_nLastError.
Thank you for your feedback. Since I've got no more questions, I put it back to UNCONFIRMED. Stephan: thought you might be interested in this one since it concerns UNO part.
(In reply to straub from comment #0) > The m_nLastError member is written by reader and writer thread -> helgrind > reports a data races. I'd suggest to use two separate members, one for read > errors, one for write errors. I assume you mean the oslSocketImpl::m_nLastError (sal/osl/unx/sockimpl.hxx) member, as used in the sal/osl/unx/socket.cxx implementation of the osl/socket.h functionality, and the reader and writer threads of the binary URP implementation, binaryurp/source/{reader,writer}.hxx. Splitting oslSocketImpl::m_nLastError would not be trivial, as there is only a single osl_getLastSocketError function in the stable URE interface. The reader/writer threads access the shared socket through a css::connection::XConnection UNO object, implemented in io/source/connector/ctr_socket.cxx. The general requirement for UNO objects is to be thread safe (for better or worse), so one could naively argue that that implementation should take care of using its m_socket member in a way that ensures that concurrent use of m_nLastError in the underlying socket implementation cannot happen. However, that would not work, as osl_send/receiveSocket are blocking. It looks like the osl/socket.h abstraction is broken.
** Please read this message in its entirety before responding ** To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present on a currently supported version of LibreOffice (5.2.5 or 5.3.0 https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the version of LibreOffice and your operating system, and any changes you see in the bug behavior If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a short comment that includes your version of LibreOffice and Operating System Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) http://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to "inherited from OOo"; 4b. If the bug was not present in 3.3 - add "regression" to keyword Feel free to come ask questions or to say hello in our QA chat: http://webchat.freenode.net/?channels=libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug-20170306
Still present in LibreOffice 6 codestream.
Dear straub, To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from http://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://kiwiirc.com/nextclient/irc.freenode.net/#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug
I verified that this bug is present in the OOo source code and has been inherited from there.
Dear straub, To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://web.libera.chat/?settings=#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug
Still present in master